¿Qué es el Consenso de Nakamoto?

Los algoritmos de consenso son fundamentales para verificar la autenticidad de las plataformas blockchain distribuidas y son el proceso de construcción de acuerdos entre una red de participantes que desconfían mutuamente..

Creado por Satoshi Nakamoto para Bitcoin, el Consenso de Nakamoto se refiere al conjunto de reglas, junto con el modelo de consenso de Prueba de Trabajo en la red, que rigen el mecanismo de consenso y aseguran su naturaleza sin confianza. Al hacerlo, Bitcoin se convirtió en la primera red bizantina tolerante a fallas (BFT) abierta y distribuida Peer to Peer (P2P) que utiliza una red distribuida de nodos anónimos que pueden unirse y salir de la red a voluntad..

Tolerancia a fallas bizantinas (BFT)

Tolerancia a fallas bizantinas es la capacidad de una red de computadoras distribuida para permanecer tolerante a fallas con un consenso válido a pesar de información imperfecta o componentes defectuosos de la red. Antes de Bitcoin, la única forma de mantener una red P2P BFT era mediante el empleo de un grupo de nodos cerrado o semicerrado. Además, los algoritmos BFT tradicionales, como Practical Byzantine Fault Tolerance (pBFT), utilizan un método de selección de nodo diferente al que se utiliza actualmente en el Consenso de Nakamoto..

Mantener BFT en una red abierta y distribuida como una tan grande como Bitcoin requiere el uso de un conjunto específico de reglas que se basan tanto en la criptografía como en la mecánica de la teoría de juegos para crear el entorno sin confianza necesario para facilitar el consenso descentralizado a través de una red de transferencia de valor..

En los sistemas pBFT, el modelo de consenso solo funciona en pequeños grupos de nodos cerrados (~ 50) donde hay una cantidad sustancial de sobrecarga de comunicación que impide que estos modelos de consenso puedan operar a escala. Lograr consenso en sistemas con fallas arbitrarias generalmente requiere un sistema de votación específico para ayudar a lograr el consenso. En lo que respecta a las plataformas de criptomonedas que utilizan modelos de consenso pBFT, este mecanismo de votación se basa en un sistema de nodos “líderes” rotativos en un formato de estilo round-robin. Dado que el sistema consiste en una red de nodos cerrados y limitados, es trivial que estos nodos se comuniquen de manera eficiente entre sí y determinen quién es el “líder” que propone cada nuevo bloque..

Tolerancia práctica a fallas bizantinas

Leer más sobre Tolerancia práctica a fallas bizantinas

Si el líder actúa maliciosamente, puede ser eliminado por mayoría de votos de los nodos. Sin embargo, esto claramente no escala bien en un sistema como Bitcoin, donde el consenso sobre el estado completo de la cadena de bloques y la validez de todas sus transacciones se distribuye a miles de nodos en todo el mundo que se conectan y desconectan continuamente de la red. Además, debe haber un costo inherente a la participación en este sistema de consenso para disuadir a los participantes de actuar de manera maliciosa..

Entonces, para que Bitcoin funcione como una red P2P tolerante a fallas bizantinas, introdujo un algoritmo de consenso de minería PoW junto con un conjunto específico de reglas que gobiernan el mecanismo para lograr un consenso sin confianza en toda la red. Esto se conoce como Consenso clásico de Nakamoto..

¿Cómo funciona el consenso de Nakamoto??

El Consenso de Nakamoto se puede dividir en aproximadamente 4 partes.

  • Prueba de trabajo (PoW)
  • Selección de bloque
  • Escasez
  • Estructura de incentivos

La combinación y armonización de estos 4 componentes de Bitcoin le permiten convertirse en la red distribuida de transferencia de valor que es. Opera con un consenso sin confianza y permanecerá seguro mientras la mayor parte del poder contribuido al proceso de minería esté en manos de mineros honestos, como verá a continuación..

Prueba de trabajo

En general, el motor más importante que impulsa el consenso en Bitcoin es el protocolo de consenso de Prueba de trabajo. Básicamente, los mineros usan un nodo completo específico para competir en bloques de minería con el fin de ganar la recompensa de bloque que se emite por cada bloque minado y validado con éxito. El costo de este proceso minero es la electricidad, que tiene un valor financiero en el mundo real, lo que le da a las BTC emitidas para cada bloque extraído un valor inherente..

Minería Bitcoin

Leer más sobre Bitcoin Mining

PoW en Bitcoin está diseñado para evitar el doble gasto. Si bien el esquema de firma digital dentro del modelo UTXO proporciona la propiedad verificable de los resultados de las transacciones que se gastarán, no permite la prevención del doble gasto. La cadena de bloques es una cadena de bloques de datos con marca de tiempo que contiene transacciones con cada bloque hash al anterior. Esto proporciona inmutabilidad a la cadena de bloques, pero ¿cómo puede saber si la cadena en la que se encuentra es la correcta? Aquí es donde entra PoW.

