🇪🇸 Prueba de Trabajo vs Prueba de Participación: Pros y Contras | Lex 20 Jun 2021

:es: Transcripción al español de “Proof of Work vs Proof of Stake: Pros and Cons | Charles Hoskinson and Lex Fridman”

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

Enlace a la versión doblada al español


Lex: ¿Qué es prueba de trabajo, qué es prueba de participación?, haciendo zoom en cada uno de ellos, y, ¿cuáles son las diferencias?

Charles: Todos tienen las mismas tres propiedades de elegir a alguien para que esté a cargo, hacer algo y validarlo. La diferencia es que el mecanismo de elección para prueba de trabajo es que tenés que solucionar un interrogante. Básicamente es como comprar billetes de lotería, podés comprar una cierta cantidad, cada segundo, con tus dispositivos de computación, algunos de ellos son resistentes a ASIC, los corrés en una laptop o GPU, y algunos son hardware especializado, que o tenés que fabricarlo o comprarselo a alguien que te lo venda, y eso es cuántos billetes por segundo podés obtener y eventualmente golpear esos números mágicos. Una vez que lo hacés, significa que tenés el derecho a hacer el bloque, generalmente empaquetar el bloque con el sistema de prueba de trabajo. Podés hacer esto buscando un único, o podés hacer esto fragmentando, buscando múltiples hacedores de bloques al mismo tiempo. Así que hay protocolos de prueba de trabajo fragmentados, Prism es un ejemplo de eso, de hecho Ethereum comenzó de esta manera con Specter, Ghost, Phantom, con el trabajo de Abi Zajar y Lapensky. Pero la idea básica es que escogés una colección de gente, hacen una colección de cosas y de alguna manera clasifican todo, lo serializan y previenen el doble gasto, genial.

La prueba de participación es lo mismo, pero es un recurso sintético. Así que en vez de hacer cosas dicen “bueno, si tenés el 25% del poder de hash, en promedio, en un largo período de tiempo, probablemente vayas a ganar el 25% de las veces”. “¿Por qué no introducimos aleatoriedad dentro, de alguna forma, y luego el 25% de las veces, en promedio, en un largo período de tiempo ganarás, así que es un recurso sintético?”. Pero todavía tenés que hacer las otras dos cosas, todavía tenés que hacer el bloque y todavía tenés que validar el bloque. La gran diferencia es que este paso en la prueba de trabajo es horrendamente costoso, utilizás más energía que la nación Suiza. Y el problema con eso es que tenés menos recursos para las otras dos, y el otro problema con eso es que si esto es horrendamente costoso, tenés una economía de escala. Lo que termina ocurriendo es que el sistema se vuelve menos descentralizado durante el tiempo, porque tenés estas operaciones verticalmente integradas, no todo el mundo puede construir una instalación de minado en un volcán en El Salvador, no todo el mundo puede ir a Mongolia y establecer una planta de energía de 5 Giga Watts, algo gigante, no todo el mundo tiene acceso a los ASICS patentados que la gente produce. Porque, ¿qué pasa si no te lo vendo y yo tengo una patente sobre ello, o qué pasa si yo controlo la cadena de suministro de estas cosas? Así que terminás teniendo centralización alrededor de quizás diez o cinco operaciones principales, como históricamente hemos visto con prueba de trabajo. Eso significa que terminás teniendo una clase dominante de la oligarquía de minado en el sistema.

La prueba de participación, si diseñaste correctamente los parámetros, de hecho te volvés más descentralizado con el tiempo, porque si la moneda sube en valor, la distribución de la moneda tiende a volverse más igualitaria. Por ejemplo, cuando Bill Gates comenzó Microsoft tenía el 64% de las acciones, ahora tiene menos del 5% de las acciones. Así que hay una deriva del fundador, durante el tiempo, mientras el valor sube y ocurre un despoje, tenés más, más y más gente viniendo, eso significa que hay más gente que puede participar en el consenso. E incluso podés sintonizar parámetros económicos, esto es lo que hicimos con Cardano, Ouroboros, creamos este concepto de K en el sistema, es un parámetro, es como un factor de fuerza que tiende a acumular una cierta cantidad de stake pools, podés establecerlo en 200, 500, 1.000, etc. Pero la idea básica es que si el precio de Ada sube, hacés a K más grande, y terminás, en términos prácticos, teniendo un más y más grande conjunto de actores haciendo bloques, que son únicos y distintos.

La otra cosa buena es que este es un recurso virtual, en lugar de un recurso físico, lo que significa que es portable por el clic de un botón. Digamos que China dice “el minado es malo, vamos a cerrar todo”, y parece que se están moviendo en esa dirección. Tenés toda esta gente en We Chat tratando de vender sus mineros, tratando de resolver cómo diablos muevo mineros, porque tienen estos gigantescos centros de datos que han construído, no podés exactamente agarrar un servidor y llevarlo con vos, es gigante, es un montón de trabajo, y si el gobierno lo incauta, bueno ahora es de su propiedad.

