🇪🇸 ¿Cómo funciona la prueba de participación de forma simplificada? | CH 17 May 2020

:es: Transcripción al español de un fragmento de “Sunday AMA 05/17/2020”

Del minuto 00:15:07 al 00:25:30 del video original

Publicado en el canal de Youtube de Charles Hoskinson el 17 de Mayo de 2020

Enlace a la versión doblada al español


Hola Charles, ¿podrías dar una versión simplificada de cómo funciona la prueba de participación?

Sí seguro, hay una forma muy fácil de pensar en prueba de participación, tanto la prueba de trabajo como la prueba de participación están tratando de lograr lo mismo, todos los viejos algoritmos de consenso Rafts, Packs, estos protocolos BFT básicamente existían con la suposición de que tienes un sistema estático y federado. Estático en el sentido de que no vas a cambiar tu configuración de consenso muy a menudo y federado en el sentido de que esa configuración es básicamente un conjunto de actores, cinco, siete, nueve, once y no es elástico, así que no pasa de siete a treinta o algo así. Esto se construyó porque al final del día estabas hablando de computadoras entre actores conocidos que básicamente son dueños de los dispositivos y están construyendo un sistema distribuido para optimizar, vas de una computadora a muchas computadoras. La resistencia Bizantina fue añadida porque tal vez estás haciendo las cosas donde el hardware no es fiable en el que sin culpa propia te da respuestas equivocadas y el sistema necesita ser autocorrectivo, no quieres detenerlo como consecuencia de que está siendo un poco volteado o porque en realidad estás en red con partes externas, pero todavía tienes una situación en la que el sistema es en su mayor parte estático y federado.

Ahora, nos movemos a un sistema dinámico y descentralizado, dinámico en el sentido de que mucha gente puede participar y no sabes cuán grande ese conjunto va a ser, básicamente cualquiera puede participar, no necesitas permiso para jugar dentro del sistema. Así que esto requiere una nueva clase de protocolos y el primero de su clase era una prueba de trabajo y luego la prueba de participación fue inventado después. La gran diferencia es que necesitas alguna especie de recurso para determinar participación, en el caso de prueba de trabajo tu recurso es la tasa de hash, en el caso de prueba de participación tu recurso es ada. Ese recurso, con el que puedes tomar decisiones sobre quién llega a avanzar el sistema, puedes pensarlo de esta manera. Tienes tu sistema en estado A, cualquiera que sea el estado actual, el conjunto actual de todos los valores, luego ejecutas y luego un montón de gente propone cosas, dicen “bien, quiero enviar esta cantidad a Bob y quiero enviar esta cantidad a Eva, etc” y esas se denominan transacciones pendientes y se sientan en el pool de memoria y sólo esperan a que alguien las amontone todas juntas, haga un bloque y luego avanzar la red al siguiente estado, el estado B. De lo que se trata la prueba de trabajo y la prueba de participación es que es un mecanismo de decisión para decidir quién tiene el derecho de agrupar todas esas cosas que están sentadas en el pool de memoria y hacer avanzar el sistema de un estado al siguiente.

Entonces, ese candidato es transmitido a través de la red y si sigue las reglas, todos los nodos validadores, todos los nodos completos del sistema, pueden mirar eso y decir “sí, eso se ve bien, acepto ese bloque”. Así que básicamente hay un “selecciona quién va a hacerlo, hazlo y luego comprueba el trabajo de la persona que lo hace”. La única diferencia importante entre prueba de participación y prueba de trabajo es que en la prueba de trabajo, la fase de selección es básicamente un sistema de lotería determinada por un ratio hash, básicamente tienes un montón de gente que está comprando billetes, todas las capacidades mineras ¿cuántos billetes por segundo que pueden comprar?, si tienes un Giga hashing es un billón de tickets por segundo pedda hash, etc, etc y básicamente en algún momento encuentras ese boleto de la suerte, el hash afortunado que es un ganador y luego, si eres lo suficientemente rápido, puede ser utilizado para avanzar el sistema, obtienes el derecho a hacer eso. Ahora, si dos personas más o menos al mismo obtienen tickets ganadores, entonces tienes una pelea entre ellos y luego la primer persona que construya un bloque encima de su cadena es la ganadora y luego la otra se descarta, eso es llamado un bloque huérfano.

