Blockchains: prueba de participación pura

algorand-blockchain

En el presente artículo, haremos un repaso por los protocolos blockchain, para comprender aún mejor cómo funcionan estas redes. Detallaremos el problema de la centralización, y como Algorand está resolviendo las cuestiones al respecto.

Blockchains centralizados

En una cadena de bloques centralizada, una autoridad central siempre elige y distribuye el siguiente bloque, mientras que una sola entidad lo produce, cada usuario almacena localmente todos ellos y, por lo tanto, el contenido de éstos estará protegido contra manipulaciones.

Este enfoque es, obviamente, súper eficiente y fácil de implementar. Además, garantiza una rápida finalidad de bloqueos. De hecho, cada usuario que recibe un nuevo bloque firmado digitalmente por la autoridad central sabe inmediatamente que éste es válido y puede confiar inmediatamente en las transacciones que contiene.

Por otro lado, este enfoque requiere una suposición de confianza muy fuerte. Se debe fiar en una entidad central para no censurar a ningún usuario y para otorgar nuevos bloques idénticos a todos ellos. Además, un solo ente se ve comprometido o detenido fácilmente mediante un simple ataque de denegación de servicio.

Descentralización de prueba de trabajo (POW)

Un enfoque popular para descentralizar una cadena de bloques requiere que los mineros alarguen la cadena más grande a través de una prueba de trabajo. Esto requiere mucho esfuerzo computacional por parte de los mineros, lo que finalmente se traduce en un alto consumo de energía y costos de transacciones muy grandes.

Además, el enfoque de PoW ha concentrado mucho poder en manos de unos pocos grupos de minería (a menudo solo 2 o 3), lo que arroja dudas sobre la descentralización de las cadenas de bloques basadas en PoW. Por otro lado, éstas con frecuencia se “bifurcan”. Quiere decir que, sus usuarios no pueden confiar en un nuevo bloque tan pronto como aparece. En su lugar, deben esperar hasta que el mismo esté lo suficientemente profundo en la cadena, y para finalizar, da como resultado una latencia muy alta.

Por estas razones, la comunidad blockchain ha presentado enfoques alternativos a la descentralización, donde el poder de la autoridad central se distribuye a través de un comité adecuadamente elegido. Hay muchas formas diferentes de implementar este enfoque, con varios pros y contras.

Descentralización de comité fijo

En un primer enfoque, el poder de elegir todos los bloques nuevos se delega para siempre a un comité pequeño (por ejemplo, 10, 100 o 1000 miembros), lo que garantiza la integridad de la blockchain siempre que la mayoría de los miembros del comisionado sean honesto.

Pros:

  • Eficiencia. En el despliegue obvio de este enfoque, cada miembro esencialmente realiza el trabajo de la autoridad central en una cadena de bloques centralizada, además de algunos cálculos y comunicaciones adicionales, como se requiere para que los integrantes elijan un bloque en función de las acciones de los miembros individuales de éste. Esta cantidad de trabajo adicional es solo proporcional al tamaño de la junta e independiente del número total de usuarios en el sistema. Por tanto, es escalable.
  • Facilidad de implementación. Cada bloque elegido por el comité se autentica si está firmado digitalmente por la mayoría de los miembros. Alternativamente, la “criptografía de umbral” podría usarse para generar una clave pública PK_C de comité conjunto, cuya contraseña secreta se divide entre los miembros del comisionado. Las firmas digitales de los miembros individuales se traducen luego en una firma digital conjunta en relación con PK_C.

Contras:

  • Supuesto de confianza muy fuerte. Incluso si el comité puede comenzar con una mayoría de miembros honestos, un adversario podría corromperlos o sobornar a la mayoría de ellos con el tiempo.
  • Fuerte vulnerabilidad. Un comisionado fijo es fácil de atacar y un adversario puede eventualmente comprometer a la mayoría de los miembros. Además, un adversario puede montar inmediatamente un ataque de denegación de servicio contra los integrantes del comité, impidiendo que envíen mensajes entre ellos o que reciban las nuevas transacciones que deberían incluir en nuevos bloques.

Descentralización del comité rotatorio

En otro enfoque, el comité fijo se reemplaza por uno «rotativo». En un ejemplo, hay un conjunto de N comités y, para cada bloque nuevo, se selecciona al azar uno de éstos. En otro ejemplo, después de que el comisionado actual ha elegido un bloque, se eliminan algunos de sus miembros y se agregan nuevos.