Con un recurso virtual, podés hacer clic en un botón y redesplegarlo en una jurisdicción distinta. Para mí, para un activo virtual, tiene mucho más sentido intentar atar tu seguridad a algo endógeno, algo dentro del sistema. Porque es igual que el activo, se puede mover a cualquier lado con el clic de un botón, y los seres humanos tienen un momento mucho más difícil atacando algo así.

Lex: Quizás podrías hacer de abogado del diablo, ¿cuál es la fuerza del sistema de prueba de trabajo? Porque algunas personas argumentarán que la prueba de trabajo, porque está fuera del sistema, está atada a recursos físicos y es más seguro, es menos propenso a ser atacado por grandes grupos de personas.

Charles: Sí, esa es una gran pregunta. La primera pregunta que nosotros tuvimos fue “¿puede la prueba de participación de hecho funcionar o no?”. El problema es que la ingeniería lideró cuando la ciencia debería haber liderado. Así que estaban todos estos protocolos PoS que salieron a principios del 2010, Peer Coin fue el primero, luego NXT y otros que salieron. Y ahí sufrieron cosas, la generación de números aleatoria no era buena, había ataques de molienda, nada en participación y todas estas otras cosas. Y hay un montón de hermosas propiedades para prueba de trabajo, desde el sentido teórico, incluso escribimos un documento llamado GKL, llamado tras los autores, Juan Garay, Nikos Leonardos y Aggelos Kiayias, nuestro jefe científico, tiene 11 mil citaciones ahora, se publicó en 2015. Básicamente todo lo que hace es modelar la blockchain, crea algunas propiedades de seguridad para ella. Y comienza a hablar de “¿qué es lo que de hecho hace la prueba de trabajo para vos?”, y resulta que hace un montón, es un sistema asincrónico, podés arrancar desde génesis, así que si Eve se une a la red, Wally se une a la red, Dazy se une a la red, entonces les das algunas cadenas diferentes, como cinco o diez cadenas diferentes, pueden ejecutar un cálculo, y siempre escogerán la cadena más larga, la cadena más pesada, dentro del sistema, esa es una gran propiedad de prueba de trabajo. Hasta que publicamos Ouroboros Genesis en 2018 de hecho necesitabas solucionar eso en prueba de participación con un punto de chequeo de confianza. Así que algún actor tenía que absorber, mirar toda la cosa, crear puntos de chequeo, y cuando se une gente nueva, sólo serían capaces de distinguir entre cadenas basados en un punto de chequeo diciéndoles eso. Así que tenés que hacer un montón de loca, rara matemática para crear esta noción de densidad, para ser capaz de mostrar que eso es posible. Pero hay un montón de propiedades de la prueba de trabajo que son súper difíciles de replicar y emular en el mundo de prueba de participación. Micali como que revolucionó toda la cosa VRF, hubo un grupo de Cornell que habló de mejores condiciones de red, escribieron un documento llamado Sleepy, nosotros hicimos Genesis, también hicimos el primer protocolo comprobadamente seguro. Pero eso fueron seis años de trabajo y seis documentos, y todavía no está terminado, todavía hay unas pocas cosas de pulido que tienen que ser realizadas, porque ya sabes, este es un recurso físico, y hay algo ahí.

Pero hay una falla con prueba de trabajo que es un poco problemática, es un tipo de sistema en el que el ganador se lo lleva todo. El maximalismo está como filosóficamente y computacionalmente construido dentro, digamos que tenés dos sistemas de prueba de trabajo, y aproximadamente tienen la misma capitalización de mercado y tasa de hash, y utilizan el mismo algoritmo. El problema es que si viene el minero, y digamos que el minero tiene suficientes recursos para tener el 51% de cualquiera de estas cadenas, de hecho tienen un incentivo perverso para venir y destruir una cadena, vender el activo en corto, se llama ataque gold finger, y luego ir a minar el otro activo, porque no están atados a ese activo, no son leales a él. Pueden obtener tanta ganancia minando un sistema como el otro, y los mercados les permiten sacar ganancia de la destrucción de un sistema.

Así que eso es algo que la prueba de participación no sufre, porque la única manera en que podés participar en un sistema de prueba de participación es que tenés que ser titular, tenés que ser propietario en ese sistema. Así que si destruís la cadena de Dazy, simplemente sería una pérdida neta, por la mayor parte, desordenaría los mercados.

Asi que siempre hay compensaciones en todas estas cosas, es por eso que me gusta este concepto de ir de 1 a N, teniendo múltiples recursos, porque, ¿por qué no tener prueba de trabajo y de participación juntas?, si la prueba de trabajo es útil, no un desperdicio computacional. ¿Y por qué no agregar otras cosas, como crear incentivos para relays de red? En este momento no hay incentivos en el sistema para que ejecutes nodos de par a par y compartas datos, en este momento no es un problema pero si estás corriendo un nivel de ancho de banda como los servicios web de Amazon, podría costarte como cinco mil dólares mensuales en ancho de banda sólo para correr un nodo completo o algo así, nadie lo haría, entonces tu sistema se centralizará alrededor del eslabón más débil, ya sea la capa de almacenamiento, la capa de computación o la capa de red del sistema. Así que si podés incentivar los recursos de manera diferente, entonces estarás en una hermosa posición donde terminarás teniendo un sistema resistente que paga sus propias facturas.