¿Qué es un Algoritmo de Consenso de Blockchain?

Introducción

Un algoritmo de consenso es un mecanismo que permite a los usuarios o máquinas coordinar en una configuración distribuida. Necesita asegurarse de que todos los agentes del sistema puedan ponerse de acuerdo sobre una única fuente de verdad, incluso si algunos agentes fallan. En otras palabras, el sistema debe ser tolerante a fallos(véase también: Explicación de la Tolerancia Bizantina a fallos).

En una configuración centralizada, una sola entidad tiene poder sobre el sistema. En la mayoría de los casos, pueden hacer los cambios que les plazca: no hay un sistema de gobierno complejo para alcanzar el consenso entre muchos administradores.

Pero en una configuración descentralizada, es otra historia. Digamos que estamos trabajando con una base de datos distribuida: ¿cómo llegamos a un acuerdo sobre qué entradas se agregan?

Superar este desafío en un entorno donde los extraños no confían entre sí fue quizás el desarrollo más crucial que allanó el camino para las cadenas de bloques. En este artículo, echaremos un vistazo a cómo los algoritmos de consenso son vitales para el funcionamiento de las criptomonedas y los libros de contabilidad distribuidos.

Algoritmos de consenso y criptomoneda

En las criptomonedas, los saldos de los usuarios se registran en una base de datos, la cadena de bloques. Es esencial que todos (o más exactamente, cada nodo) mantengan una copia idéntica de la base de datos. De lo contrario, pronto terminaría con información conflictiva, socavando todo el propósito de la red de criptomonedas.

La criptografía de clave pública garantiza que los usuarios no puedan gastar las monedas de los demás. Pero todavía necesita haber una única fuente de verdad en la que los participantes de la red confíen, para poder determinar si los fondos ya se han gastado.

Satoshi Nakamoto, el creador de Bitcoin, propuso un sistema de Prueba de Trabajo para coordinar a los participantes. Hablaremos de cómo funciona PoW en breve; por ahora, identificaremos algunos de los rasgos comunes de los muchos algoritmos de consenso existentes.

En primer lugar, requerimos que los usuarios que quieran agregar bloques (los llamaremos validadores) proporcionen una apuesta. Lo que está en juego es algún tipo de valor que un validador debe presentar, lo que los desalienta de actuar deshonestamente. Si hacen trampa, perderán su apuesta. Los ejemplos incluyen potencia de computación, criptomoneda o incluso reputación.

¿Por qué se molestarían en arriesgar sus propios recursos? Bueno, también hay una recompensa disponible. Esto generalmente consiste en la criptomoneda nativa del protocolo y se compone de tarifas pagadas por otros usuarios, unidades de criptomonedas recién generadas, o ambas.

Lo último que necesitamos es transparencia. Necesitamos ser capaces de detectar cuando alguien está haciendo trampa. Idealmente, debería ser costoso para ellos producir bloques, pero barato para cualquiera validarlos. Esto asegura que los validadores sean controlados por usuarios regulares.

Tipos de algoritmos de consenso

Prueba de trabajo (PoW)

Prueba de trabajo (PoW) es el padrino de los algoritmos de consenso de blockchain. Se implementó por primera vez en Bitcoin, pero el concepto real ha existido durante algún tiempo. En la Prueba de trabajo, los validadores (denominados mineros) hacen un hash de los datos que desean agregar hasta que producen una solución específica.

Un hash es una cadena aparentemente aleatoria de letras y números que se crea cuando se ejecutan datos a través de una función hash. Pero, si ejecuta los mismos datos a través de él de nuevo, siempre terminará con la misma salida. Sin embargo, cambia un solo detalle y tu hash será completamente diferente.

Mirando la salida, es imposible saber qué información se introdujo en la función. Por lo tanto, son útiles para demostrar que conocía un dato antes de cierto tiempo. Puedes darle a alguien su hash, y cuando reveles más tarde los datos, esa persona puede ejecutarlos a través de la función para asegurarse de que la salida sea la misma.

En la Prueba de trabajo, el protocolo establece las condiciones para lo que hace que un bloque sea válido. Podría decir, por ejemplo, que solo un bloque cuyo hash comience con 00 será válido. La única manera de que el minero cree una que coincida con esa combinación es con las entradas de fuerza bruta. Pueden modificar un parámetro en sus datos para producir un resultado diferente para cada suposición hasta que obtengan el hash correcto.

Con las cadenas de bloques principales, el listón está increíblemente alto. Para competir con otros mineros, necesitarías un almacén lleno de hardware de hash especial (ASIC) para tener la oportunidad de producir un bloque válido.

