馃嚜馃嚫 Descentralizaci贸n de la red a nivel de protocolo

:es: Traducci贸n al espa帽ol de Provision of network decentralization on the protocol level

Publicado por Cardanians en su blog de Medium, el 12 de Septiembre de 2019.


Algoritmo de consenso de Cardano, Ouroboros

Introducci贸n

No cabe duda de que es necesario proporcionar un alto grado de descentralizaci贸n en las redes distribuidas. Dicho esto, la descentralizaci贸n en s铆 misma tiene que estar garantizada por el propio protocolo a trav茅s del denominado 鈥渁lgoritmo de consenso鈥. Asimismo, debemos tener en cuenta el hecho de que las 鈥渃ondiciones del mundo real鈥 est谩n sujetas a cambios, cambios que el propio protocolo apenas puede abordar, ya que es imposible predecir situaciones futuras. Si tales situaciones se presentan, es necesaria la intervenci贸n del equipo de desarrollo para que se puedan ajustar las reglas del consenso en el protocolo, de manera tal que reflejen el nuevo estado de las cosas del mundo real, permitiendo efectivamente que el protocolo conserve su calidad.

En este sentido, hay que se帽alar que existen diferencias significativas en los conceptos del PoW y PoS. Por lo tanto, veamos la historia del 鈥渘ivel de descentralizaci贸n鈥 de Bitcoin, consideremos su estado actual y establezcamos una comparativa con el potente PoS de Cardano, Ouroboros.

驴C贸mo medir hasta qu茅 punto est谩 descentralizada la red?

Una red distribuida es un tipo de red en la que m谩s nodos llegan a un consenso sobre el cambio de datos. Nos referimos a ella como 鈥渃onsenso distribuido鈥, es decir, un acuerdo de m谩s entidades sobre las normas del protocolo.

En primer lugar, veamos la definici贸n de la descentralizaci贸n en s铆 misma. El grado de descentralizaci贸n viene determinado por la independencia de sus nodos. Esto se debe a que, en teor铆a, todos los nodos de una red distribuida podr铆an tener un 煤nico propietario. En tal caso, a pesar de ser una red distribuida, se considerar铆a totalmente centralizada. Podr铆a decirse que, en t茅rminos de un escenario ideal, cada nodo deber铆a tener un propietario diferente, lo que har铆a que la red fuera tanto distribuida como descentralizada.

En segundo lugar, asumamos la perspectiva geogr谩fica. En t茅rminos de una red distribuida globalmente, el estado deseado es tal cuando los nodos est谩n distribuidos equitativamente por todo el mundo. Esto se debe a que los riesgos potenciales para la seguridad, tales como todo tipo de ataques y actividades de pirater铆a inform谩tica, por ejemplo, por parte de los Estados nacionales, tienen que ser considerados seriamente y, posteriormente, se toman medidas preventivas. Esta es la raz贸n por la que tener todos los nodos en un solo pa铆s, especialmente uno con un r茅gimen pol铆tico bastante autoritario, restrictivo o inestable, dista mucho de ser ideal.

En la introducci贸n, mencionamos que un protocolo debe reflejar y reaccionar a los cambios que ocurren en el 鈥渕undo real鈥 a nivel de gesti贸n de proyectos. Por lo tanto, una red descentralizada requiere un equipo de desarrollo descentralizado y totalmente transparente, de modo que se puedan tener en cuenta las necesidades de los usuarios, es decir, un equipo deseoso de hacer todo lo posible en nombre del protocolo.

Antes de comenzar con la siguiente indagaci贸n sobre el tema, podemos concluir que cuanto mayor es la descentralizaci贸n, mayor es el n煤mero de entidades independientes con derecho a proponer un bloque en particular. Por consiguiente, con un mayor n煤mero de entidades de este tipo, el riesgo de censura se reduce en gran medida, ya que el poder de decisi贸n se distribuye entre un n煤mero mucho mayor de 鈥渁gentes鈥. Esto aumenta enormemente las probabilidades de que la mayor铆a demuestre comportamiento y conducta honestos y que, a su vez, esto incremente la confianza de los usuarios en el protocolo. Y el elemento de confianza es fundamental para la adopci贸n m谩s extensiva de cualquier protocolo, ya que durante las transacciones entre pares, el protocolo en s铆 mismo sirve como intermediario a trav茅s de los nodos de la red. En pocas palabras, los usuarios conf铆an en los operadores de pools que est谩n supervisados por el protocolo.

