El derecho a ejecutar un nodo (5 de junio de 2020)

Craig Wright | 05 Jun 2020

El problema que existe hoy en día en el entorno de Bitcoin recuerda a la sociedad en general. Durante muchos años, hemos estado predicando falsamente un mito de la igualdad donde decimos a los niños que «no importa» siempre que participen. Denigramos a los que lo hacen bien, a los que trabajan duro y a los que lo logran y se sacrifican en el altar de la igualdad. El culto por la igualdad se ha infiltrado en la sociedad hasta tal punto que ahora tratamos de enseñar a las personas desde la infancia que son especiales porque realmente se esforzaron mucho. Con tales fines, damos premios no sólo al primero sino al último.

Al hacerlo, no apoyamos a los que fracasan, sino que denigramos el éxito. Por cada persona a la que premiamos y lo celebramos por el mero hecho de haberlo intentado, desincentivamos a alguien que no sólo lo habría intentado, sino que habría sobresalido y se habría esforzado por mejorar la humanidad. Y ése es el punto: no hay derecho al éxito. No hay derecho a la felicidad. Los padres fundadores de Estados Unidos hablaban del derecho a la búsqueda de la felicidad, una idea que contradice un concepto fundamentalmente diferente al que se promueve ahora.

Aquí yace la falsa dicotomía que vemos dentro de Bitcoin y los sistemas asociados. Vemos un ataque a los fundamentos de la naturaleza competitiva de Bitcoin por parte de aquéllos que dicen que todo el mundo tiene derecho. ¿Pero derecho a qué, exactamente?

Empezaremos con aquello a lo que tú tienes derecho. El sistema que he creado con Bitcoin da a cada individuo el derecho a intentar ejecutar un nodo. He definido un nodo muchas veces, y está explicado con claridad en el documento técnico como un sistema que no sólo propaga bloques y transacciones sino que crea bloques que son aceptados por el grupo de consenso. Como tal, a menos que crees bloques periódicamente, como mínimo una vez cada quince días, no estás ejecutando un nodo. Decir que se ha ejecutado un nodo, dentro de cualquier período de dificultad, significa que se debe haber encontrado un bloque dentro del marco temporal dado. Hay 2016 bloques descubiertos en cada periodo de dificultad en la distribución base de Bitcoin.

Por consiguiente, nunca puede haber más de 2016 nodos en ningún periodo de dificultad. Puede haber más nodos candidatos, que buscan actuar como nodos pero no superan el corte. La realidad, sin embargo, es mucho más sutil; la distribución nunca será igual dentro de Bitcoin. La realidad es que más del 95% del descubrimiento de bloques en cualquier momento está asociado con una cantidad de entre 10 y 12 entidades (nodos), dejando sólo 100 bloques para que puedan descubrirlos otros nodos. Podemos extender el escenario más allá: el 99% del descubrimiento de bloques se asocia consistentemente con unos veinte jugadores principales, o incluso menos. En cualquier período de dificultad, únicamente veinte bloques pueden descubrirse fuera de ese 99% de nodos dominantes. Por consiguiente, como máximo, nunca habrá más de cincuenta nodos reales en la red de Bitcoin.

Puedo decirlo categóricamente, porque la definición de un nodo de Bitcoin es muy simple: un nodo de Bitcoin crea y propaga bloques válidos. Cualquier sistema que no esté propagando los bloques que ha creado no es un nodo.

La analogía podemos verla en nuestra actual generación de padres sobreprotectores, que piensan que su pobre pequeño merece un premio porque logró terminar la carrera de cien metros en sólo cinco horas, mientras se llenaba la cara de helado. Puedes considerar que estás ayudando a la red porque estás ejecutando el software para nodos. Sin embargo, si no estás creando bloques en cada período de dificultad, entonces no estás ayudando a propagar los bloques; no estás ayudando en absoluto. Realmente no importa si quieres ayudar. Es completamente irrelevante. No tienes derecho a ejecutar un nodo de Bitcoin; tienes derecho a intentar ejecutar un nodo de Bitcoin.

La red no está diseñada para subvencionar tu deseo. Realmente no importa si deseas ejecutar un nodo de Bitcoin más que nada en el mundo; si no estás invirtiendo el tiempo, el esfuerzo y el capital necesarios, entonces no estás en absoluto participando en la carrera.