Por supuesto, este enfoque requiere una forma segura de garantizar que se elija un «comité adecuado» para cada nuevo bloque.

Pros:

  • Eficiencia. La eficiencia y escalabilidad de este enfoque es esencialmente la misma que para el sistema de comité fijo, porque el tamaño de cada uno de estos puede permanecer aproximadamente igual, independientemente del número total de usuarios.

Contras:

  • Fuerte suposición de confianza. En ambos sistemas de comité rotativos, la mayoría de los miembros permanecen fijos durante un largo período de tiempo y, por lo tanto, se debe asumir que siguen siendo honestos durante mucho tiempo.
  • Vulnerabilidad. Es posible que un adversario no pueda atacar a la mayoría de los usuarios del sistema, pero podría atacar con éxito a la mayoría de los miembros de unos pocos comités pequeños.

Algorand: verdadera descentralización

En una cadena de bloques verdaderamente descentralizada, cada nuevo bloque es generado por un nuevo comité separado, elegido al azar del conjunto de todos los usuarios. En principio, la elección segura de un comisionado entre todos los usuarios puede requerir una gran cantidad de cálculos y / o comunicación. Una innovación única introducida por ésta para resolver este problema es la autoselección secreta. En un nivel alto, cada usuario juega su propia lotería criptográfica justa, al final de cuentas, es el único que sabe si es miembro del comité. En este último caso, también tiene un boleto ganador, una prueba digital e infalsificable de que efectivamente es miembro del mismo. Cualquiera puede verificar inmediatamente el vale ganador de un usuario para confirmar que efectivamente es miembro de la junta.

Tenga en cuenta que, inicialmente, éstos miembros se quedan con sus propios boletos ganadores, que nadie más ve. Por lo tanto, un adversario ni siquiera sabe quiénes son sus miembros. Por ende, ¡no puede corromperlos ni montar una negación de servicio contra ellos! Supongamos que se elige a Alicia para ser miembro de un comité actual y que, en esta capacidad, necesita enviar un mensaje con la firma «M». Luego, Alicia propaga por la red tanto su boleto ganador como la «M» firmada digitalmente por ella. En este punto, un adversario puede saber que ella es miembro del comisionado, pero corromperla ahora no tiene sentido. De hecho, el boleto y el mensaje ganadores de Alicia se han propagado viralmente a través de la red, y el adversario no puede detenerlos más de lo que un gobierno puede detener un mensaje propagado viralmente por WikiLeaks.

Suponiendo que, para producir un nuevo bloque, cada miembro del comité necesita enviar solo un mensaje, el sistema permanece totalmente seguro. Sin embargo, un puñado de rondas son necesarias para que éste produzca un nuevo bloque, y en cada una de estas rondas, un miembro del grupo debe enviar un solo mensaje corto y fácil de calcular. Así, aunque el adversario no puede intervenir en los mensajes de la primera ronda, en principio podría influir en los mensajes de las posteriores. De hecho, después de ver los boletos ganadores, se entera de quiénes son los miembros de la junta y podría atacarlos rápidamente.

Algorand resuelve este problema mediante una innovación separada, a saber, hacer reemplazable el reproductor de protocolo de selección de bloques. En un nivel alto, esto significa que el protocolo no requiere que un solo comité ejecute todas las rondas. Más bien, éste puede ser ejecutado con éxito  por selección aleatoria de los miembros del grupo de cada una. Esta nueva propiedad hace que el protocolo Algorand sea extremadamente seguro contra adversarios que pueden atacar de forma inmediata y exitosa a cualquier usuario en cualquier momento.

Tenga en cuenta que los protocolos tradicionales se definen sobre el mismo conjunto de participantes y no pueden  admitir la capacidad de sustitución ellos. En nuestra opinión, solo los protocolos reemplazables están verdaderamente descentralizados, porque solo ellos pueden resistir a los poderosos adversarios que seguramente intentarán atacar una criptomoneda global.


Este artículo ha sido escrito originalmente por Algorand en el «Community Blog» de Algorand  y traducido por AlgoLatam.

Original Article: https://www.algorand.com/resources/blog/secure-blockchain-decentralization-via-committees

Deja una respuesta

Tu dirección de correo electrónico no será publicada.