Su participación, al minar, es el costo de estas máquinas y la electricidad necesaria para operarlas. Los ASIC están construidos para un propósito, por lo que no tienen uso en aplicaciones fuera de la minería de criptomonedas. Su única manera de recuperar su inversión inicial es minar, lo que produce una recompensa significativa si agrega un nuevo bloque a la cadena de bloques.

Es trivial que la red verifique que ha creado el bloque correcto. Incluso si ha intentado billones de combinaciones para obtener el hash correcto, solo necesitan ejecutar sus datos a través de una función una vez. Si tus datos producen un hash válido, se aceptarán y obtendrás una recompensa. De lo contrario, la red lo rechazará, y habrá perdido tiempo y electricidad por nada.

Prueba de participación (PoS)

La prueba de participación (PoS) se propuso en los primeros días de Bitcoin como una alternativa a la Prueba de Trabajo. En un sistema PoS, no hay concepto de mineros, hardware especializado o consumo masivo de energía. Todo lo que necesitas es una PC normal.

Bueno, no todos. Todavía tienes que poner algo de piel en el juego. En PoS, no presentas un recurso externo (como electricidad o hardware), sino una criptomoneda interna. Las reglas difieren con cada protocolo, pero generalmente hay una cantidad mínima de fondos que debe mantener para ser elegible para apostar.

A partir de ahí, guardas tus fondos en una billetera (no se pueden mover mientras estás apostando). Por lo general, estarás de acuerdo con otros validadores sobre qué transacciones pasarán al siguiente bloque. En cierto sentido, estás apostando al bloque que se seleccionará, y el protocolo elegirá uno.

Si selecciona su bloque, recibirá una proporción de las tarifas de transacción, dependiendo de su apuesta. Cuantos más fondos haya guardado, más ganará. Pero si intentas hacer trampa proponiendo transacciones no válidas, perderás una parte (o la totalidad) de tu apuesta. Por lo tanto, tenemos un mecanismo similar al de los prisioneros de guerra: actuar honestamente es más rentable que actuar deshonestamente.

Generalmente, no hay monedas recién creadas como parte de la recompensa para los validadores. Por lo tanto, la moneda nativa de la cadena de bloques debe emitirse de alguna otra manera. Esto se puede hacer a través de una distribución inicial (es decir, un ICO o IEO) o haciendo que el protocolo se inicie con PoW antes de la transición posterior a PoS.

Hasta la fecha, la prueba de participación pura solo se ha implementado en criptomonedas más pequeñas. Por lo tanto, no está claro si puede servir como una alternativa viable a los prisioneros de guerra. Si bien parece teóricamente sólido, será muy diferente en la práctica.

Una vez que el PoS se implementa en una red con una gran cantidad de valor, el sistema se convierte en un campo de juego de teoría de juegos e incentivos financieros. Cualquier persona con el conocimiento para “hackear” un sistema PoS probablemente solo lo haría si pudiera beneficiarse de él, por lo tanto, la única manera de averiguar si es factible es en una red en vivo.

que pronto vamos a ver PoS prueba en gran escala – Casper se implementarán como parte de una serie de mejoras para el Etereum red (conocidos colectivamente como Etereum 2.0).

Otros algoritmos de consenso

Prueba de trabajo y Prueba de participación son los algoritmos de consenso más discutidos. Pero hay una gran variedad de otros, todos con sus propias ventajas y desventajas. Echa un vistazo a los siguientes artículos:

  • Retraso de la Prueba de Trabajo Explicado
  • Arrendado Prueba de la Apuesta de Consenso Explicado
  • > Prueba de la Autoridad Explicó
  • > Prueba de Grabar Explicado
  • Delegada de Prueba de la Apuesta Explicado
  • Híbrido PoW/PoS Consenso Explicó

Cierre de los pensamientos

los Mecanismos para lograr el consenso son vitales para el funcionamiento de los sistemas distribuidos. Muchos creen que la mayor innovación en Bitcoin fue el uso de Pruebas de trabajo para permitir a los usuarios ponerse de acuerdo sobre un conjunto compartido de hechos.

Hoy en día, los algoritmos de consenso sustentan no solo los sistemas de dinero digital, sino también las cadenas de bloques que permiten a los desarrolladores ejecutar código a través de una red distribuida. Ahora son una piedra angular de la tecnología blockchain y son fundamentales para la viabilidad a largo plazo de las diversas redes existentes.

De todos los algoritmos de consenso, Proof of Work sigue siendo la oferta dominante. Aún no se ha propuesto una alternativa más fiable y segura. Dicho esto, hay una enorme cantidad de investigación y desarrollo en reemplazos de prisioneros de guerra, y es probable que veamos más de ellos en la superficie en los próximos años.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.