El sistema en Bitcoin Core (BTC), un nombre que utilizo libremente ya que BTC es cualquier cosa menos Bitcoin hoy en día, ha representado una filosofía de igualdad. Hay significados separados de igualdad. El culto a la igualdad ha pasado por alto todos ellos. Ignoramos el hecho de que hay una diferencia de mercado entre los significados de la palabra. Hay igualdad de oportunidades y hay igualdad de resultados. Estas simples diferencias llevan a una filosofía de vida completamente diferente.

Querer una igualdad de resultados es la postura de los que buscan el comunismo y el socialismo y los derechos colectivos. Representa un sistema que desincentiva a cualquiera a arriesgarse o a construir algo grande, ya que el resultado será que se le tratará igual que a todos los demás. ¿Por qué gastarías tu tiempo y esfuerzo entrenando para ser un atleta olímpico, cuando no obtendrás ningún beneficio o reconocimiento diferente al del chico gordo que llegue el último?

Bitcoin, como la vida, no es un sistema justo en la forma en que algunas personas parecen querer que lo sea. Bitcoin es justo en el sentido de que el conjunto de reglas está definido, y cualquiera puede entrar en el sistema y probar su jugada. Esto no significa que vaya a tener éxito. Lo cual es una parte importante de Bitcoin. La mayoría de las personas que intenten unirse a la red y ejecutar un nodo fallarán, lo cual es algo bueno. Bitcoin no está ahí para permitirte ejecutar nodos. El propósito de Bitcoin es permitir la transmisión de tokens digitales que pueden ser usados como dinero en efectivo. El propósito de Bitcoin es permitirlo, de forma que proporcione un intercambio de bajo coste, tan bajo que se puedan realizar micropagos.

Los nodos son competitivos. La competencia es necesaria porque sin ella no hay incentivo para invertir en el sistema. Cualquier nodo de la red de Bitcoin puede ser suplantado por otro. En otras palabras, sólo porque seas la corporación dominante hoy no significa que lo seas mañana.

Bitcoin NO consiste en ejecutar un nodo

El objetivo de Bitcoin era permitir a los usuarios ser usuarios. Si todo el mundo debe ser capaz de ejecutar un nodo y de gestionar centros de datos y mantener los sistemas necesarios para permitir el intercambio de pequeñas cantidades de dinero, no hay ningún propósito en tener Bitcoin.

«Un usuario sólo necesita guardar una copia de las cabeceras de bloque de la cadena de prueba de trabajo más larga, que puede obtener consultando los nodos de la red, hasta que se convenza de que tiene la cadena más larga, y obtener la rama de Merkle que vincula la transacción al bloque en el que se ha puesto un sello de tiempo. No puede comprobar la transacción por sí mismo, pero al vincularla a un lugar de la cadena, puede ver que un nodo de la red la ha aceptado, y los bloques añadidos después confirman que la red la ha aceptado».

Hay una razón por la que las transacciones de Bitcoin se publican, mientras que las cabeceras de los bloques se pueden mantener con poco esfuerzo y se pueden comprobar en cualquier momento. Los usuarios de la verificación de pagos simplificada (SPV) mantienen una lista completa de todos los índices de transacciones si así lo desean. De este modo, pueden validar rápidamente los cambios en la cadena de bloques. Al mantener una lista de los hashes de bloque, es posible determinar cuándo se hizo un cambio en la cadena de bloques y actuar en consecuencia. No es necesario mantener toda la cadena de bloques para hacerlo.

De hecho, no se gana en seguridad al hacerlo. La única diferencia que proporciona el hecho de tener toda la cadena de bloques descargada en tu máquina, en contra de mantener sólo las cabeceras de los bloques, se produce en el caso de que el algoritmo de hashing en Bitcoin sea alguna vez crackeado, pues entonces dispones de la totalidad de la cadena. Sin embargo, se trata de un escenario defectuoso. En el caso de que se descubra que el algoritmo de hashing de Bitcoin no tiene seguridad, ya no importará si tienes una copia completa de la cadena de bloques, ya que el sistema en sí mismo no tendrá seguridad. Por consiguiente, el mero hecho de mantener una copia de los hashes de bloque es un registro completo en un momento dado. Cualquier cambio que ocurra puede ser auditado y revisado por aquellos que tienen una cantidad mínima de información.

