🇪🇸 Stake pools y descentralización | IOHK 15 Jul 2020 (Parte 1 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


Hola a todos, mi nombre es Lars Brünjes, soy el director de educación en IO y parte de mi responsabilidad es intentar explicar nuestra tecnología sin utilizar demasiados términos técnicos y que sea fácil de entender. Aunque realizamos ciencia de vanguardia todos los días en IO, las ideas subyacentes son de hecho bastante fáciles de entender y espero poder explicar en particular stake pools y descentralización en esta presentación.

Así que comencemos con descentralización, quiero explicar lo que es, por qué nos importa, por qué es una gran cosa por la que esforzarse y también cuáles son las desventajas, cuál es el precio que tenemos que pagar y qué es lo que los sistemas tradicionales y también Cardano realizan para lograr descentralización. Primero comencemos con qué es una blockchain y la forma en que me gusta pensar al respecto es como un libro contable en el cielo, probablemente hayas escuchado el término “libro contable distribuido”, deberíamos pensar en una blockchain, cualquier blockchain, no sólo criptomonedas, como este gran y antiguo libro que contiene muchas entradas, una después de la otra y el punto de este libro contable es que una vez que una entrada está ahí, escrita con tinta y la tinta toma algún tiempo para secarse, las entradas nunca pueden ser cambiadas, borradas, enmendadas, así que está establecida en piedra, todas las entradas están establecidas en piedra. Todo el mundo la puede ver en el cielo, significa que debería ser descentralizada, el libro contable no debería estar en la bóveda de algún banco donde pocas personas tienen acceso a él, pero debería estar descentralizada a través de todo el mundo, así que debería haber cientos o miles de copias. Así que todos los datos están distribuidos, todos pueden realizar entradas en el libro contable pero igualmente es una pieza consistente, todo el mundo va a estar de acuerdo con las entradas que hay en el libro. Una vez que tienes eso, el libro contable con tecnología, puedes hacer cosas asombrosas con él, por ejemplo puedes construir una criptomoneda en ella, donde las entradas en el libro contable son sólo transacciones. Así que la cosa básica que necesitas para obtener todos estos efectos asombrosos y aplicaciones es ésta abstracción de libro contable.

Es importante darse cuenta que hay un montón de matemáticas y tecnología involucradas para hacer que ocurra, pero el punto es que todas estas cosas cripto de lujo, toda las matemáticas, ciencia de la computación es utilizada para permitirnos tener esta cosa, este libro contable donde puedes realizar entradas con tinta imborrable, todo el mundo distribuido, disponible para todo el mundo. ¿Por qué esto es algo bueno para tener, ésta descentralización del libro contable?, primero, nos deshacemos del intermediario, en sistemas bancarios tradicionales, si una parte quiere transferir fondos a otra parte, hay una parte entre ellos, un banco, dos bancos, quizás el banco emisor y el receptor. Y esas partes en el medio obviamente tienen que vivir, tienen que pagar sus cuentas, tienen que hacer dinero, así que parte del costo de la transacción es para estas personas en el medio. Así que solo desde ahí es obvio que sería deseable deshacerse de estas partes en el medio, porque obviamente hacen a la cosa mucho más eficiente, porque no tendrías que pagarle a partes extra. Pero es más que eso, no es sólo acerca de eficiencia y costo, es también acerca de quién es dueño de tus datos, no sólo con bancos pero con las grandes compañías de internet que tenemos hoy, Google, Facebook, Yahoo, Amazon, el que quieras, cuando utilizamos sus servicios también obviamente les estamos dando nuestros datos, poseen nuestros datos, pueden utilizar nuestros datos, pueden vender nuestros datos y no tenemos control sobre lo que le ocurren. Así que teniendo esta autoridad central por donde tiene que pasar todo el tráfico entregamos mucha de nuestra privacidad y los derechos de nuestros datos.

También está el empoderamiento para tener descentralización porque todas las personas en el mundo están en igualdad de condiciones, todos pueden participar, nadie está excluído, no hay autoridad para decirle a una persona o grupo de personas que están excluídos, así que permite a gente normal en todos lados del mundo a participar en este sistema. Y la descentralización también es muy buena para la seguridad, robustez, tolerancia a fallas, porque a través de esta replicación masiva no hay un único punto de falla, donde si algo malo ocurre el sistema se pone de rodillas, quiero decir, si tienes un banco y hay una falla en el banco quizás se pierden todas las cuentas, muchos datos son perdidos, dinero es perdido. Pero con un sistema completamente descentralizado donde los datos son replicados, cientos, miles, millones de veces, si una única computadora es dañada o si parte de la red es removida, desconectada, entonces el resto contiene la información necesaria, así que no se pierde información y todo puede proceder, quizás se ralentiza si hay una disrupción importante, pero el sistema igual funciona, como en internet que fue mi ejemplo previo para la descentralización, incluso aunque se corte un cable en el Atlántico o haya alguna interrupción en la red, el tráfico e internet igual funciona, quizás un poco más lenta, quizás tu conexión de Europa a América no esta rooteada a través del Atlántico sino a través del otro lado del mundo, pero esta redundancia masiva ayuda a mantener el sistema corriendo incluso si hay daños y disrupciones.

Pero por supuesto también hay desventajas con todo esto, porque a través de esta replicación masiva también se necesita mucha más energía que si tienes un servidor central. Así que si los datos son replicados una y otra vez y todos los nodos, todos los que participan en este sistema tienen que hacer trabajo redundante y mantener datos redundantes en los discos rígidos, obviamente hay energía que no necesitarías en un sistema central y también hay desperdicio de espacio porque los mismos datos están replicados cientos, miles o millones de veces. Por supuesto hay un costo, tenemos que reconocer eso, la gente podría utilizar estos recursos de hardware, discos duros, el poder de los CPUs para otras cosas, por ejemplo para guardar y reproducir videos de gatos en internet.

Así que nos gustaría tener descentralización pero primero intentemos entender cómo de hecho los sistemas blockchain logran esto, también tratemos de entender cuál es el problema actual, y está bajo el título de consenso. Imaginemos que tengo algunos fondos, me gustaría comprar un auto pero también me gustaría irme de vacaciones pero no puedo pagar ambas cosas. Así que podría dirigir una transacción enviando mis fondos al vendedor de autos y otra transacción que tome los mismos fondos y los envíe al agente de viajes, envío una transacción a un nodo en algún lugar y otra transacción a otro nodo, un nodo escribirá una transacción en el libro contable y el otro nodo escribirá la otra transacción en el libro contable. Y ambas dos, por supuesto, son conflictivas, así que no sólo estos dos nodos tienen diferentes versiones de este gran libro contable que se supone es único para todos, estas versiones tampoco pueden fusionarse porque realizan un doble gasto, gastan los mismos fondos dos veces. Esto es llamada una bifurcación en la blockchain, cuando de repente existen dos o más versiones de este libro contable y tiene que ser prevenido, así que tienes que encontrar una manera de decidir cuál de las dos versiones es la correcta. Y este no es un juicio moral, nadie va a decidir si ese vendedor de autos o agencia de viaje es más merecedor de recibir mis fondos, pero realmente no importa, sólo tienes que decidir entre uno de los dos y todos tienen que estar de acuerdo en ello, así que todos tienen que tener consenso sobre qué versión del libro contable es la correcta. Esto es llamado consenso y hay protocolos de consenso que logran esto y básicamente todo el consenso se trata de decidir quién tiene el derecho de realizar la siguiente entrada, en nuestro caso sólo uno de los dos nodos va a tener el derecho de en realidad tomar mi transacción, puede ser la que envié al vendedor de autos o la otra que envié al agente de viajes, y puede ocurrir que accidentalmente ambos reciben ambas transacciones y en ese caso ellos son responsables por elegir una de ellas y, de nuevo, no importa cuál de las dos eligen mientras elijan una. Pero podrían realizar diferentes elecciones, quizás un nodo decide que quiere aceptar la del vendedor de autos y el otro nodo decide que quiere aceptar la transacción para la agencia de viajes. Y tiene que haber alguna especie de mecanismo que dice “ok, vos estás en lo cierto o vos estás en lo cierto” y esto es consenso.

En la práctica es muy complicado, son protocolos criptográficos altamente sofisticados que determinan cómo funciona el consenso, pero la idea subyacente, de nuevo, es muy simple, es básicamente realizar loterías virtuales. Así que cada vez que un nuevo bloque tiene que ser producido, básicamente una nueva entrada en este libro contable o de hecho para propósitos de rendimiento, no es sólo una entrada que correspondería a una única transacción, es un conjunto de entradas que llamamos bloque, de ahí su nombre blockchain. Para cada uno de estos bloques, conjunto de entradas, para las nuevas entradas al libro contable, habrá una lotería virtual y el ganador de esta lotería tiene el derecho a realizar estas nuevas entradas y por su molestia también recibe recompensas, es para motivar a la gente a realmente atravesar todas estas molestias, invertir en equipamiento y hacer todas las cosas, así que reciben recompensas por sus esfuerzos. Es interesante o importante notar que en estas loterías no es que cada persona básicamente tiene un voto o que cada persona tiene la misma chance de ganar. Y si piensas en ello tiene sentido porque en nuestro mundo digital no está tan clara la correspondencia entre gente, por un lado e identidad en línea por el otro lado, quiero decir, puedo crear varias cuentas de correos electrónicos, podría pretender ser un montón de identidades diferentes en la red. Así que no es realmente posible, al menos todavía, aunque hay mucha investigación siendo realizada acerca de estos sistemas de identidad, pero no es realmente posible identificar personas únicas. Así que la forma en que esta lotería virtual funciona en el sentido de que compras boletos de lotería y luego estos boletos participan en la lotería y eso también es como análogo con cómo funciona con las compañías, si eres titular de acciones en una compañía, no todos los titulares de acciones tienen el mismo poder de voto, depende de cuánta participación tengas, ¿cierto?, así que es similar a eso. Pero en cualquier caso están estas loterías y el ganador de la lotería puede crear el nuevo bloque lo que significa que puede realizar las próximas entradas en este libro contable, en el caso del doble gasto si hay transacciones conflictivas, entradas conflictivas en el libro contable, así es cómo se decide, esto cuenta, esto no.

Además todos estos protocolos asumen que en esta lotería, la mayoría de los poseedores de boletos, lo que sea que signifique, es honesta. Ese es otro aspecto importante, ni bien tienes un sistema completamente descentralizado ya no puedes realmente confiar en todos, habrá criminales y gente con malas intenciones así que no sería realista para el sistema funcionar sólo si todos siguen el protocolo, así que estos sistemas son siempre tolerantes contra adversarios y normalmente es una mayoría, mientras que la mayoría de los jugadores, poseedores de boletos sea honesta, todo funcionará, así que el sistema no se dañará, no fallará si un par de personas, mientras sea una minoría, intenten atacar el sistema.

Cómo exáctamente esto funciona, lo que constituye un boleto que hace una de las diferencias entre diferentes blockchains. Así que hablemos de prueba de trabajo primero, siendo Bitcoin el ejemplo principal, criptomoneda de primera generación y ver cómo Bitcoin y más en general sistemas de prueba de trabajo intentan solucionar este problema de lotería, qué significa y cuáles son las implicaciones y veamos cómo se las arreglan para lograr descentralización y a qué precio.

En el caso de prueba de trabajo, está el eslogan “un CPU, un voto” o si quieres mantenerte con la lotería sería “un CPU, un boleto de lotería”. Ejemplos de sistemas de prueba de trabajo he mencionado Bitcoin, Ethereum de hecho es otro, la mayoría de los sistemas presentes en la actualidad son prueba de trabajo. Cardano es el primer sistema de prueba de participación probadamente seguro, iremos a Cardano y prueba de participación en un rato. Y en estos sistemas, lo que determina cuánto poder de voto tienes, cuántas chances tienes de ganar la lotería está determinado por tu poder de hash, básicamente significa cuánto poder computacional posees. Y eso es debido a la manera en que estas loterías y estos sistemas lo determinan es a través de interrogantes, cada vez que un nuevo bloque tiene que ser creado, hay un cierto interrogante matemático y para resolver este interrogante necesitas realizar un montón de computación, así básicamente cada nodo de todo el mundo compite con este siguiente interrogante y el que puede solucionarlo primero gana, puede crear el bloque y obtener las recompensas. Así que todas las personas compiten entre sí tratando de solucionar este interrogante lo más rápido posible, y para resolverlo tienes que hacer billones, trillones de computaciones, así que el que tenga la computadora más rápida, más procesadores, más poder de hash, tiene mayores chances de solucionar el próximo interrogante y crear el próximo bloque.

Enlace a Parte 2 de 2

1 Like