Bitcoin y su PoW

En lo que respecta al PoW, dos variables clave deciden efectivamente qui茅n gana la carrera para a帽adir un bloque: la tasa de hash y la coincidencia. Sin embargo, el ganador de tal carrera puede ser predicho con un alto grado de probabilidad ya que una tasa de hash m谩s alta presenta una ventaja considerable. Imag铆nese, si s贸lo existieran dos entidades, la primera con un 70% de tasa de hash y la segunda con el 30% restante. En tal escenario, la entidad con una tasa de hash m谩s alta no extraer谩 el 100% de los bloques, sino m谩s bien el 90% y la entidad menos poderosa tendr谩 que depender del factor de coincidencia mientras busca el hash correcto.

Siendo as铆, el PoW revela una gran desventaja en t茅rminos del concepto de descentralizaci贸n. Su nivel disminuye progresivamente a medida que la tasa de hash, con m谩quinas mineras dedicadas instaladas en grandes naves, se dispara. En consecuencia, los mineros menores est谩n cada vez menos motivados a la miner铆a, ya que la miner铆a se vuelve poco rentable con la utilizaci贸n de la CPU y la GPU. Y hoy en d铆a, en muchos pa铆ses, la rentabilidad de la utilizaci贸n de los mineros ASIC tambi茅n se pone en duda, a menos que el individuo tenga acceso a una electricidad barata. Con el surgimiento de los pools mineros, los mineros comenzaron a delegar su poder, por lo que hoy en d铆a se vislumbra una nueva tendencia de comprar tasas de hash de un gran pabell贸n con moneda fiduciaria, violando efectivamente el concepto de descentralizaci贸n. Los pools mineros, sus operadores, respectivamente, controlan la tasa de hash y, por lo tanto, ganan un poder sustancial que ahora ejercen.

Utilizando el protocolo Stratum, los pools proporcionan una plantilla de bloques a los peque帽os mineros que trabajan para resolver el problema en una escala dada. Al distribuir el trabajo entre los mineros individuales, el pool aumenta las probabilidades de explotar con 茅xito el bloque en cuesti贸n y, dado que el pool es totalmente responsable de la creaci贸n de bloques y de la validaci贸n de transacciones, tambi茅n puede aplicarles la censura, a帽adiendo transacciones de acuerdo con sus preferencias sin tener en cuenta la tarifa, o puede optar por ignorar una transacci贸n en particular. Hay gente com煤n detr谩s de los operadores de pools, y pueden ser forzados por alg煤n atacante a hacer algo incorrecto.

Desde la perspectiva de la descentralizaci贸n, un protocolo deber铆a eliminar cada punto de falla. Por lo tanto, tambi茅n todos los posibles ataques deber铆an poder ser eliminados. Los operadores de pools en Bitcoin son puntos de fallo individuales.

Desde el punto de vista del propio protocolo, la descentralizaci贸n no est谩 siendo controlada en absoluto. Durante la etapa naciente de los cripto-proyectos, funcion贸 relativamente bien, aunque hab铆a muchos menos mineros que minaban en computadoras de alto rendimiento. As铆, Bitcoin sol铆a ser descentralizado y resistente a la censura. Esto, sin embargo, ya no es as铆, ya que el algoritmo de consenso PoW no tiene en cuenta el mero hecho de la centralizaci贸n gradual de las operaciones mineras, delegando el rendimiento a grandes pools. El algoritmo en s铆 no es capaz de identificar y, por lo tanto, cuando se le presenta un bloque v谩lido (desde el punto de vista de una transacci贸n), simplemente lo a帽ade a la cadena de bloques. En otras palabras, el algoritmo de consenso PoW ignora completamente la posibilidad de que los bloques pudieran haberse creado de forma centralizada, o el hecho de que una entidad en particular pudiera haber censurado transacciones particulares. El protocolo ha estado trabajando de esta manera durante a帽os, y el equipo que lo respalda no ha abordado los cambios en el medio exterior, a saber, la creaci贸n de los mineros de ASIC, las grandes naves mineras, as铆 como los pools mineros. Esto podr铆a verse como un fracaso de su equipo.