En el documento técnico, expliqué: «Las empresas que reciben pagos frecuentes probablemente seguirán queriendo ejecutar sus propios nodos para una seguridad más independiente y una verificación más rápida». La idea no implicaba que las empresas ayudarían a la red ejecutando un nodo. Más bien, los comerciantes que ejecutan un nodo que no se espera que descubra bloques lo hacen para su propio beneficio. No están añadiendo ninguna seguridad, ni ayudando a propagar transacciones o bloques a través de la red. Más bien, esos sistemas, que mantienen una copia completa del conjunto de UTXO, están minimizando las propias pérdidas de los comerciantes cuando necesitan realizar transacciones muy rápidamente. Se trata de un servicio que los grandes comerciantes que realizan transacciones no confirmadas pueden querer poner en marcha para reducir al mínimo las pérdidas asociadas a las personas que intenten cometer un fraude.

Las reglas están grabadas en piedra

La «regla de la cadena más larga» no significa que puedas establecer un nodo que cambie las reglas.

«Mientras que los nodos de la red pueden verificar las transacciones por sí mismos, el método simplificado puede ser engañado por las transacciones fabricadas por un atacante mientras éste pueda seguir dominando la red. Una estrategia para protegerse contra esto sería aceptar las alertas de los nodos de la red cuando detectan un bloque inválido, lo que hace que el software del usuario descargue el bloque completo y alerte de las transacciones para confirmar la inconsistencia» [énfasis añadido].

Cuando configuré la clave de alerta, no era una idea nueva. La clave de alerta era algo que había estado considerando antes de lanzar el software de Bitcoin en 2009. El concepto se menciona en el documento técnico. De nuevo, por nodos de red nos referimos a los nodos definidos en la sección 5, que crean bloques. Los usuarios no pueden enviar alertas; sería posible crear un sistema de alertas que permitiera a los comerciantes actualizar los nodos de la red. En el futuro, el escenario puede ampliarse para permitir que los tribunales y las fuerzas del orden envíen notificaciones a los operadores de nodos.

Un atacante que logre dominar la red deja un rastro de auditoría fácil de seguir. Los nodos de la red siempre estuvieron destinados a terminar en centros de datos, lo que ya sucede hoy. Es sencillo decir que se requiere una inversión de cientos de millones de dólares o más para ser un nodo. Esa inversión es fácil de rastrear, y si se ataca la red, es una inversión que se le quita fácilmente. Tal es el punto de Bitcoin: trabajas con la red, o la red trabaja en tu contra. Un atacante potencial no gana atacando a Bitcoin, porque pierde su inversión.

El método de consenso de Bitcoin

Es muy simple; hay un método de consenso en Bitcoin: los mineros o los nodos o los sistemas de verificación de transacciones o lo que se quiera llamar «nodos» votan sobre la aplicación de las reglas. Ellos no crean las reglas. No alteran las reglas. Hacen cumplir las reglas.

Cualquier regla e incentivo necesario puede ser aplicado con este mecanismo de consenso [énfasis añadido].

No importa cuántos sistemas de usuario existan en la red, toda la propagación proviene de los sistemas comerciales. Existe el mito de que la red central de Bitcoin tiene 10.000 nodos, lo que no podría encontrarse más lejos de la verdad. Es raro tener incluso 50 nodos en la red de BTC. Sólo veinte de ellos hacen algo. En toda la historia de Bitcoin, los únicos nodos que han hecho algún trabajo de propagación son los que están creando bloques. Si investiga el procesamiento de transacciones de tal trabajo, descubrirá que cada transacción que se incorpora a un bloque se transmite del usuario original a los nodos de la red, que envían a los nodos restantes de la red.

En ningún momento los nodos de la red reciben transacciones de Bitcoin de entidades que no crean bloques. Si se investiga la propagación de cada una de las transacciones en la red de BTC, se verá que la propagación a los nodos de la red se produce en dos saltos.

El primer salto es el envío de la transacción de las partes que realizan la transacción a los nodos de la red.

El segundo salto implica que un nodo de la red transmite a los nodos de la red restantes.

