🇪🇸 Explicación del Algoritmo de Consenso de Prueba de Participación Cardano | Lex 18 Jun 2021

:es: Transcripción al español de “Cardano’s Proof of Stake Consensus Algorithm Explained | Charles Hoskinson and Lex Fridman”

Publicado en el canal de Youtube Lex Clips el 18 de Junio de 2021

Enlace a la versión doblada al español


Lex: ¿Cómo solucionó Cardano el problema de consenso, intentás eventualmente solucionarlo con el enfoque híbrido, de prueba de participación y prueba de trabajo?

Charles: Esta fue una diferencia filosófica entre Vitalik y yo, el problema con la gente del lado Ethereum es que es realmente brillante, y esta gente realmente brillante lo que hace es intentar hacer todo a la vez, porque son realmente inteligentes y continúan yendo hasta que chocan contra una pared y se dan cuenta que el problema es mucho más difícil. Si sos más experimentado, por eso trajimos académicos apropiados como Aggelos y otros, porque han sido mordidos a través de su vida, Aggelos trabajó con David Chomp y otros, es realmente duro trabajar con esos muchachos, ya lo humillaron, le gritaron y todas esas cosas. Así que tenés que ser humilde y decir que no sos lo suficientemente inteligente para resolver el gran problema, ni siquiera lo intentás. Lo que hacés es descomposicionarlo, ¿cuál es el primer problema para resolver y una cadena de problemas en el que podés componer tu camino hasta un sistema en funcionamiento? Una vez que hayas llegado lo suficientemente lejos tenés algo que es bastante bueno, y luego tenés una huella obvia hacia adelante acerca de cómo iteras y mejoras ese sistema. Por eso comenzamos con GKL 15, porque dijimos “no sabemos lo que es una jodida blockchain, ¿qué es esta cosa?, ¿cuál es la propiedad de seguridad de esta cosa?, ¿qué queremos realmente decir? Luego hicimos Ouroboros Classic, el protocolo original Ouroboros en 2017, y ese protocolo fue como un sistema sincrónico, asumiendo que los nodos siempre estaban encendidos, funcionó pero no era útil, porque eso no es la vida real, luego vino Praos y de repente relajamos las cosas.

Lex: Todos estos son nombres de algoritmos de consenso.

Charles: Sí, documentos que publicamos, todos son revisados por pares. GKL fue Euro Crypto, esa es una conferencia muy difícil para entrar, Ouroboros Classic fue Crypto, Praos fue Euro Crypto, Génesis fue CCS. Básicamente cada paso del camino primero fue una validación académica, que había algo de mérito con el trabajo realizado. Segundo, resuelve una clase particular de problemas, ya sea mostrando la viabilidad del problema entero, veamos el modelo primero, veamos si podemos hacer NFP, veamos si tenemos una posibilidad aquí, eso es genial porque estás hecho, es como esos cortos documentos matemáticos, encontré un contraejemplo, “ok, toda esta cosa se cae a pedazos, porque vos tenés una prueba de dos líneas, gracias”. Eso es lo que estábamos buscando en el principio de la agenda, fue “comprobemos que es posible en un caso de hombre de paja o mostrar la existencia de la posibilidad de un resultado”, en cual caso podemos abandonar toda la consulta, la prueba de participación es imposible.

Luego, una vez que pasaste es umbral, va de teoría a practicidad, ¿qué condiciones de red reales estás mirando, estás bien viviendo con un reloj externo, o querés construir tiempo dentro, cómo generás números aleatorios, etc, etc? Y en cada paso en el camino, cada documento resuelve una clase particular de problemas. Con Prism dice probablemente no deberías saber de antemano quién es B, probablemente no deberías saber quién está haciendo esos bloques, eso debería ser algo que sabes después del hecho, si lo sabes de antemano podrías atacarlos, podrías hacer DOS y causar todo tipo de problemas. Seguridad adaptativa, también nos movimos de generación de números aleatoria MPC, que es genial, pero muy pesada, lenta y no podés escalar a mucha gente, a un sistema basado en VRF que es súper rápido, pero un poco más pequeño, porque de hecho Algorand hizo un gran trabajo ahí, había buen conocimiento ahí.

Lex: ¿Cuáles son algunos de los duros problemas, quizás si desaceleras un poco, cuáles son algunos de los problemas realmente difíciles que tenés que resolver a través de esta cadena de documentos, ideas, la evolución del algoritmo de consenso.