Asimismo, es importante tener en cuenta que el fork en la cadena de bloques es posible, siendo los pools quienes determinan cu谩l rama del fork continuar谩 las operaciones. Aqu铆, existe un peligro significativo en la posibilidad de una reorganizaci贸n de la cadena de bloques de acuerdo con una idea particular, y si los 3 o 4 pools mineros m谩s fuertes deciden cooperar en tal esfuerzo, tal haza帽a es factible, especialmente en un ambiente donde no hay m谩s de 10 pools fuertes, siendo la mayor铆a de ellos de origen chino. Por lo tanto, el riesgo antes mencionado es relativamente alto.

El eje principal de esta amenaza radica en el hecho de que el derecho a crear un nuevo bloque no requiere m谩s que de unos pocos pools mineros potencialmente cesurables, y la base para obtener ese derecho reside en la competencia por el poder de c贸mputo, que fue centraliz谩ndose gradualmente en torno a los pools. Adem谩s, esta posici贸n se fortaleci贸 a煤n m谩s al delegar los mineros m谩s peque帽os las tasas de hash a los pools. Podemos hacer una comparaci贸n con el escenario de un pa铆s que se enfrenta a elecciones generales sin un buen partido para votar, dejando que los ciudadanos opten por una elecci贸n de un mal menor. Para empeorar las cosas, a diferencia de la pol铆tica, la votaci贸n es totalmente antidemocr谩tica, ya que los pools son propietarios de sus pabellones de explotaci贸n minera, y nadie sabe realmente qu茅 parte de la tasa de hash pertenece realmente a los pools, y cu谩nto de ella se delega.

驴No deber铆a haber intervenido ya el equipo principal e intentado hallar una soluci贸n viable en relaci贸n a los pools? Desafortunadamente, no vemos tales esfuerzos; la iniciativa para abordar este problema s贸lo proviene de los individuos (Stratum 2, BetterHash). En teor铆a, el equipo responsable deber铆a haber tenido una posici贸n m谩s proactiva para resolver el problema, ya que est谩n mucho m谩s cerca del protocolo. Sin embargo, una soluci贸n de este tipo requerir铆a cambios fundamentales. Tambi茅n se plantea la cuesti贸n de si el n煤mero de pools aumentar谩 o disminuir谩 en el futuro, una respuesta a una pregunta que, por ahora, es dif铆cil de predecir.

驴Puede ser mejor el PoS de Cardano en t茅rminos de descentralizaci贸n?

En cuanto al algoritmo de consenso de Cardano, Ouroboros, la capacidad para salvaguardar la descentralizaci贸n es mucho mayor. Esto es posible gracias a la configuraci贸n espec铆fica de todo el modelo econ贸mico que favorece la existencia de un gran n煤mero de pools que se equilibrar谩n en t茅rminos de influencia, es decir, una oportunidad para producir un nuevo bloque. Adem谩s, habr谩 una selecci贸n de pool completamente aleatoria con el derecho de producir un nuevo bloque. La clave para un alto grado de descentralizaci贸n y las restricciones de la posibilidad de censura son la garant铆a de la aparici贸n de un gran n煤mero de entidades con derecho a crear un bloque. En el caso de Cardano, la delegaci贸n con ADA se realizar谩 sobre los stake pools y, por lo tanto, ser谩n apoyados por los usuarios. El modelo econ贸mico se establecer谩 de manera tal que los pools m谩s grandes, cuando alcancen un cierto grado de saturaci贸n, recibir谩n menos recompensas por producir un bloque, a pesar de sus mejores esfuerzos por hacerlo de la manera correcta. En consecuencia, mientras que dichos pools ser谩n creadores de bloques con mayor frecuencia, los usuarios se ver谩n motivados a delegar sus monedas en grupos m谩s peque帽os, donde la recompensa ser谩 mayor a pesar de que produzcan un menor n煤mero de bloques dentro de un per铆odo determinado.

Este recuento matem谩tico se incorporar谩 al propio protocolo. En consecuencia, se supone que los usuarios, con el fin de maximizar sus beneficios, delegar谩n sus monedas de manera que ofrezcan el mayor beneficio econ贸mico. Aqu铆, las billeteras parecen ser un instrumento 煤til.