Ahora, con pruebas de participación, lo que hacemos es decir que en lugar de usar hashes para hacer esto decimos “está bien, sólo vamos a dejar que la gente gane sintéticamente”, así que si tienes el 25% del ADA en circulación, el 25% del tiempo, en promedio, tendrás una oportunidad de ganar y con el sistema de delegación, puedes tomar eso y dar esa oportunidad de ganar a un operador de stake pool en tu nombre. Y luego ellos van y participan y la única manera de que te paguen es haciendo el bloque. Esta es una de las razones por las que no está bien llamar a la prueba de participación como un interés o un dividendo o algo así, porque con intereses y dividendos tienes un derecho legal a un pago sólo por mantener un activo, con la participación no, en realidad tienes que hacer algo, tienes que hacerlo tú mismo o tienes que confiar a alguien que lo haga en tu nombre y de hecho tienen que ir y hacer eso y lo que están haciendo es realmente utilidad real para la red. Porque si estos stake pools no existieran entonces la red no podría avanzar, así que la red en su conjunto está pagando a la gente para hacer algo y de la única manera que pueden hacer algo es participando en la lotería sintética de manera efectiva y de hecho luego de construir el bloque y avanzando. Así que es un sistema muy inteligente porque logras participación abierta y logras descentralización, pero a diferencia de Bitcoin, porque no estás gastando nada de electricidad en esa lotería sintética, básicamente tienes una cantidad constante de energía que está siendo usada, muy, muy pequeña cantidad, en nuestro caso unos diez kilovatios si tuviéramos mil stake pools y todos están corriendo Rock Pi’s, ¿qué significa eso? que para el poder de una casa grande puedes ejecutar un sistema financiero a escala mundial, mientras que en Bitcoin el problema es que a medida que la tasa hash sube, y el valor de Bitcoin sube, vas a usar más y más y más electricidad para seguir siendo competitivos por esa misma cantidad de monedas, así que como consecuencia no hay incentivo para reducir el consumo de energía en el sistema si el sistema se vuelve más valioso, es todo lo contrario, en cualquier momento que el valor sube, gastarás más y más electricidad para adquirir ese valor.

Así que esto es lo que ha hecho que Bitcoin vaya desde el poder de una computadora portátil al poder de un país entero como Suiza y si Bitcoin sigue creciendo, como a una capitalización de mercado de un trillón de dólares, consumirá más electricidad que Canadá, consumirá más electricidad que Argentina, países muy grandes, así que te da una idea de cuán problemático esto será ambientalmente hablando y todo eso es totalmente eliminado con la prueba de participación. Como con todas las cosas hablas de compensaciones y las compensaciones son que tienes un recurso endógeno frente a un recurso exógeno, así que tienen diferentes modelos de confianza. Un recurso exógeno es un recurso fuera del sistema y un recurso endógeno es un recurso dentro del sistema ¿bien? Así que un recurso fuera del sistema significa que estás confiando en un proceso que vive fuera de tu protocolo para hacer el protocolo seguro, así que estás confiando en la existencia de hardware de minería, personas utilizando ese hardware de minería y que haya una cantidad suficiente alrededor que haría que sea bastante costoso que el sistema sea hackeado. En el caso de un recurso endógeno estás diciendo que es algo que está dentro del sistema, un recurso que existe dentro del sistema, es lo que le da seguridad al sistema, así que cuanto más caro resulte ser ese recurso y cuanto más abundantemente esté distribuido ese recurso, entonces menor posibilidad de fraude y abuso del sistema o daño al sistema. Así que tienes una alineación directa con un recurso endógeno a los incentivos financieros del sistema y a la seguridad y salud del sistema, mientras que no tienes una alineación directa con un recurso exógeno, porque esa capacidad minera podría ser usada para cualquier moneda de prueba de trabajo que comparte ese mismo poder de hash. Esta es una gran diferencia entre los sistemas, incluso si hubiera un Ada Classic, el ADA en Ada, el Cardano regular de todos los días no puede ser usado para asegurar ADA Classic, así que cualquiera sea el valor de un sistema no puede ser reutilizado para el otro sistema. Pero si tuvieras una situación Bitcoin y Bitcoin Cash, porque ambos comparten el mismo algoritmo de consenso, un minero elige ya sea la cadena A o la B. Aquí está el problema con eso, si la cadena A y la cadena B tiene aproximadamente la misma tasa de hash y el mismo valor, los mineros de una de estas cadenas en realidad tienen un incentivo para confabularse y destruir una cadena y luego mover todo el poder de hash a la otra cadena, porque pueden maximizar los beneficios. No puedes diluir tus recursos, si minas A y B al mismo tiempo sólo puedes dividir tus recursos al 50/50, así que haces aproximadamente la misma cantidad de dinero. Pero, si destruyes una de las monedas, puedes utilizar productos financieros como venta en corto y derivados, este tipo de cosas, para hacer dinero inesperado como en caída libre porque se vuelve inutilizable y está roto y luego cuando está destruido, sólo tienes que mover todo tu poder de hash al otro sistema y ganarías la misma cantidad de dinero que si minaras A todo el tiempo, pero llegas a mantener todo el valor de la destrucción de A. Ese es el problema con la prueba de trabajo, es un sistema de tipo “el ganador se lleva todo” y es muy mercenario, así que si estás defendiendo tu ciudad con mercenarios, tienes que ser muy cuidadoso porque esos mercenarios pueden tener un incentivo para encender tu ciudad y robarla si alguien les paga más si se dan cuenta de que pueden salirse con la suya. Mientras que con recursos endógenos es como defender tu ciudad con tu propia gente, ya sabes, si encienden la ciudad están matando a sus hijos, están matando a su familia, así que esa es la gran diferencia filosófica entre estas dos cosas. La prueba de participación trabaja en principios y sintetiza todas las propiedades de seguridad de la prueba de trabajo, eso es súper, súper duro y es por qué hemos tenido que pasar años y años de investigación para entender si ¿podíamos hacer esto sincrónico o asincrónico o parcialmente sincrónico, podemos obtener seguridad adaptativa, podemos arrancar de génesis?, había un montón de propiedades que la prueba de trabajo te da gratis como consecuencia de su diseño que son realmente difíciles de emular con prueba de participación de una manera probadamente segura, así que es por eso qué tuvimos que escribir un montón de documentos y pasar años pensando en ello.

1 Like