Charles: No sólo son problemas realmente difíciles, de hecho requieren distintos criptógrafos, porque te estás moviendo de criptógrafos de estilo matemático, como Deniel y Shamir, gente que le gusta las propiedades matemáticas, realmente les gusta la teoría, y esa es su cosa, y las pruebas son densas, gruesas y son hermosas, a trabajo práctico aplicado, donde estás diciendo “ok, esto es algo que un ingeniero puede mirar y decir sé cómo construir eso, sé cómo pensar al respecto”. Esa transición de GKL a Ouroboros Classic, a Praos, yo diría que el mayor salto fue de Classic a Praos, porque eso fue ir de un sistema que sólo funciona en una cadena de consorcio, como Fabric, a un sistema que de hecho funciona y está funcionando, es lo que se está implementando hoy en Cardano, una criptomoneda de 50 billones de dólares y toda esta gente, ese fue un gran salto. Pero sólo ese documento no fue suficiente, también tuvimos que establecer el modelo económico, porque dijimos “espera un segundo aquí, no todo el mundo va a estar en línea todo el tiempo para estar disponible para hacer un bloque, así que necesitás una noción de delegación”. En el momento que tenés una noción de delegación, tenés los stake pools, ¿qué diablos significa eso?

Esta es una especie de hermosa noción interdisciplinaria que agrupa ciencias de la computación y biología. En el momento en el que sube tu complejidad, comenzás a ver especialización celular. Así vas de organismos unicelulares a organismos donde tenés ojos, cerebro y corazones, y cada uno de estos tejidos hace cosas diferentes. Análogamente, los sistemas distribuidos complejos comienzan a obtener especialización, te movés de la cosa unicelular, Bitcoin, donde todo es un nodo completo, todos tienen los mismos derechos y responsabilidades, un montón de homogeneidad en ese sistema, Sólo sos tan bueno como tu eslabón más débil, sólo sos tan capaz como lo que tu célula base puede hacer, a un sistema especializado donde comenzás a tener a estos actores en el sistema que de hecho son un poco diferentes a los otros actores, introducís el concepto de stake pool. Y de repente ahora tenés este actor que probablemente esté en línea 24 7, probablemente vayas a tener extra infraestructura de relays, hay una relación de confianza, no sos titular del Ada pero tenés el derecho de utilizarlo para algo, y la persona toma la decisión de realizar eso.

En el momento en que introducís especialización el sistema se vuelve más complicado, la teoría de juego se vuelve más complicada, tenés que empezar a pensar muy profundamente y cuidadosamente “ok, ¿puede esto introducir un nuevo vector de ataque que antes no teníamos?”. Así que ese salto de Classic a Praos, agregando stake pools, resolviendo cómo manejar la teoría de juego ahí, fue extremadamente difícil, dos años para hacer eso.

Lex: Así que los stake pools permiten a múltiples partes delegar sus capacidades de participación a otros, ¿podés describir cómo funciona eso, es fascinante?

Charles: Es un concepto súper simple, registrás un pool, luego el pool está ahí, básicamente hacen publicidad, de hecho están registrados en cadena con un certificado. Luego en el software de la billetera en sí misma podés ver todos los pools que están registrados, ahora hay más de tres mil de ellos dentro del sistema, podés hacer clic en un pequeño azulejo, te muestra todos los metadatos que están en el certificado, decís “hey, tengo mi propio pool, se llama Rats, rey de las ratas”. Podés ver todas las cosas que se describen ahí, los pools tienen una tarifa de operación, porque son como un negocio, dicen “si delegás en mí, to cobraré tanto”, así que si obtenés cien dólares en recompensas, te daré 90 y tomaré 10, o algo así. Y luego tomás tu decisión, en el que quieras delegar, hacés clic en delegar, presionas un botón, dándoles tus derechos de staking a ellos, hasta que lo revoques, osea que vive ahí. El peso de los stake pools en el sistema es proporcional a la cantidad de participación que tienen delegados en ellos. Y tenemos este otro factor limitante, K, que dice que obtenes retornos decrecientes cuanta más participación tenés, así que es como una función S, subís, subís y eventualmente, se tapa y eventualmente en algún punto no recibís recompensas más allá de un cierto umbral. Así que hay un incentivo para separar pools a diferentes dueños luego de cierto punto. Esa es una cosa compleja, tenés que de hecho modelar la teoría de juego para entender dónde deberían establecerse esos parámetros.