El protocolo se basa en modelos matem谩ticos, en la teor铆a de juegos, y en el desarrollo previsto del comportamiento del mercado, lo que, en teor铆a, impide la aparici贸n de grandes grupos dominantes. Sin embargo, como hemos experimentado en el caso del PoW un desenlace inesperado, hacer predicciones precisas es bastante dif铆cil. Dicho esto, la 煤nica soluci贸n eficaz es una reacci贸n r谩pida a un problema en particular, idealmente, aunque sea un desarrollo descentralizado, ya que gracias a la elecci贸n aleatoria del pool, un hipot茅tico estafador tendr铆a muy pocas posibilidades, ya que no hay garant铆a de 茅xito en la creaci贸n de bloques seguidos, lo que hace imposible reorganizar la cadena de bloques.

En el caso del PoS, la distribuci贸n de la moneda es esencial. Un estafador podr铆a poseer m谩s fondos y si tuviera un gran n煤mero de monedas a su disposici贸n, sus posibilidades de cometer un fraude con 茅xito ser铆an igual de grandes. Sin embargo, debido a los elementos de elecci贸n aleatoria, el grado de incertidumbre en t茅rminos de lograr un ataque exitoso es relativamente alto y, en consecuencia, si las personas se dieran cuenta de tal comportamiento fraudulento, podr铆an delegar sus monedas en otro lugar y, por lo tanto, obstaculizar la influencia del falsificador.

El beneficio de PoS tambi茅n se puede apreciar en el hecho de que el algoritmo de consenso se puede ajustar, en caso de no funcionar seg煤n lo planeado. Con PoW, por otro lado, es mucho m谩s complicado ajustar el algoritmo porque el ganador est谩 determinado por el puro poder de la tasa de hash, con los respectivos pools compitiendo entre s铆. Se puede hacer una analog铆a con una carrera de velocidad. En la largada, los corredores salen corriendo, sin embargo, s贸lo una persona puede ser la ganadora, que es la primera en llegar a destino. Y con PoW no hay segundo o tercer lugar, el ganador se lleva todo. Para empeorar las cosas, debido a la latencia de la red, algunos 鈥渃orredores鈥 pueden salir antes y, por lo tanto, aumentar sus probabilidades de obtener la victoria.

La creaci贸n de un nuevo bloque en Ouroboros Genesis

En Cardano, el tiempo se divide en n煤meros enteros l贸gicos espec铆ficos llamados ciclos (epochs). Cada ciclo se divide en 21.600 intervalos de tiempo (slots), cada uno de los cuales dura aproximadamente 20 segundos, por lo que cada ciclo dura aproximadamente 5 d铆as. En cada intervalo, un nodo es elegido como 鈥渓铆der del intervalo鈥 (slot leader), y puede crear un nuevo bloque. Antes del inicio de cada ciclo se seleccionan todos los l铆deres de intervalos al azar, de una manera tal que nadie puede prever cu谩ndo obtendr谩 cada uno su derecho a minar un bloque en particular. Las recompensas se pagan despu茅s del final de cada ciclo, y no despu茅s de cada bloque minado, como es el caso de PoW. Si un nodo en particular desea participar en el consenso, tiene que conectarse a la red y sincronizar el ledger. Posteriormente, el nodo se registra en la funci贸n Reloj Global, que es utilizada por el protocolo para la temporizaci贸n. La funci贸n Reloj Global proporciona al nodo la informaci贸n necesaria para determinar el ciclo e intervalo en el que se encuentra el ledger.


El Profesor Aggelos Kiayias explicando Ouroboros

Al principio de cada ciclo, se ejecuta una instant谩nea (snapshot) de la cadena de bloques para averiguar c贸mo se distribuyen las monedas para el stake. La instant谩nea refleja el estado de la distribuci贸n de las monedas en juego, durante el 煤ltimo bloque perteneciente a 2 ciclos anteriores. Aqu铆 se aplica el mecanismo Follow-the-Satoshi, en el que cada Lovelace (0,000001 ADA) delegado es algo as铆 como un billete ganador que podr铆a ganar el derecho a crear un bloque. Cuantos m谩s boletos tenga el usuario en el juego, mayores ser谩n las probabilidades de ganar. La instant谩nea aqu铆 es una entrada para generar un elemento de coincidencia.

