Inside the Blockchain Developer’s Mind: El consenso de la red, parte 1
Cointelegraph está siguiendo el desarrollo de una cadena de bloques completamente nueva, desde su inicio hasta la red principal y más allá, a través de su serie Inside the Blockchain Developer’s Mind. En las partes anteriores, Andrew Levine, de Koinos Group, habló de algunos de los retos a los que se enfrentó el equipo desde que identificó los problemas clave que pretendían resolver y esbozó tres de las “crisis” que frenan la adopción de la blockchain: la capacidad de actualización, la escalabilidad y la gobernanza. Esta serie se centra en el algoritmo de consenso: la primera parte trata sobre el proof-of-work, la segunda sobre el proof-of-stake y la tercera sobre el proof-of-burn.
En este artículo, quiero aprovechar mi perspectiva única para ayudar al lector a comprender más profundamente un concepto popular en la tecnología Blockchain, pero también uno que es lamentablemente incomprendido: el algoritmo de consenso.
Para comprender en profundidad este componente de una blockchain, una de las cosas que siempre me gusta hacer en estos artículos es empezar por dar un paso atrás y ver el panorama general, porque el algoritmo de consenso es sólo una pequeña parte de un sistema mucho más grande.
Las blockchain son un juego en el que los jugadores compiten para validar las transacciones agrupándolas en bloques que coinciden con los bloques de transacciones que crean otros jugadores. La criptografía se utiliza para ocultar los datos que permitirían a estas personas hacer trampas. Se utiliza un proceso aleatorio para distribuir fichas digitales a las personas que cumplen las reglas y producen bloques que coinciden con los presentados por otras personas. Estos bloques se encadenan para crear un registro verificable de todas las transacciones realizadas en la red.
Cuando la gente produce nuevos bloques con transacciones diferentes, lo llamamos “bifurcación” (fork) porque la cadena se bifurca en dos direcciones diferentes. Esto es exactamente lo contrario de lo que queremos que ocurra. Todo el valor de una cadena de bloques proviene del hecho de que todo el mundo está de acuerdo, llega a un consenso, sobre qué transacciones ocurrieron y cuándo. Los algoritmos de consenso están pensados para resolver las bifurcaciones.
La verdadera innovación de Satoshi
A fin de cuentas, lo que garantiza que todo el mundo actualice su base de datos para que coincida con la de los demás se reduce a cómo se les castiga cuando no lo hacen. Los protocolos contienen reglas para el correcto ordenamiento de las transacciones, pero si no hay repercusión por violar esas reglas, serán ineficaces. La verdadera innovación que aportó Satoshi Nakamoto en el libro blanco de Bitcoin (BTC) fue su elegante uso de los incentivos económicos.
Satoshi Nakamoto no inventó la idea de la “moneda electrónica”. Creó un elegante sistema para combinar la criptografía con la economía y aprovechar las monedas electrónicas, ahora llamadas criptomonedas, para utilizar incentivos para resolver problemas que los algoritmos por sí solos no pueden resolver. Su diseño obligaba a la gente a sacrificar dinero para minar bloques de transacciones. Las personas tendrían que sacrificar este dinero una y otra vez siguiendo las reglas del sistema y tratando de organizar las transacciones en bloques que fueran aceptados por todos los demás en la red. Si lo hacían el tiempo suficiente, recibirían una recompensa en la moneda de la plataforma.
Por supuesto, no hay manera de que la blockchain sepa que el dinero se gastó en forma de dólares, yenes o euros, por lo que utilizó un proxy en forma de trabajo sin sentido. Hizo que el minado de bloques fuera innecesariamente difícil, de modo que cualquiera que minara con éxito un bloque necesariamente debía haber gastado dinero en hardware y en la energía para hacer funcionar ese hardware. Así que cada bloque minado con éxito está respaldado por el dinero que se ha sacrificado no sólo en el hardware, sino en la energía necesaria para hacer funcionar ese hardware y producir ese bloque. Cuando hay bifurcaciones, los algoritmos de consenso de prueba de trabajo (PoW) son un sistema automatizado por el que la bifurcación respaldada por la mayor cantidad de trabajo es la bifurcación “correcta”.
Esto significa que todos los que sigan produciendo bloques en esa bifurcación seguirán ganando recompensas y que todos los que sigan produciendo bloques en la otra bifurcación no ganarán recompensas. Como estas personas ya gastaron su dinero para adquirir hardware y hacerlo funcionar para producir bloques, el castigo es fácil porque ya fueron castigados monetariamente. Han gastado su dinero, así que si quieren seguir produciendo bloques en la cadena equivocada, no hay problema. No ganarán ninguna recompensa y no recuperarán su dinero. Habrán sacrificado ese dinero para nada. Sus bloques no serán aceptados por la red y no ganarán ningún token.
Este sistema de prueba de trabajo asegura que la única manera de que alguien que no quiera jugar con las reglas, un actor malicioso, sea adquirir y hacer funcionar más hardware que todos los demás juntos, como por ejemplo montando un ataque del 51%.
Esta es la elegancia que hay detrás de la prueba de trabajo. El sistema no puede funcionar sin sacrificar cantidades cada vez mayores de capital. Satoshi combinó la criptografía y la economía para crear un libro de transacciones que es tan fiable, que no es de fiar.
Sin embargo, existen diferentes algoritmos de consenso que funcionan de forma ligeramente distinta. El más conocido es el proof-of-stake (PoS), del que hablaré en el próximo artículo de esta serie. Después, hablaré del algoritmo que utilizaremos en Koinos, que es el primero de su clase en una blockchain de propósito general.
Los puntos de vista, pensamientos y opiniones expresados aquí son únicamente del autor y no reflejan ni representan necesariamente los puntos de vista y opiniones de Cointelegraph.
Andrew Levine es el director general de Koinos Group, donde él y el antiguo equipo de desarrollo detrás de la blockchain Steem construyen soluciones basadas en la blockchain que permiten a las personas asumir la propiedad y el control de sus seres digitales. Su producto fundacional es Koinos, una blockchain de alto rendimiento construida sobre un marco totalmente nuevo diseñado para ofrecer a los desarrolladores las características que necesitan para ofrecer las experiencias de usuario necesarias para extender la adopción de la blockchain a las masas.
Sigue leyendo: