🇪🇸 Stake pools y descentralización | IOHK 15 Jul 2020 (Parte 2 de 2)

:es: Transcripción al español de “Stake pools and decentralization

Publicado en el canal de Youtube de IOHK el 15 de Julio de 2020

Enlace a la versión doblada al español


Enlace a Parte 1 de 2

Pero eso viene con un costo, porque todas estas computadoras que intentan solucionar estos interrogantes necesitan un montón de energía, está el eslogan “Bitcoin el Bélgica”, también ha sido comparado con otros países como Suiza, pero es efectivo que el consumo energético de la red Bitcoin es comparado al de países de tamaño medio como Suiza o Bélgica, que es alrededor del 0.2% de toda la electricidad en el mundo, así que 0,2% de toda la electricidad en el mundo es utilizada por Bitcoin, por los llamados mineros para trabajar en los cripto interrogantes y pelear por el derecho a crear el próximo bloque y eso es incidentalmente varias plantas nucleares en valor de consumo energético, así que es caro. Pero, por supuesto, obtienes algo por ello, llamémosla descentralización, o eso esperamos.

Esta prueba de trabajo también nos lleva a una carrera armamentística de hardware, cuando Bitcoin comenzó en 2009 la gente sólo estaba trabajando en estos interrogantes en sus computadoras o portátiles, así que utilizaban CPUs normales. Luego cuando Bitcoin se convirtió en más valioso y estas recompensas se volvieron más interesantes, la gente realmente quería convertirse en el primero en solucionar el próximo interrogante, esta carrera armamentística comenzó a tener dispositivos más y más poderosos para solucionar estos interrogantes más rápidamente. Así que en 2010 comenzaron a utilizar GPUs, tarjetas gráficas básicamente, en 2011 fueron FPGA, chips programables y desde 2013 son ASICs que básicamente es hardware personalizado, así que alguien ha diseñado hardware personalizado, un chip personalizado, cuyo único propósito es solucionar estos interrogantes de hash de Bitcoin. Así que fue hace mucho tiempo cuando la gente sencillamente podía utilizar sus portátiles para obtener una chance real de ganar una de estas loterías y crear un bloque Bitcoin. Así que debido a las altas recompensas y debido a cómo funciona la prueba de trabajo siempre está esta presión de obtener hardware más y más rápido, procesadores más y más rápidos. La gente es impulsada en esta dirección para siempre actualizar su hardware a computadoras más poderosas.

También tiene implicaciones geográficas porque debido a estas computadoras altamente poderosas y especializadas, consume mucha energía así que países o regiones en el mundo donde la energía es barata son más preferibles y también necesitas un montón de refrigeración y de nuevo, si tienes que hacerlo artificialmente entonces necesitas un montón de energía, eso significa que la gente tiende a minar Bitcoin en áreas frías del mundo. Y eso significa que un montón de gente en el mundo no tiene acceso geográfico en el mundo para el minado realista de Bitcoin, grandes proporciones del mundo son excluidas de esto, por supuesto para tener una chance realista de competir por estas recompensas de bloque, se tendrán que mover a un país donde la energía es barata y el clima es frío.

Y luego, todavía puedes decir “por supuesto, es el precio que tienes que pagar por la descentralización”, pero como hemos dicho, parte es que incluso con todos estos costos, consumo energético de Bélgica y la desigualdad geográfica de que algunos países son preferibles respecto a otros, igualmente no obtienes realmente descentralización. Porque está esta tendencia de que la gente quiere ahorrar costos, costos de hardware, etc, así que se juntan en los llamados pools de minería donde un montón de gente se une para trabajar en estos interrogantes juntos y luego compartir las recompensas. Por supuesto siempre es bueno para que pools medianos se fusionen porque siempre hay costos que se pueden ahorrar de esta manera y de hecho esta tendencia la podemos observar en el mundo real, con los años hemos visto pools de minería más y más grandes y si miras al poder de hashing que tienen, si miras este gráfico de torta ves que los cuatro o cinco pools de minería más grandes tienen más de la mitad total del poder de hash que es utilizado en el mundo para minar bloques Bitcoin. Y si recuerdas antes hablamos de consenso, dije que todos estos protocolos funcionan asumiendo que tienes una mayoría honesta, en el caso de prueba de trabajo esa es una mayoría honesta del poder de hashing. Y eso significa que ahora cuatro pools, cinco pools tienen dicha mayoría y mientras sean honestos no es muy malo, pero si esos cinco pools, cuatro, conspiran y trabajan juntos, podrían hacer lo que quieran, podrían crear estragos en el sistema Bitcoin. Por supuesto cuatro o cinco es mejor que uno, así que no es un desastre total, pero igual está muy lejos de la visión de tener un sistema completamente descentralizado con cientos y miles de partes iguales que todas se mantienen con chequeos. Así que tenemos todo este costo, todo este esfuerzo, todo este hardware especial que no hace nada interesante salvo solucionar estos tontos interrogantes de hashing, todo este consumo energético y al final del día lo que obtenemos es algo que aún se ve muy centralizado, así que la pregunta es por supuesto si lo podemos hacer mejor.

Por supuesto en Cardano sabemos que podemos, y esto no es para criticar Bitcoin o Ethereum, quiero decir, esos por supuesto marcaron el rumbo para la visión original que nos trajo a este camino en primer lugar. Pero son primera o segunda generación, siempre hay espacio para la mejora y Cardano es una blockchain de tercera generación de prueba de participación y en los próximos minutos quiero explicar cómo lo hacemos mucho mejor, ordenes de magnitud mejor incidentalmente en estos problemas que identificamos con sistemas de prueba de trabajo tradicionales.

¿Cómo es diferente la prueba de participación?, vimos en el sistema de prueba de trabajo como Bitcoin, el eslogan fue “un CPU, un voto”, el poder de hashing determina tus chances de ganar la lotería virtual. En la prueba de participación es diferente, uno podría decir “un Lovelace, un voto, o un Lovelace, un boleto”. El Lovelace es la unidad más pequeña en la moneda Cardano, la unidad principal es Ada, pero Lovelace es la fracción más pequeña de él. La idea es que cuanta más participación, cuanta más moneda posees en el sistema determina cuán altas son tus chances de ganar esta lotería, así que cuanta más moneda poseas, más altas son tus chances de que se te permita crear el próximo bloque. Para obtener una idea de cómo funciona, está esta idea que originalmente fue llamada “sigue a Satoshi” porque Satoshi es a Bitcoin lo que Lovelace es a Ada, así que en nuestro caso sería “sigue a Lovelace” y luego en realidad es una idea muy simple, puedes imaginar que todos los Lovelaces en el sistema, trillones de ellos, más que trillones, son monedas, monedas físicas y en esta lotería sólo eliges una de ellas aleatoriamente. Y cada uno que posee algo de Ada chequea si es poseedor de esta moneda específica que fue seleccionada y si es así entonces ganó la lotería y puede crear el nuevo bloque. Y si piensas en ello entonces obviamente si tienes el doble de Ada, las chances de que tengas esta moneda seleccionada al azar en tu billetera son el doble de altas, así que esto nos demuestra esta idea de que tu participación determinan tus chances de ganar la lotería, así que en principio así es como funciona, en la práctica es distinto pero lleva a esta idea.

Y miramos a la carrera armamentística en Bitcoin, los requisitos de hardware, consumo energético y todo esto no lo tenemos en un sistema de prueba de participación, quiero decir, todavía hay algo de computación que se necesita realizar para participar en esta lotería, tienes que validar bloques, transmitir bloques, recibir nuevas transacciones, separarlas en bloques, distribuirlas a otros nodos, etc, que por supuesto en Bitcoin o Ethereum es verdad también, así que sus nodos tienen que hacer el mismo trabajo también y encima de ello tienen que resolver estos cripto interrogantes. Y aquí, en Cardano, en un sistema de prueba de participación, no hay cripto interrogantes, están estas loterías que requieren algo de computación pero en comparación son mucho más bajas. En principio tenemos miembros de nuestra comunidad que lograron ejecutar un nodo Cardano en una Raspberry Pi, así que no está esta presión, este incentivo de invertir en máquinas más y más rápidas y poderosas, menos aún crear y diseñar hardware personalizado para ello, simplemente no es necesario. Sólo requiere una computadora modesta, una portátil, incluso una Raspberry Pi y puedes ejecutar un nodo Cardano en él y participar en todo y tus chances de ganar la lotería están solamente determinadas por tu participación, cuánto Ada posees y para nada en computadoras, así que el consumo energético es drásticamente más bajo en un sistema de prueba de participación, en particular en Cardano.

