Compartir este artículo

¿Escalando el consenso? Este ganador de Turing cree haber encontrado la manera

Silvio Micali, ganador del premio Turing, está trabajando en un nuevo algoritmo de consenso que, ONE él, podría ayudar a escalar masivamente las cadenas de bloques.

silvio, MIT

Para que una cadena de bloques pública tenga éxito (ya sea para monedas, contratos inteligentes o cualquier otra cosa), necesita un algoritmo de consenso que pueda escalar.

Mientras se desarrolla un sistema que pueda hacer precisamente eso, un diseño reciente de un eminente académico podría marcar un avance en esta larga búsqueda. Ese diseño se llamaAlgorand, y su creador es un profesor del MITSilvio Micali.

CONTINÚA MÁS ABAJO
No te pierdas otra historia.Suscríbete al boletín de Crypto Daybook Americas hoy. Ver Todos Los Boletines

Criptógrafo y teórico informático, Micali es conocido por su trabajo en números pseudoaleatorios y pruebas de conocimiento cero (la base de los zk-SNARKS que impulsan el proyecto de blockchain anónimo Zcash). También es coganador del Premio Turing (también conocido como el "Premio Nobel" de la informática).

Pero si bien Micali cuenta con credenciales impresionantes, su Tecnología también es muy prometedora. Algorand es una variante de la prueba de participación que utiliza criptografía para seleccionar aleatoriamente a los participantes que añadirán el siguiente bloque (o conjunto de transacciones) a la cadena de bloques.

Si Algorand tiene éxito, Micali cree que su sistema podría manejar fácilmente millones de nodos, presentando una solución a ONE de los mayores problemas de la cadena de bloques en la actualidad.

Lotería de autoselección

En Bitcoin, los mineros compiten para resolver un rompecabezas criptográfico. El ganador propone el siguiente bloque y obtiene una recompensa por bloque.

Pero Bitcoinprueba de trabajoResulta en el gasto de una cantidad exorbitante de energía. Algunos dicen que también ha llevado a una centralización del procesamiento de bitcoin, lo que significa que solo unas pocas entidades grandes pueden reclamar nuevos bitcoins.

En un intento por democratizar esta distribución, Algorand utiliza lo que Micali llama "sorteo criptográfico" para seleccionar jugadores que creen y verifiquen bloques.

Si bien la mayoría de los sistemas de prueba de participación se basan en algún tipo de aleatoriedad, Algorand se diferencia en que el usuario se autoselecciona ejecutando la lotería en su propio ordenador. La lotería se basa en la información del bloque anterior, mientras que la selección es automática (sin intercambio de mensajes) y completamente aleatoria.

Micali tomó prestada la idea de la antigua Atenas, donde los funcionarios políticos eran elegidos al azar en un proceso conocido como "sorteo". (Era esencialmente una manera de poner el nombre de todos en un gran sombrero y sacar unos cuantos nombres.)

Al emplear el sorteo criptográfico, la teoría es que el Algorand puede escalar según la demanda. Otras ventajas incluyen la seguridad y la velocidad. "El sistema tiene que ser rápido", dijo Micali. "No quiero ninguna prueba de trabajo T una comunicación excesiva".

Un sistema justo y democrático

Dado que los requisitos computacionales de Algorand son triviales, cualquiera puede ejecutar el sistema en segundo plano en su portátil. Y si bien Bitcoin tiene clases de usuarios («consumidores» que realizan transacciones y «mineros» que buscan bloques), Algorand no hace tal distinción.

La visión es que todos los usuarios tengan el mismo acceso a la red.

Al igual que en otros sistemas de prueba de participación, tu probabilidad de ser seleccionado para una recompensa se basa en la cantidad de monedas (algoritmos) que posees o que reservas. Cuantos más algoritmos tengas, mayor será tu probabilidad de ser seleccionado.

Una vez que sabes que has sido seleccionado como proponente, creas un bloque y luego lo propagas a la red junto con una prueba hash (un número aleatorio fácilmente verificable mediante una firma digital), diciendo básicamente: "Aquí está mi bloque y aquí está la prueba de que gané la lotería".

El proponente con la prueba hash más pequeña (de nuevo, aleatoria) es el que presentará el siguiente bloque candidato.

El siguiente paso en el proceso de Algorand es verificar el bloque candidato y, en caso de que un proponente de bloque haya propuesto dos o más bloques, asegurarse de que no haya ninguna bifurcación en la cadena.

Y para ello, Micali recurre a un protocolo que tiene décadas de antigüedad.

Adiós a los tenedores