Y nosotros no sabíamos cómo hacer eso, así que lo que hicimos fue comprar talento, fuimos a Oxford, contratamos a este muchacho Elias Koutsoupias, es un algorítmico de la teoría del juego, dijimos “hey, ¿te gustaría hacer algo de trabajo de teoría del juego en cripto?”, y dijo “eso suena divertido”. Así que pasó un año y medio, construimos todos estos asombrosos modelos, resolvimos cómo deberían verse todas esas curvas.

Lex: Osea el trabajo que resultaría en esa bonita distribución, para que no todo el mundo delegue al rey de las ratas. Por cierto, ¿cómo se siente ser de la realeza? No es un reino muy impresionante, pero sin embargo sos un rey.

Charles: Lo tomaré, porque creo que es la manera más bonita en que he sido nombrado en este espacio.

Lex: Sí, la gente te ama. Ok, ¿dirías que ese es un problema resuelto?, ¿los stake pools de teoría del juego?

Charles: No, es el comienzo. Estaba volviendo a mi punto original, construyes cosas en iteración, cada paso, si lo hiciste correctamente, es una invitación para diez problemas más, sexis, fascinantes, divertidos. Y es por eso que tuvimos un gran momento construyendo laboratorios, comenzamos en Edimburgo, ahora estamos en Tokio Tech, la Universidad de Wyoming, Atenas y estamos estableciendo más laboratorios este año. Y todos estos académicos quieren trabajar con nosotros, A, porque escribimos un montón de fascinantes documentos, pero B porque nos estamos focalizando en todos estos problemas geniales, sexies, interdisciplinarios. De hecho estamos con problemas en que no sabemos dónde publicar el documento. Porque tendrás este documento donde están estos muchachos PL, trabajando con muchachos cripto, trabajando con muchachos de sistemas, trabajando con economistas. Los juntás a todos y tenés este documento monstruo frankenstein y estamos como “¿dónde presentamos esto, a dónde va esto?”.

Lex: Naturaleza.

Charles: Ahí vamos, naturaleza o algo, no sé.

Lex: Así que los problemas sexies se multiplican exponencialmente.

Charles: Exactamente, y ahora llegamos a un punto donde estamos comenzamos a trabajar en refinamientos al sistema, en vez de cosas fundamentales que si no las solucionas el sistema simplemente no funciona. Por ejemplo, podés correr todo esto con NTP como tu reloj de servidor, pero de hecho podés crear una noción de tiempo dentro, escribimos un documento llamado Ouroboros Chronos para eso. Pero eso no es necesario para el sistema, sólo es bonito tener cosas, es una propiedad bonita. La optimización de generación de números aleatorios es otro ejemplo de eso, lo podés ejecutar con una cosa más pesada, sólo tenés un mayor golpe de bloque, tiempo y transición más lento. Tenemos este concepto de época, así que elegís líderes para ejecutar el sistema cada cinco días con Cardano. Pero ha habido trabajo derivado, nosotros ni siquiera hicimos esto, esté trabajo ocurrió en la Universidad de Illinois, y ese trabajo derivado dice que de hecho no tenés que hacer eso, podés hacerlo en una base bloque a bloque, eso es bastante genial. Así que ese es el otro punto de hacer las cosas de manera muy rigurosa, es que esa manera crea una lengua franca para lo que estás tratando de resolver con la totalidad de la comunidad académica. Así que de repente, gente que nunca conociste, de la que no sabes nada, han leído tus documentos, citado tus documentos, y comenzaron a escribir sus propios documentos, ya sea intentando atacar y destruir las cosas que has hecho, o construir encima de las cosas que has hecho.

Lex: Así que la gente está intentando encontrar maneras de atacar esto.

Charles: Exactamente, y yo no tengo que pagarles, esa es la cosa hermosa.

Lex: Es divertido intentar destruir y es así como se vuelve más fuerte.

Charles: Y así también construis tu carrera, hay mucha gente que ha obtenido cargos simplemente pateando Intel SGX. En CCS cada año hay algún muchacho ahí y está teniendo su momento haciendo llorar a Intel.