Lo que también significa que en lugar de exclusión geográfica ahora tenemos inclusión geográfica porque todo lo que necesitas es una computadora que está conectada a internet, en principio, y luego puedes participar, no importa si estás en África o en el Sudeste Asiático o en Europa o en USA, así que no hay ventaja para gente viviendo en países donde la energía es barata o abundante o hay un clima frío, así que todo el mundo en el planeta puede participar, todo lo que necesitan es un dispositivo de computación, incluso una Raspberry Pi y una conexión a internet razonablemente rápida.

Ahora, incluso aunque es muy bonito que incluso todos con un modesto hardware pueden participar, siempre habrá personas que no quieren o no pueden. Por ejemplo, simplemente puedes no estar interesado en los aspectos técnicos o filosóficos de la descentralización, sólo quieres llevar dinero de A a B y realmente no te interesa cómo funciona, no quieres establecer un nodo, no quieres alquilar un servidor y tener esta conexión a internet que es estable y habla con los otros nodos, así que solo quieres que las cosas se hagan. Y aquí es donde viene la delegación, el concepto de delegación y stake pools, así que para esto es importante entender que en un sistema de prueba de participación, cada moneda, cada pedazo de moneda de hecho tiene un doble rol. Para Ada, para la moneda, cada Ada, cada Lovelace tiene un doble rol. Por un lado tiene pagos, es la parte obvia, que también tienes con Bitcoin o Ether, así que puedes utilizarla como una moneda, puedes utilizarla para almacenar valor, puedes utilizarla para transferir valor a alguien más, puedes utilizarla para pagar por bienes y servicios, comprar ese auto o esa vacación que mencioné al principio, así que eso es obvio y es lo que esperarías de una criptomoneda. Pero debido a que Cardano es una criptomoneda de prueba de participación está este otro rol que cada moneda tiene y es el rol de staking, así que por poseer esta moneda participas en la lotería virtual “sigue a Lovelace”. No sólo puedes gastar Ada también puedes utilizarlo como un boleto de lotería y el punto crucial aquí es que estos dos roles pueden ser separados. Así que mientras sigue manteniéndose como un medio de pago, puedes delegar el segundo rol de Ada, el rol de boleto de lotería a alguien más, al llamado stake pool.