Un subproducto del consenso de Nakamoto es la posibilidad de bifurcaciones de la red, un proceso que ocurre cada vez que dos mineros resuelven el rompecabezas de la red casi al mismo tiempo.

Como resultado, los usuarios generalmente esperan 30 minutos (tres cuadras más adelante) para estar razonablemente seguros de que se ha realizado una transacción.

"Y ahora hay que lidiar con una bifurcación, y eso genera cierta ansiedad, psicológica y de otras maneras, porque un bloqueo no es definitivo y la gente necesita la finalidad", dijo Micali.

La forma en que Algorand gestiona esta ambigüedad es alcanzar un consenso en un bloque con una probabilidad insignificante de bifurcaciones. El sistema logra esto empleando una versión modificada del algoritmo de consenso bizantino.

Concebido en la década de 1980, el acuerdo bizantino ofrece una forma de alcanzar el consenso en un sistema distribuido donde no se puede confiar en ninguno de los nodos. En este diseño, el sistema puede tolerar hasta un tercio de los actores que actúan en contra del sistema.

El acuerdo bizantino tiene dos propiedades: si todos los jugadores empiezan con el mismo valor, coinciden en él. Y, si empiezan con valores diferentes, todos los jugadores honestos (aquellos que cumplen con el protocolo) coincidirán en un valor. En la blockchain, esos valores son los bloques candidatos y los jugadores son los verificadores.

Sin embargo, un problema con el acuerdo bizantino tradicional es que requiere muchas rondas de comunicación intensa entre todos los jugadores, lo que dificulta la escalabilidad del sistema.

"No puedo ejecutar un acuerdo bizantino con un millón de usuarios, ni con diez millones, ni, si el sistema tuviera éxito, con cien millones. Es demasiado", dijo Micali.

Para remediarlo, desarrolló una versión modificada con sólo nueve pasos esperados.

Sustituibilidad de jugadores

En Algorand, un pequeño subconjunto de participantes ejecuta el consenso bizantino en nombre de todo el sistema. Esto permite que el protocolo se ejecute a mayor velocidad y, a medida que se reemplazan más participantes en cada paso, la idea es que el sistema sea seguro en un entorno adversario.

En pocas palabras, el acuerdo bizantino de Micali funciona así: los poseedores de monedas se autoseleccionan para ser verificadores en la primera ronda. Estos verificadores envían sus mensajes junto con sus credenciales a la red.

Ahora que se han revelado, un adversario ingenioso podría corromperlos fácilmente. Pero eso no importa, porque una vez que el mensaje sale de la botella, no hay forma de devolverlo.

"El adversario no puede hacer esto, al igual que el gobierno no puede volver a meter en la botella un mensaje de Wikileaks. Pueden arrestarlo, encarcelarlo, pero ese mensaje ahora se propaga por la red", dijo Micali.

Así pues, incluso si un adversario logra corromper a los verificadores, es demasiado tarde. Un nuevo grupo de participantes ya se ha autoseleccionado para la siguiente ronda de comunicación, y el proceso continúa durante ocho rondas más hasta llegar a un acuerdo común.

Una vez que se llega a un acuerdo, y el bloque está certificado por las firmas de un número suficiente de jugadores en el último paso del acuerdo bizantino, ese bloque luego se transmite a través de la red para que todos los usuarios en el sistema puedan agregarlo a la cadena de bloques.

Dado que la única latencia real del sistema se basa en la propagación de ese bloque a través de la red, Micali ha establecido el tamaño de su bloque en 1 MB. Afirma que, cuando las redes sean más rápidas, será posible aumentar el tamaño del bloque sin ningún riesgo de seguridad.

¿Nuevo orden mundial?

Dicho esto, Micali no cree que Algorand vaya a reemplazar a Bitcoin. Considera que pueden coexistir diferentes sistemas.

Incluso el trueque sigue existiendo hoy en día, por lo que no hay motivos para pensar que el Bitcoin no existirá en el futuro, argumenta. Sin embargo, cree firmemente que su desperdicio de energía es innecesario.

"De alguna manera, la gente hace la analogía de que cuando se extrae oro también se desperdicia energía. El hecho de que el oro se haya extraído de esa manera con tanto desperdicio no significa que debamos destruir el planeta como lo hicieron nuestros antepasados", dijo.

También señala que Algorand está destinado a servir como protocolo de consenso para todos los tipos de sistemas blockchain, no solo para las criptomonedas.

Sin embargo, al igual que su nombre, Algorand existe como un protocolo teórico.

Por ahora, Micali dijo que está resolviendo problemas técnicos con la esperanza de que ONE día pronto puedan ponerse a prueba.

Imagen vía Amy Castor para CoinDesk

Picture of CoinDesk author Amy Castor