Contribuir a la minería se basa en el poder computacional, mientras más poder dentro de la red tenga, más probabilidades tendrá de extraer un bloque. Sin embargo, el proceso es estocástico, por lo que básicamente es una lotería con probabilidad aleatoria de quién ganará, por lo que es imposible saber quién ganará la siguiente ronda y el costo de participación seguirá aumentando. Debido a este modelo, la cadena más larga se considera la cadena válida porque proviene del grupo más grande de poder computacional. Las reglas de validación aseguran que los bloques propuestos tengan el trabajo computacional requerido realizado para ser aceptados. Además, siempre que la cadena más larga y la mayor parte del poder de hash de la red estén controladas por nodos honestos, la cadena honesta crecerá más rápido y superará a las cadenas de la competencia..

El resultado de este sistema es que una vez resuelto el rompecabezas criptográfico para la ronda de minería, un minero propone el bloque a la red, la red valida el bloque si todas las transacciones dentro del bloque no se gastan dos veces y el bloque se agrega a la cadena más larga. Con una red distribuida masiva como la de Bitcoin, el costo de atacar la red a través de un ataque del 51% es enorme y solo aumenta a medida que la red continúa creciendo..

Calculadora de ataque del 51%

Calculadora de ataque del 51%

Selección de bloque

El proceso de selección de bloques utilizado por Nakamoto Consensus es uno de los componentes clave que lo diferencia de otros modelos de consenso. Dado que el modelo se basa en un diseño de PoW, el proceso de selección de bloques se refiere específicamente al proceso de “lotería” para los mineros que compiten para ganar la recompensa del bloque por extraer el siguiente bloque..

Recuerde, en pBFT el líder del bloque se selecciona a través de un proceso de votación y se reemplaza en un formato de estilo round-robin en cada ronda. No hay minería en este sistema, los bloques son seleccionados por el líder para agregarlos a la cadena y deben ser aprobados por al menos de los otros nodos. En Bitcoin, no existe un proceso de votación para determinar el líder del bloque. En su lugar, utiliza un rompecabezas criptográfico basado en incrementar un nonce en el bloque hasta que se alcanza el valor correcto que representa el hash del bloque y los bits cero requeridos para el comienzo del nonce..

Todos los mineros de la red compiten para resolver este rompecabezas y el primero en encontrar la solución gana la ronda de lotería. Luego, el minero propaga el bloque a través de la red a los otros nodos de minería que votan implícitamente para aceptar el bloque como válido agregando el bloque a la cadena más larga. Un efecto resultante de este proceso es la eliminación de la posible influencia de terceros en un líder de bloque porque el proceso es aleatorio y no se puede predecir el líder. La única forma de ganar la lotería es aportando poder de hash a la red con la esperanza de ganar, y cuando no gana, la energía gastada se convierte en un costo irrecuperable, lo que se suma a la estructura de incentivos de la minería. Participar tiene un costo inherente, ya sea que extraiga bloques con éxito o no.

Escasez

Antes de que las monedas inflacionarias resultantes del sistema bancario de reserva fraccionaria dominaran la escena monetaria mundial, Los metales preciosos eran la principal forma de almacenamiento y comercio de valor.. Una de las principales razones por las que se usaron y aún conservan su valor histórico (piense en el oro y la plata) es porque son escasos. No solo son escasos, sino que requiere un esfuerzo (PoW arriba) para extraerlos y usarlos.

La escasez de Bitcoin se basa en esta premisa al limitar la cantidad total de Bitcoin que se extraerá a 21 millones. Además, Bitcoin solo se puede inyectar en el sistema a través del proceso de minería y sigue un esquema deflacionario en el que la recompensa del bloque se reduce a la mitad cada 210.000 bloques (~ 4 años)..

Estructura de incentivos

El diseño deflacionario de Bitcoin crea un mecanismo de incentivo para los intereses creados a largo plazo de los propietarios de Bitcoin y los participantes en la red de Bitcoin para asegurar y validar aún más la red y, al mismo tiempo, respaldar el crecimiento del valor de Bitcoin. La naturaleza deflacionaria de Bitcoin también crea un modelo de teoría de juegos iterado donde la cooperación entre individuos dentro de la red es óptima a través de intereses alineados impulsados ​​por la deflación a largo plazo..

Se incentiva a los mineros a validar y asegurar la red con honestidad, ya que la recompensa que reciben por extraer un bloque es Bitcoin. Si el valor de Bitcoin cae o la red se ve comprometida, afectará su resultado final.

Es importante destacar que Bitcoin, utilizando el Consenso de Nakamoto, es un socialmente escalable la red. A través de diseños de incentivos, PoW y conjuntos de reglas que rigen la mecánica para alcanzar un consenso sin confianza, Bitcoin supera los problemas inherentes a la naturaleza humana para convertirse en una fuente confiable y legítima de valor intrínseco..

Conclusión

El Consenso de Nakamoto es el primer mecanismo de consenso aplicado a los sistemas de contabilidad distribuida, ya que coincidió con la invención de las cadenas de bloques y recibe el nombre de su misterioso arquitecto. El término “blockchain” se utiliza indiscriminadamente en estos días como una solución a todos los problemas bajo el sol..

Las cadenas de bloques son un componente importante de las criptomonedas, sin embargo, su vasto potencial no sería posible sin estar entrelazadas con otros componentes de las plataformas. En Bitcoin y algunas otras criptomonedas de prueba de trabajo, esto es el Consenso de Nakamoto, y es vital para forjar una red socialmente escalable como Bitcoin..