Delegas tu boleto de lotería de Ada a un stake pool pero siempre siempre siempre mantienes control del rol de pago de Ada. Así que delegar en un stake pool no significa que les dás el dinero, sólo significa que les dás el derecho a utilizar tu boleto de lotería. Así que el stake pool recibe delegación de gente alrededor de todo el mundo que no quieren ejecutar su propio nodo, no quieren ejecutar su propio stake pool y básicamente el stake pool colecta todos estos boletos de lotería y luego tiene el poder de todos estos boletos de lotería combinados para participar en la lotería, así que tienen una chance mucha más alta de realmente ganar la lotería y obtener el derecho a crear el próximo bloque. Pero eso no significa que la gente que está delegando confíe en el stake pool con su dinero, sólo les confían con sus boletos de lotería. Así que si yo tengo algo de Ada y no quiero ejecutar mi propio nodo y delego a un stake pool, básicamente le doy mis boletos de lotería al stake pool, puedo, en cualquier momento, utilizar ese Ada, por supuesto que si le doy mi Ada a alguien más, para comprar un auto, entonces ya no voy a recibir recompensas del stake pool, quizás las reciba el vendedor de autos, pero el punto es que en todo momento tengo control sobre mi dinero y siempre puedo gastarlo. Entonces el stake pools colecta todos estos boletos, tiene mayor poder de votación, chances más altas para de hecho ganar la lotería, crear un nuevo bloque, así que recibe algo por su esfuerzo, así que recibe sus recompensas por crear todos estos bloques, se queda con algo de ello, para sus propios costos operacionales porque el stake pool tiene que establecer su infraestructura, el stake pool no sólo tiene que ejecutar el servidor donde corre el software, también se supone que provee algo de infraestructura de red, llamado nodo relay, cada servidor da soporte a servidores adicionales que actúan como relés y se conectan a otros relés y otros nodos individuales alrededor de todo el mundo para hacer rápida la transferencia de bloques. Así que hay algunos costos involucrados en ejecutar un stake pool, debes alquilar un servidor, tener una conexión a internet, tener un disco duro grande, etc. Así que los dueños de stake pools pueden tomar esos costos de las recompensas que reciben por crear bloques y luego de que hayan tomado los costos y el margen para ellos mismos dividen el dinero entre todos los que delegaron en sus pools. Y esto incidentalmente ocurre automáticamente, en Bitcoin por ejemplo los pools de minería son de alguna forma similares, pero ahí es lo que se llama fuera de cadena, así que todos los pools de minería manejan pagos entre los miembros, eso está en ellos y no es preocupación del sistema Bitcoin. En Cardano es totalmente diferente, es parte del protocolo, el protocolo garantiza que los delegadores recibirán su parte justa de recompensas de los stake pools automáticamente. He mencionado antes que una razón por la que querrías delegar a un stake pool en lugar de hacer tu propia cosa y producir tus propios bloques es falta de interés, o falta de conocimiento técnico. Otra razón son también las variantes, si tienes relativamente baja participación, quizás sólo ganas una vez cada, no sé, cien mil bloques, digamos una vez al més o algo así, entonces es muy difícil para tí predecir fuentes de ingresos para estos bloques, quiero decir, crearás tus bloques, todo está bien, pero quizás en un més eres afortunado y produces tres y luego pasas por dos o tres meses sin ganar la lotería y sin obtener recompensas, así que tu ingreso fluctuará fuertemente. Los stake pools, porque tienen tanta participación delegada en ellos, sus variantes son mucho más bajas, quizás producen mil bloques todos los meses y por supuesto existe alguna fluctuación estadística que podría ser 995 un mes y 1030 el otro, pero esta es una fluctuación relativamente baja comparada con este ejemplo de mil bloques promedio en este ejemplo. Eso significa que la fuente de ingresos que el stake pool recibe será relativamente constante, así que tambíen la gente que delega en ellos tendrá ingresos relativamente predecibles cada mes, esa es otra razón por la que querrías delegar incluso si estás técnicamente interesado y podrías de hecho ejecutar un nodo por tí mismo.

Ahora por supuesto la pregunta es ¿funciona?, y ¿no tendremos los mismos problemas con nuestros stake pools que los que tiene Bitcoins con sus pools de minería donde cinco grandes pools de minería Bitcoin dominan todo y tienen la mayoría del poder de hashing? Y debido a que tenemos este ejemplo Bitcoin en mente, nosotros diseñamos nuestro esquema de incentivos, la manera en que las recompensas funcionan, desde el inicio, para prevenir este problema. Así que aquí pueden ver una simulación donde sólo tenemos diez stake pools cuando en realidad vamos a comenzar con ciento cincuenta y luego escalar una vez que el tráfico se incremente en la red. Pero esto es sólo un ejemplo de simulaciones de las que hablé mucho más en otra charla que dí con Catalina acerca de nuestro esquema de recompensas, pero resumidamente corrimos estas simulaciones para ver cómo la participación se distribuye entre los pools con nuestro mecanismo de recompensas. Y vemos que comienza un poco caótico pero al final tenemos esta bonita situación donde tenemos un número de pools que todos tienen el mismo tamaño, este efecto no se vé en Bitcoin donde unos pocos dominan pools muy grandes y luego hay un montón de pequeños. Y esto, como dije, ha sido diseñado para lograr este efecto, y ¿cómo funciona?, básicamente la idea es que mantenemos recompensas de un pool una vez que alcanzan un cierto tamaño. En Bitcoin no existe tal cosa, si un pool crea el doble de bloques también recibe el doble de recompensas. En Cardano esto en algún punto esto se detiene, así que una vez que el pool ha alcanzado un cierto tamaño deseado, igual puede producir más bloques pero no recibirá recompensas extra por aquellos. Eso significa que la gente no querrá delegar en un pool saturado si ya está lleno, porque la misma cantidad total de recompensas se divide en más y más participantes, así que en su lugar la gente delegará en un pool que es más pequeño y todavía tiene capacidad. Y eso impulsará a la gente a dividir su delegación en pools aproximadamente iguales y no veremos este efecto que vemos en Bitcoin y otras criptomonedas de primer y segunda generación existentes. Y como dije, comenzaremos con ciento cincuenta porque queremos asegurarnos que cada operador de stake pool recibe recompensas suficientes para que valga la pena su tiempo al principio. Esto puede ser escalado con el tiempo y en principio el cielo es el límite, así que no hay razón por la que no pueda haber miles, decenas de miles de stake pools eventualmente.