No hay ningún punto dentro de la red de Bitcoin, o de cualquier red de cadena de bloques, en el que una transmisión implique cualquier sistema que no sea un nodo de la red. Los nodos de la red invierten en conexiones rápidas a Internet y máquinas rápidas. Lo hacen porque es la única manera de hacer dinero. Los que no lo hacen se van a la quiebra muy rápidamente. Lo que queda es que los nodos de la red en Bitcoin propaguen las transacciones entre ellos más rápido de lo que un usuario doméstico o un «nodo Raspberry Pi» tarda incluso en aceptar una transacción.

Una vez que un nodo ha recibido una transacción, no recibirá otra transacción que incorpore los mismos valores de entrada o UTXOs. Por consiguiente, la transmisión posterior de la transacción desde un «nodo no perteneciente a la red» resulta irrelevante. De hecho, el único momento en que un «nodo no perteneciente a la red» puede transmitir una transacción a un nodo de la red es cuando el sistema intenta propagar un doble gasto. En este caso, el hash de la transacción será diferente del ID de la transacción existente que se mantiene en el nodo de la red, y se solicitará la transacción completa. El nodo de red tendrá entonces una copia de la transacción con entradas de doble gasto. El nodo de red no la propagará, ni la validará, ni la añadirá nunca a un bloque.

El mecanismo de consenso en Bitcoin es muy simple. Es la propagación de un bloque completo. Los no nodos, incluyendo todos los Raspberry Pis propagados dentro del sistema y vendidos por una variedad de actores nefastos que buscan engañar y embaucar a los individuos para que se separen de su dinero sin una buena razón, no participan en el mecanismo de consenso de Bitcoin. Los sistemas de soft fork activados por el usuario (UASF) no forman parte de la red de Bitcoin de ninguna manera, lo cual es simple de determinar: el único mecanismo de consenso en Bitcoin proviene de la propagación de bloques. Un sistema que no propaga un bloque no tiene nada que decir.

Un sistema que no propaga un bloque no puede ser censurado por otros sistemas.

La única forma de tener voz y voto en el orden de las transacciones en Bitcoin es crear bloques.

No se trata de lo que tú quieras

Así pues, simplemente, no importa si quieres ayudar a la red. Bitcoin tiene un conjunto definido de reglas, y está construido para que siempre termine en un sistema comercial. Cuando se habla de BTC y el equipo de Core, Ethereum, o cualquiera de las otras monedas y sistemas que intentaron copiar Bitcoin sin que los grupos detrás de ellos lo entendieran, o incluso el propio Bitcoin (BSV), lo que hay que tener en cuenta es que sólo se está ejecutando un nodo si se consigue crear bloques.

No tienes derecho a ejecutar un nodo de Bitcoin. Tienes derecho a intentar ejecutar un nodo. No es lo mismo una cosa que otra. No tienes derecho a la felicidad; tienes el derecho, en los países libres, a comprometerte en la búsqueda de la felicidad. Tienes derecho a intentar recaudar el dinero e invertir el capital en la búsqueda de la creación de un sistema que obtenga beneficios a través del procesamiento de transacciones, y ésa es la naturaleza de Bitcoin.

No importa si quieres ayudar a la red ejecutando un nodo. La única forma de ejecutar un nodo es invertir suficiente capital y crear un sistema que sea lo suficientemente efectivo y eficiente para ser rentable. Si no terminas creando bloques, todavía no estás ejecutando un nodo.

Algunas personas te dirán que estás actuando como un nodo al ser parte de un grupo. Aunque un consorcio de mineros (pool) es en sí mismo un nodo, sólo la entidad controladora importa en el escenario. Así pues, al añadir tu ASIC a un pool, puedes o no obtener algún beneficio, pero aun así no formas parte de la red de Bitcoin directamente. Eres parte de un consorcio que opera como un nodo. Estás contratando al pool. Por lo tanto, como minero del pool, eres parte de un consorcio de minería, pero aun así no formas parte de la red de Bitcoin. No estás procesando transacciones, y no las estás propagando. En el mejor de los casos, eres un agente de la red del pool, y estás invirtiendo tu tiempo para mejorar la entidad corporativa.


Enlace al artículo original: https://craigwright.net/blog/economics/the-right-to-run-a-node/

5 Likes