El nodo se registra en la funci贸n Global Random Oracle que genera, en cada intervalo, un n煤mero aleatorio 鈥淰鈥. El or谩culo genera un elemento de coincidencia basado en el historial de bloques y en la identificaci贸n un铆voca de nodos. Como veremos m谩s adelante, los n煤meros 鈥淰鈥 ser谩n a帽adidos al bloque por el elegido l铆der del intervalo. Ahora, trate de imaginar que estamos en el primer intervalo de un nuevo ciclo. Cada nodo realiza una b煤squeda al inicio del nuevo intervalo, sea o no el l铆der, y la respuesta se proporciona a trav茅s de una funci贸n aleatoria verificable, que se basa en la criptograf铆a moderna. Aqu铆 se realiza una consulta hacia el Global Random Oracle, con la respuesta del n煤mero 鈥淰鈥. Para obtener la respuesta, sin embargo, se necesitan varios inputs - el 铆ndice del intervalo real, la marca de tiempo (timestamp), la llave del nodo, la distribuci贸n de monedas 2 ciclos atr谩s, una vez para un ciclo dado, y semillas aleatorias.

Luego, la funci贸n Global Random Oracle toma al azar los n煤meros 鈥淰鈥 que se incluyen en los dos primeros tercios de los intervalos del ciclo anterior, los hash y, en consecuencia, se crea una semilla al azar. El 煤ltimo tercio de los bloques no se tiene en cuenta, ya que estos bloques no tienen el n煤mero necesario de verificaciones y todav铆a est谩n sujetos a cambios. Dicha funci贸n Global Random Oracle proporciona el n煤mero aleatorio 鈥淰鈥 bas谩ndose en la consulta del nodo.

Gracias a VRF se puede llevar a cabo un sorteo, que proporcionar谩 al nodo la respuesta final a la pregunta de si es o no el l铆der del intervalo. Si el n煤mero 鈥淰鈥 tiene un valor inferior a un determinado valor de umbral, se convierte en el l铆der del intervalo. Son dos resultados importantes que se derivan de la VRF. Aparte del n煤mero 鈥淰鈥, se genera una prueba 鈥淧鈥, que es introducida por el l铆der del intervalo en el bloque propuesto. Combinando el n煤mero 鈥淧鈥 con el n煤mero 鈥淰鈥, otros nodos pueden verificar si el nodo en cuesti贸n ten铆a realmente derecho a crear un bloque en el intervalo dado. Un nodo malintencionado, por lo tanto, no puede sugerir aleatoriamente un bloque ya que no tiene la oportunidad de generar la combinaci贸n correcta de 鈥淰鈥 y 鈥淧鈥, lo que facilita que los dem谩s nodos puedan poner en evidencia el intento de enga帽o.

A partir de ah铆, todo es sencillo para el nodo ganador. El l铆der del intervalo toma las transacciones que son registradas en el bloque, y a帽ade variables 鈥淰鈥 y 鈥淧鈥. Posteriormente, el nodo genera una nueva clave privada para firmar el siguiente bloque, del que ser谩 responsable (Key Evolving Signature). Mientras que la clave p煤blica sigue siendo la misma, se cambia la clave privada para firmar el siguiente bloque, y se elimina la antigua clave privada. Gracias a esta medida, es imposible falsificar la clave, lo que hace imposible reescribir el historial, ya que cada bloque est谩 firmado por una clave privada 煤nica, y s贸lo el nodo responsable del bloque a帽adido conoce la clave privada utilizada para la firma. Matem谩ticamente, se puede demostrar que incluso si el nodo generase la clave p煤blica o si es robada, otros nodos le seguir谩n, as铆 que si hay suficientes nodos honestos en la red, los atacantes no pueden utilizar el conocimiento de la clave para su beneficio.

El l铆der del intervalo registra un n煤mero aleatorio 鈥淰鈥 en el bloque sugerido, de modo que cuando se verifique el bloque, el n煤mero formar谩 parte del proceso de creaci贸n de nuevas semillas en el pr贸ximo ciclo, lo que influir谩 en la elecci贸n de los l铆deres posteriores. El protocolo se utiliza en aras de la descentralizaci贸n para generar coincidencias y, por lo tanto, no se necesitan recursos externos.

Conclusi贸n