Esto aquí, por supuesto, es sólo una simulación pero también tenemos algunos datos reales de nuestra ITN, nuestra testnet incentivada que ejecutamos durante los últimos meses y aquí vemos cómo el número de stake pools en la cadena se incrementa. En el diagrama de la izquierda está el número de stake pools registrados, vemos que se levanta bastante más arriba de mil, pero el diagrama de la derecha es quizás más justo porque este es el número de stake pools activos, pools que de hecho produjeron bloques, no todos los pools que se registraron de hecho hicieron el trabajo, pero incluso ahí ves que alcanza los mil en Junio de este año. Así que, parece funcionar, tenemos descentralización verdadera en contraste con Bitcoin donde tenemos estos pocos pools dominantes y aquí tenemos esta bonita distribución de pools de tamaño medio aproximadamente del mismo tamaño.

Así que resumamos, primero hablamos de sistemas de prueba de participación y sus problemas, alto consumo energético, porque estos cripto interrogantes utilizan un montón de energía que es inservible. Bueno, debería decir que hay pensamientos de cómo mejorar esta situación con la prueba de trabajo, una muy interesante es la llamada prueba de trabajo útil, en donde en vez de solucionar interrogantes de hashing inservibles, la idea es que el trabajo es de hecho utilizado en algo que tiene sentido como investigación de cáncer, plegamiento de proteínas, astronomía, búsqueda de vida alienígena ahí fuera, cosas como esa. Pero es complicado y no se ha hecho en la práctica todavía, así que es un área de investigación interesante, una en la que incidentalmente todos trabajamos, pero por el momento tenemos este problema de que toda la energía es desperdiciada, el resultado de este trabajo no es útil para nada, sólo necesita lograr consenso en la blockchain. Y esto, como expliqué a través de la carrera armamentística, donde la gente está muy incentivada a crear máquinas más y más rápidas con más y más poder para ser más rápidos solucionando estos interrogantes que la competencia y obtener las recompensas. Expliqué que es exclusivo geográficamente porque algunos países y regiones en el mundo son mucho más atractivas para los mineros Bitcoin que otras regiones porque tienen menor costo energético o clima frío y también expliqué que a pesar de todo esto, todo este costo, toda esta energía, realmente no funciona, funciona hasta cierto punto pero hay cuatro o cinco pools en Bitcoin que dominan a todo el resto, así que todo este consumo energético de Bélgica lleva a un nivel de descentralización que es modesto, para ser amable.

Por otro lado tenemos Cardano, prueba de participación y todo esto se vé mucho mejor, quiero decir, todavía están algunos de los problemas que identificamos con la descentralización en general, sigue siendo verdad para Cardano que los datos son replicados cientos y miles de veces, hay investigación para mejorar esto. Pero al menos comparado con prueba de trabajo, es significativamente órdenes de magnitud mejor para Cardano. Tenemos bajo consumo energético que corre en Raspberry Pi, no necesitas una computadora lujosa, no necesitas diseño de hardware personalizado para ejecutar nuestro software, así que no hay carrera armamentística, no tienes ningún incentivo para ir a un fabricante de chips y que diseñen un chip especial personalizado para tí que puede correr el software más rápido. Es inclusivo geográficamente, porque gente en todas partes del mundo mientras tengan una computadora y conexión a internet pueden participar, no necesitan energía específicamente barata o un clima particularmente frío. Y lleva a descentralización robusta, así que es órdenes de magnitud más barato, más inclusivo, órdenes de magnitud de menor consumo energético pero igual lleva a órdenes de magnitud de mayor descentralización. Cientos y miles de pools de igual tamaño en contraste con un puñado y distribución muy desigual. Muchas gracias, esa fue mi presentación, gracias por su atención y ahora espero responder sus preguntas.

1 Like