Traducción al español de The Challenges of Decentralization for Cardano
Publicado por Cardanians en su blog de Medium, el 17 de Febrero de 2020.
El protocolo de Bitcoin ha funcionado con éxito durante más de 10 años. En este artículo veremos cómo el nivel de descentralización ha evolucionado con el tiempo para el proyecto que ha estado funcionando durante más tiempo. El cambio en la calidad de la descentralización de un nivel relativamente alto a uno bajo es significativo, y es interesante ver por qué ocurrió.
Después de investigar cómo y por qué el nivel de descentralización disminuyó en la red de Bitcoin, veremos cómo el proyecto Cardano aborda la descentralización, y cómo ha aprendido de los errores de su predecesor. Charles Hoskinson dice a veces que Cardano será 50 veces más descentralizado que Bitcoin. Les mostraremos cómo se puede evaluar objetivamente el nivel de descentralización, y por qué es posible decir eso.
Esperamos que nuestras observaciones te sean interesantes.
Un equipo es responsable del nivel de descentralización del protocolo, incluso si se ha lanzado la red principal.
La descentralización es un proceso dinámico
La descentralización no es algo que un protocolo pueda lograr de una vez, y luego lo mantenga por siempre. La descentralización es un proceso dinámico y cambiará con el tiempo. La descentralización se refiere principalmente al número de personas independientes y auto-organizadas que participan en el consenso de la red. La gente actúa en base a sus intereses económicos y a su deseo de poder. Un protocolo distribuido tiene algunas posibilidades y requisitos previos que las personas pueden utilizar para iniciar y mantener una red descentralizada. El consenso del protocolo es sólo un conjunto de reglas y algoritmos que los programadores han creado para permitir que la red alcance un consenso mayoritario en un entorno adverso, de acuerdo con esas reglas. Las reglas de consenso de la red pueden funcionar bien durante algún tiempo, pero a medida que evolucionan las condiciones del mundo físico, puede ser necesario adaptar las reglas del protocolo si no se pueden mantener las condiciones deseadas.
Las criptomonedas están sólo en su inicio y, por lo tanto, el entorno es muy inestable y cambiante. La inestabilidad del medio ambiente es causada por un modelo económico y de incentivos, que cambia con el tiempo. Por ejemplo, el incentivo de la red podría disminuir a intervalos regulares, lo que tiene un impacto en el presupuesto de seguridad. Otra razón puede ser la velocidad de adopción que no puede ser estimada de antemano. El número de personas que utilizan el protocolo cambia constantemente, y probablemente crece a medida que el protocolo se va popularizando. Con la creciente importancia del protocolo, los intereses de poder crecen desde fuera, pero también desde dentro del ecosistema. Y por supuesto, no podemos olvidar la volatilidad de los precios de la moneda en el mercado.
El mundo digital no puede comunicarse con el mundo físico de forma totalmente descentralizada. El mundo digital no puede entender completamente el mundo físico y todas las relaciones. En otras palabras, el protocolo nunca sabe lo que está sucediendo exactamente a su alrededor, y si es bueno o malo. Un protocolo puede simplemente seguir estrictamente los algoritmos y tomar algunas decisiones deterministas. Las personas del mundo físico son las que pueden detectar algunos problemas con respecto a la descentralización del protocolo, y pueden señalar que un algoritmo específico no funciona correctamente. Por lo tanto, sólo las personas pueden resolver los problemas que surgen modificando las reglas del algoritmo del protocolo de consenso. Por lo tanto, deben definirse reglas claras sobre cómo y en qué condiciones el equipo puede modificar las reglas del protocolo. También debe establecerse alguna forma de comunicación entre los usuarios de la red y el equipo. Dentro de una red descentralizada, el protocolo no debe ser propiedad del equipo, sino de todas las personas. En otras palabras, el poder de decisión debe distribuirse en la medida de lo posible, ya que la propiedad suele representar una oportunidad para obtener alguna ventaja.
La descentralización ideal es un objetivo inalcanzable
Satoshi Nakamoto diseñó una red altamente descentralizada. Miremos directamente en su white paper.
Los pasos de ejecución de la red son los siguientes:
- Las nuevas transacciones se transmiten a todos los nodos.
- Cada nodo agrupa las nuevas transacciones en un bloque.
- Cada nodo trabaja en resolver una difícil prueba de trabajo (PoW) para su bloque.
- Cuando un nodo encuentra la solución del PoW, transmite el bloque a todos los nodos.
- Los nodos aceptan el bloque sólo si todas las transacciones en él son válidas, y no están ya realizadas.
- Los nodos expresan su aceptación del bloque trabajando en la creación del siguiente bloque de la cadena, utilizando el hash del bloque aceptado como el hash previo.
Uno de los ordenadores utilizados para minar Bitcoin al principio. El afortunado ganador obtuvo 50 BTC aproximadamente cada 10 minutos.
Al principio, todos los nodos de la red tenían casi la misma posición. Podemos decir que todos tenían los mismos derechos de decisión. Cada individuo tenía un nodo minero completo y podía minar un nuevo bloque. Así, cada nodo podía decidir autónomamente qué transacciones poner en un bloque, o qué bloque seguir en el caso de una bifurcación. El nodo minero completo es también una parte importante de la distribución del poder cuando un hard-fork estaba por suceder. Así que la red no tenía un único punto de fallo, y ningún centro de poder. Todos los nodos tenían el mismo poder de decisión. La red tenía un aspecto similar al de la figura 1.
Figura 1: Descentralización ideal. Todos los participantes tienen los mismos derechos y poder.
La descentralización descrita en la figura 1 es probablemente inalcanzable para una red consensuada si el número de participantes es de decenas de millones. En la red de PoW, los que tienen una tasa de hash más alta tienen proporcionalmente más posibilidades de crear un bloque. Puede ocurrir que algunos participantes nunca produzcan un bloque si hay un cierto número de participantes con una alta tasa de hash. Así, los participantes con una tasa de hash baja nunca serán recompensados, a pesar de intentar mantener la red descentralizada y consumir electricidad. Resultó que era necesario distribuir las funciones de los usuarios de la red.
Los pools y los mineros ASIC cambiaron las reglas del juego
¿Cómo asegurarse de que incluso las personas con menos hash puedan participar en la minería y obtener recompensas? La solución fue introducir el concepto de pools. El problema se ha resuelto, ya que más individuos podrían unirse y crear un pool. Podrían combinar su tasa de hash y minar juntos un bloque.
Pronto se hizo evidente que era mejor usar tarjetas gráficas (GPU) para la minería que la CPU. La gente que quería tener una ventaja con una tasa de hash más alta comenzó a construir plataformas de minería, usando muchas CPUs o GPUs. Posteriormente, fue posible comprar hardware minero especializado - mineros ASIC. Para ver la diferencia, un minero ASIC de Bitcoin puede calcular hashes ~100.000 veces más rápido que incluso la mejor CPU.
La red comenzó a verse como en la figura 2.
Figura 2: PoW con pequeños mineros aficionados. Los usuarios comenzaron a utilizar nodos completos no mineros.
La figura 2 muestra que los usuarios se dividen en mineros y usuarios. Los mineros normalmente no mantienen un nodo completo y no lo necesitan. Un minero especializado en ASIC sólo proporciona una tasa de hash al pool. El pool decide en qué parte de la tarea minera (PoW) trabajará cada minero individual. Los usuarios de la red pueden ejecutar un nodo completo, pero no es obligatorio hacerlo. El almacenamiento más seguro de las claves privadas está en la billetera de hardware, es decir, en un almacenamiento en frío. Así pues, los mineros básicamente no tienen necesidad de mantener un nodo completo y dependen de otra fuente que les proporcione la información de la blockchain.
Nota que en los primeros días del Bitcoin, no existía tal cosa como un nodo completo no minero. En el white paper de Bitcoin, la palabra nodo es el equivalente a minero. Al principio, cada nodo era un minero. Como Satoshi escribió en su white paper:
“Mientras la mayoría de la potencia de la CPU esté controlada por nodos que no cooperen para atacar la red, generarán la cadena más larga y superarán a los atacantes”.
Desafortunadamente, la gente ha empezado a usar el término nodo completo para los nodos no mineros.
Los debates relacionados con los nodos no mineros eran acalorados. A nadie parece importarle hoy en día.
Observa que el nivel de descentralización ha cambiado fundamentalmente. Los participantes en la red ya no son iguales en cuanto al poder de decisión consensuado de la red. En la actualidad existen 3 entidades diferentes en la red:
- Los mineros, que proporcionan hash a los pools sin necesidad de mantener la blockchain.
- Los operadores de los pools, que operan los pools.
- Los usuarios, que poseen monedas, pero que pueden o no mantener un nodo completo no minero.
Añadamos que los usuarios sólo validan nuevos bloques y mantienen la blockchain completa en sus discos. Sin embargo, no participan directamente en la minería.
El entorno en el mundo físico ha cambiado fundamentalmente en cuanto a la calidad de la descentralización. Sólo los operadores de los pools tienen derecho a decidir qué transacción se incluirá en un bloque, o a qué bloque se enlazará en el caso de una bifurcación. También desempeñan un papel fundamental durante los hard-forks.
La red totalmente descentralizada se convirtió en una red en la que empezó a existir un único punto de fallo. Sin embargo, el equipo no respondió a este cambio fundamental y no ajustó el protocolo. Por lo tanto, el protocolo todavía recompensa a los que minan el bloque. Ahora, sin embargo, estos son sólo nodos que pertenecen a los operadores de los pools. Los operadores de los nodos deben entonces recompensar a los propietarios de los mineros ASIC a través de un protocolo completamente diferente y a su propia voluntad.
El aumento de la tasa de hash expulsa a los pequeños mineros
Sin embargo, la situación siguió evolucionando. La tasa de hash ha crecido tanto que la minería ha dejado de ser rentable para los pequeños mineros en algunos países. Además, comenzaron a aparecer grandes salas de minería en lugares donde la electricidad es barata. Especialmente en China. Los propietarios de las salas de minería suelen ser los operadores de los pools, ya que se benefician de la propiedad de las mismas.
Véase la figura 3 para una descripción de la situación actual.
Figura 3: Los operadores de pools son propietarios de grandes granjas mineras. El número de mineros aficionados disminuye.
El uso de la electricidad en una red de consenso tiene tanto ventajas como desventajas. Una ventaja significativa es que es costoso crear un bloque que no se incluya después en la blockchain. Los mineros no recibirán una recompensa por tal bloque, por lo que perderán dinero. Esto asegura un comportamiento honesto. El uso de la electricidad es desventajoso en el contexto de la descentralización. Debido a que la tasa de hash aumenta constantemente, los mineros más pequeños se ven obligados a abandonar el sistema porque no pueden competir con los moneros de los países donde la electricidad es barata. Como resultado, la minería se centraliza geográficamente, y se traslada a grandes salas. Esto significa que el número de participantes en el consenso de la red disminuye, lo que reduce la descentralización. La segunda desventaja es que mantener el protocolo en funcionamiento es económicamente costoso. La recompensa por el bloque creado debe utilizarse principalmente para pagar la energía, y no queda mucho dinero para recompensas más elevadas, o para invertir en el desarrollo ulterior del protocolo a través de la tesorería del proyecto. A largo plazo, esto es un problema en el contexto de un presupuesto de seguridad que depende en gran medida de las monedas creadas. Si el número de monedas para las recompensas se reduce cada año (a la mitad), la seguridad del consenso de la red se ve directamente amenazada.
Lee nuestro artículo sobre el presupuesto de seguridad.
El alto consumo energético es una excelente defensa contra el ataque del 51%. Sin embargo, es muy importante cuánta gente posee, y en qué proporción, esta tasa de hash y puede tomar decisiones independientes. Pueden ser unos pocos individuos en unos pocos lugares, o miles de personas en todo el mundo. Una muy alta tasa de hash en manos de pocos individuos representa un poder de decisión centralizado.
En su white paper, Satoshi no podía prever que surgirían pools mineros, que el nodo completo no minaría, que se fabricarían mineros ASIC, y que la minería se trasladaría luego a grandes salas mineras. Además, esperaba que la escalabilidad del protocolo aumentara y que las comisiones por transacción cubrieran gradualmente el costo de la minería a medida que disminuyera el incentivo de la red. El desarrollo de Lightning Network no ayuda a recaudar más comisiones en la primera capa. Es casi imposible predecir la evolución del mundo físico si se crea una red descentralizada completamente nueva. No tiene sentido atenerse al viejo diseño. Sin embargo, es necesario abordar los nuevos problemas emergentes.
Al principio, casi todos los tenedores de monedas eran mineros, y estaban directamente involucrados en el consenso. En diez años, la minería se ha convertido en un negocio inaccesible para los actores más pequeños. Los operadores de pools han acaparado el poder de consenso de la red. Sin embargo, el protocolo no se ha ajustado en absoluto para promover la descentralización. Las normas fundamentales siguen siendo las mismas y, en el contexto actual, deberían modificarse.
- La recompensa se da sólo a la persona que minó un bloque. En el contexto de los pools, es un problema ya que los operadores de los pools deben distribuir las recompensas a las personas que entregaron la tasa de hash en cada pool. Los operadores de pools pueden fallar en la distribución justa de la recompensa, y hay un espacio para hacer trampas.
- Las recompensas a menudo las ganan las entidades con la tasa de hash más alta. El poder de la tasa de hash juega un papel más importante que la suerte. Es un problema en el contexto de las grandes salas de minería, ya que los pequeños jugadores se ven obligados a salir del sistema. Una pequeña tasa de hash sin unirse a la gran minería no tiene poder.
- Al protocolo no le importa que la mayoría de las recompensas se distribuyan en unas pocas entidades iguales, una y otra vez. Incluso podría ser una sola entidad.
- Los pools están motivados económicamente para crecer. Cuanto más alta sea la tasa de hash de un pool, mayor será la proporción de recompensas que recogerá. La centralización simplemente crece. El protocolo no tiene noción del número de pools ni su tamaño. Por lo tanto, el protocolo tolera ciegamente la existencia de unos pocos grandes centros de poder.
- Los operadores de pools pueden fortalecer su posición en el consenso de la red estableciendo sus propias salas de minería. Así, pueden poseer una cantidad significativa de tasa de hash para el pool que tienen a su disposición.
- El protocolo recompensa sólo la actividad minera, pero no a los usuarios que ejecutan un nodo completo. Sólo los operadores del pool tienen que adminsitrar un nodo completo. Técnicamente, los usuarios y los propietarios de los mineros ASIC no necesitan hacerlo. Sin embargo, es costoso ejecutar un nodo completo, y son importantes para asegurar que los operadores de pools siguen las reglas.
Los grandes operadores de pools constituyen unos pocos puntos de falla. Pueden abusar de su poder, y censurar transacciones o bloques huérfanos creados por pools más pequeños. Incluso pueden decidir sobre el monto mínimo de las comisiones por transacción. Pueden abusar de su poder y dictar condiciones para otros operadores o usuarios más pequeños. Teóricamente, podrían incluso cambiar el suministro máximo de monedas BTC.
Lo que es peor, por el momento, es que no hay una manera fácil de prevenir eso. En la medida en que los operadores de pools posean (o vayan a tener en un futuro) grandes granjas mineras propias y los pequeños mineros no tengan donde entregar su tasa de hash para disminuir significativamente el poder de dichos pools, entonces los operadores de pools se convertirán en dictadores.
Será cada vez más difícil para los pequeños mineros aficionados competir con las ballenas mineras. Podrían haber 10.000 individuos descentralizados en todo el mundo, o un sólo propietario de granja, como se muestra en la imagen. ¿Cuál caso preferirías?
Para un ataque desde el exterior, es más fácil influir en unos pocos operadores de pools en China que en miles de participantes en el consenso distribuidos por todo el mundo. También es más fácil atacar las grandes salas de minería que los mineros ASIC distribuidos en millones de lugares. Podemos ver muchas tendencias de centralización en el consenso basado en PoW.
Cómo medir la descentralización
Primero aclaremos algunas cosas que a menudo son confusas para la gente.
Pierre Rochard explicó 3 conceptos clave mal entendidos sobre el funcionamiento de un nodo completo de Bitcoin, en uno de los paneles del MIT Bitcoin Expo 2019. Echaremos un vistazo a dos de ellos. Rochard dijo que los mineros no suelen tener sus propios nodos completos en estos días. En su lugar, simplemente se conectan al nodo completo de su pool minero. Además, aquellos que tienen sus propios nodos completos en casa no suelen ser mineros. Rochard también dijo:
“No importa si creas un nodo completo y luego no lo usas. Al margen, podría ayudar un poco a la red, pero no es por eso que uno debería ejecutar un nodo completo. Se debería usar un nodo completo porque se pretende usar Bitcoin de forma fiable, y además, existen ventajas de privacidad, etcétera”.
Fijate que Rochard no habló del consenso de red ni sobre la distribución del poder. Ejecutar un nodo completo sólo tiene que ver con la conexión despermisionada con la red. Lee este artículo.
Al evaluar el nivel de descentralización, debemos tener en cuenta todos los roles que existen en el ecosistema y sus derechos en el consenso de la red. Existen tres roles en PoW: Los poseedores de monedas (usuarios), los mineros y los operadores de pools. Algunas funciones pueden superponerse. Comparemos la actual creación de bloques con lo que Satoshi diseñó en el white paper. Presta especial atención a los roles:
- Todos los nodos de los operadores de pools escogen las transacciones y las incluyen en un bloque, siendo un proceso rápido. Así, se crean nuevos bloques pero es necesario para realizar el PoW. Los nodos competirán entre sí para crear el bloque. Sólo el ganador será recompensado.
- Los operadores de los pools dividen el PoW en unas pocas piezas y las distribuyen a todos los mineros registrados en los pools. Así, todos los mineros de un pool dado trabajan en el mismo bloque. Ahora comienza el trabajo de PoW de ~10.
- Un minero tiene éxito en el PoW y envía el resultado al operador del pool. Así, el bloque está completo y puede ser distribuido a la red.
- Todos los nodos completos validan el bloque, y si es correcto lo agregan a sus blockchains. Si no, no hay manera de quejarse o reclamar un error.
- Los operadores del pool empiezan a trabajar en un nuevo bloque, básicamente desde el paso 1.
- El operador del pool recibe la recompensa del bloque. El operador sabe cuánto esfuerzo puso cada minero en el PoW para poder distribuir las recompensas a todos ellos.
Fíjate en la cantidad de poder que tienen los operadores de pools. Ellos deciden qué transacción insertar en un nuevo bloque o en qué bloque continuar en caso de que haya una bifurcación. Los nodos completos entran en juego en el paso 4, lo que es casi al mismo tiempo que los operadores empiezan a trabajar en otro bloque en el paso 5. Los propietarios de los nodos completos son, por lo tanto, simples observadores pasivos de todo el proceso de consenso. No son participantes activos. Incluso si hubiera un problema con el bloque, no pueden hacer mucho. No hay ningún proceso que permita a los nodos completos rechazar un bloque que los operadores del pool consideren válido. Incluso si la mayoría de los nodos completos no incluyeran el bloque en la blockchain, si los operadores del pool (o el dominante)lo hicieran, no hay nada que los nodos completos puedan hacer al respecto.
Los mineros también son participantes más bien pasivos en el consenso de la red. Sólo hacen lo que los operadores de pool necesitan. No desempeñan ningún papel, por ejemplo, en la selección de transacciones para los bloques. Son sólo sirvientes.
Nota que los tenedores de monedas no participan en absoluto en el consenso. No tienen poder de decisión en el consenso de la red. Sin embargo, están más interesados en la seguridad y la descentralización de la red que los mineros. Si algo sale mal, los tenedores podrían perder más dinero que los mineros. Los mineros son básicamente sólo empresarios que hacen su trabajo por dinero. No tienen que ser tenedores.
Es necesario darse cuenta de lo desproporcionado que es el sistema PoW. Sólo hay unos pocos operadores de pools, pero que tienen el mayor poder de decisión. Hay muchos tenedores de monedas y su número aumentará. Pero no tienen derechos. Los mineros son también unos pocos. Además, su número tenderá a disminuir.
Si queremos evaluar el grado de descentralización en función de cuántas personas tienen el mayor poder de decisión, debemos centrarnos en los operadores de pools. El grado de descentralización viene dado, pues, por el número de operadores de pools, y la distribución del poder de decisión según la tasa de hashes que tengan. También podríamos considerar la tasa de hash que poseen los propios operadores, y la cantidad que alquilan a los mineros más pequeños. Lamentablemente, aquí faltan datos creíbles.
Es deseable que el número de operadores de pools sea lo más alto posible. Pero existe una trampa. El número total es irrelevante si hay pocos operadores dominantes en la red. Pueden haber 100 operadores de pool en la red, cada uno con aproximadamente el 1% de poder de decisión. O pueden haber 5 operadores, cada uno con más del 10% de poder. Obviamente, en este último caso, la red estará más centralizada independientemente del número total de operadores.
Así que si medimos el grado de descentralización estrictamente según el número de entidades independientes que pueden crear bloques (incluyendo la inserción de transacciones) y recibir aproximadamente el 90% de las recompensas por día, estaríamos hablando de entre 10-20 entidades.
¿Cuántos operadores minaron bloques en las últimas 3 horas? Fuente: https://coin.dance
También podríamos mirar el número de nodos completos que mantienen la blockchain. Sin embargo, como hemos mostrado anteriormente, desde el punto de vista del consenso, sólo es un órgano de supervisión que no tiene derecho de consenso.
Tal vez no sea una buena idea juzgar el grado de descentralización por el número de operadores de pools. El poder de decisión debe distribuirse equitativamente entre el mayor número posible de participantes. Una mayoría más fuerte de participantes debería siempre poder expulsar a un tramposo. El poder no debe concentrarse en las manos de los individuos.
La actualización del protocolo es una necesidad
No es posible mantener la descentralización sin actualizar el protocolo. Si las condiciones del mundo físico cambian, es necesario responder en consecuencia y ajustar el protocolo. El equipo responsable del mantenimiento del protocolo es esencial para mantener la descentralización. Hasta ahora no hemos podido construir un protocolo que se preocupe por su propio grado de descentralización y sea capaz de ajustar sus propias reglas. Esta actividad permanecerá en manos de los desarrolladores durante mucho tiempo y deberán responder a las solicitudes de los usuarios y a las necesidades del protocolo.
El buen funcionamiento de la gestión de proyectos es tan importante como la descentralización a nivel de la red. Debe existir un mecanismo mediante el cual el equipo pueda escuchar las quejas y solicitudes de los usuarios. Además, debe haber alguna forma de votación sobre cómo resolver los problemas y cómo priorizarlos.
En PoW, es difícil lograrlo, ya que los titulares de las monedas no tienen derecho de voto en lo que respecta a la gobernanza del proyecto. La votación sobre los cambios está en manos de los operadores de pools y mineros, que pueden priorizar sus intereses por sobre los de los tenedores de monedas.