Un protocolo distribuido no gira completamente en torno al concepto de descentralizaci贸n, sino que tambi茅n hay otros factores importantes, como la seguridad y la escalabilidad, que deben tenerse en cuenta. Ouroboros PoS es superior en t茅rminos de escalabilidad, ya que el nuevo bloque se crea en cuesti贸n de segundos, mientras que con PoW tarda 10 minutos. Hist贸ricamente, el PoW es m谩s exitoso en t茅rminos de seguridad, sin embargo, esto no significa que no concluyamos dentro de 10 a帽os, que Ouroboros es igual seguro, o m谩s. Y cuando uno reflexiona m谩s a fondo, se da cuenta de que el grado de descentralizaci贸n es vital en t茅rminos de seguridad, y lo que realmente importa es que con el PoW es dif铆cil crear de bloques, estimulando una creaci贸n centrada en pocos. En consecuencia, si el PoS lograse mantener un alto grado de descentralizaci贸n, simult谩neamente, aumentar谩 su seguridad. Lo que el PoS tiene que hacer es evitar el riesgo de crear bloques fraudulentos, ya que es relativamente barato y r谩pido crear nuevos bloques. Aqu铆, todo se reduce a la capacidad del equipo de Cardano para implementar eficazmente todo lo que se basa en la investigaci贸n y la teor铆a y, si tiene 茅xito, el trilema de la cadena de bloques ser谩 resuelto.

Una vez m谩s, se debe hacer hincapi茅 en el papel del equipo y de la comunidad para mantener el protocolo actualizado. El equipo tiene que ser capaz de reaccionar de forma flexible ante los posibles cambios para que el protocolo mantenga su calidad a largo plazo. Lamentablemente, este ha sido un problema de larga data y un fracaso para Bitcoin, donde estos intentos nunca han dado fruto, o ni siquiera se han encarado con determinaci贸n, y s贸lo nos queda esperar que, con el tiempo, se produzca un cambio a mejor. Cardano, por el contrario, intenta seriamente construir una gesti贸n de proyectos descentralizada y hasta ahora, el equipo ha demostrado ser muy capaz, cumpliendo con las promesas, por lo que confiamos en su capacidad para reaccionar eficazmente ante todos los posibles cambios y amenazas.

Otra diferencia que aumenta nuestra confianza es el mecanismo de distribuci贸n de recompensas mediante la participaci贸n en el consenso y la seguridad. Mientras que con el PoW, son los operadores del pool quienes distribuyen las recompensas a los mineros m谩s peque帽os y 茅stos no tienen otra opci贸n que confiar en el pool, el mecanismo de recompensa de Cardano se construye directamente dentro del protocolo, asegurando que no haya riesgo de que los usuarios pierdan sus monedas, ya que todo est谩 asegurado por el propio protocolo.

Por 煤ltimo, desde el punto de vista geogr谩fico, la miner铆a PoW depende en gran medida de la energ铆a barata, por lo que estas actividades se centralizan en pa铆ses con electricidad m谩s barata. Esto suma otro argumento a favor de la descentralizaci贸n con PoS, ya que el mantenimiento de un ordenador operativo es mucho m谩s econ贸mico que la continua compra anual de mineros ASIC de 煤ltima generaci贸n.

En conclusi贸n, cuando comparamos PoW y PoS, podemos ver que el concepto de PoW es relativamente simple, mientras que PoS es bastante complicado. Los sistemas complejos siempre ser谩n m谩s propensos a cometer errores, ya que es mucho m谩s complicado para el equipo tener todo bajo control. No obstante, creemos sinceramente que el equipo de IOHK es plenamente competente para hacer frente a este desaf铆o, y reconocemos que prefieren tomarse su tiempo antes que apresurar el proyecto. Si el proyecto PoS de Ouroboros llega a buen puerto, ser谩 un gran salto cualitativo en t茅rminos de tecnolog铆as descentralizadas y supondr谩 un gran reto para Bitcoin.

Considera la posibilidad delegar tus monedas en Cardanians. Y si te gustan nuestros art铆culos, puedes apoyarnos con una donaci贸n en ADA:
DdzFFzCqrhseNP1C9XEs1MA82rgnVZwNpeiNCbLxrJfRzwaceXB9VYqPFYYRYRYegc67SERjcQ1xvwB6jryp5vgGUf1cvzbeZP2a92tQe

1 Like