PoA, son las siglas en inglés de Proof of Authority, un nuevo protocolo de consenso utilizado en blockchain. Su nombre en español significa, Prueba de Autoridad. Este nuevo protocolo de consenso, está basado en la reputación de los representantes elegidos que participan una blockchain.
La Prueba de Autoridad, está diseñada para ser una solución práctica y eficiente, especialmente dirigida a blockchains privadas. El término de PoA fue propuesto por Gavin Wood, cofundador y ex-CTO de Ethereum. Este protocolo de consenso, tiene una marcada diferencia a otros como PoW y PoS. Ello es debido, a que PoA se aprovecha de las identidades reales para permitir la validación dentro de una blockchain. Esto significa, que los validadores ponen su identidad real y reputación como garantía de transparencia. Un proceso que incluye, una selección arbitraria de dichos validadores confiables. Una situación totalmente distinta a la minería de PoW, pero con similitudes al esquema de participación PoS.
Además, PoA se basa en un número limitado de validadores. Esta característica le otorga una clara ventaja, la alta escalabilidad de la blockchain. Lo que tiene un impacto positivo en aplicaciones donde la velocidad es primordial. Además, mantiene un alto nivel de control de acceso a dicha blockchain, pues solo los nodos con permiso pueden participar.
¿Cómo funciona el protocolo PoA?
El funcionamiento del protocolo PoA es bastante sencillo. En primer lugar, para que el sistema funcione se deben elegir de forma aleatoria los validadores. La inclusión y selección de nodos se hace gracias, a un sistema de votación de otros nodos ya previamente autorizados. De esta forma, se evita que nodos maliciosos puedan ser incluidos y afectar el funcionamiento de la red. Sumado a esto, cada validador puede firmar como máximo uno de una serie de bloques consecutivos durante su turno de validación. Adicionalmente, PoA no requiere de un esquema de minería como ocurre en Bitcoin, por lo que resulta muy eco-friendly.
Al igual que en PoS, donde se usa la participación como medida de selección y confianza dentro de la red, PoA hace uso de la identidad y la reputación. La identidad de una persona o institución es escasa, y la reputación de la misma es muy valiosa. Su uso dentro del protocolo significa, que el validador debe revelar quien es de forma voluntaria. Al hacerse pública esta información, es fácil establecer responsabilidades en el funcionamiento de la blockchain. Cualquier acto que atente contra la fiabilidad y transparencia de la red, recae directamente sobre esa persona o institución. Algo que puede socavar o destruir su reputación en todas partes.
De esta forma, los validadores de una blockchain haciendo uso del protocolo PoA cuidarán de su reputación e identidad. Y es por esa razón, que velarán por el buen funcionamiento, la transparencia y confiabilidad de la operación de la misma. En este sentido, la identidad puesta en juego puede servir como un gran ecualizador, entendida y valorada por todos los actores. Las personas o instituciones cuya identidad está en juego, se sentirán incentivadas para preservar la red.
Condiciones de funcionamiento de PoA
Las condiciones de funcionamiento de PoA, son los pasos necesarios para el cumplimiento del protocolo. Entre ellos, podemos destacar los siguientes:
- Es necesario validar las identidades de los posibles validadores. Esto significa que quienes quieran participar en la red, debe verificar y hacer públicas sus identidades reales.
- El candidato a validador debe estar dispuesto a invertir dinero y poner su reputación como garantía. Este proceso, garantiza que los candidatos tengan motivaciones de participación a largo plazo dentro de la red.
- Se debe tener un sistema estándar para la aprobación de un validador. Con esto, se busca que el método de selección sea el apropiado para seleccionar por igual a los candidatos a validadores.
El sistema debe ser capaz de eliminar a posibles actores maliciosos. Si un validador dentro de la red actúa de forma nefasta, la red debe eliminarlo. Todo ello con el fin de mantener la confianza y la transparencia del resto de partes de la red.
Limitaciones del protocolo PoA
Implementaciones del protocolo PoA
Como se mencionó anteriormente, el consenso del PoA se utiliza en la red de pruebas Kovan y Rinkeby de Ethereum. Además es utilizado por varias plataformas bastante conocidas y, a partir de este punto, parece ser el mecanismo de consenso más plausible para las instituciones que buscan implementar redes privadas de cadenas de bloques.
La más conocida de estas redes es POA Network. Una red pública para contratos inteligentes que funciona como una sidechain (cadena lateral) de Ethereum. En la misma todos sus nodos están formados por validadores independientes. Utilizan la base de datos de notarios públicos como mecanismo para la elegibilidad de los validadores. Esencialmente, los validadores pasan por una verificación formal de la identidad utilizando dos pasos. Un cliente que hace uso del software POA Network DApp, así como del sistema de notarios públicos.
Hyperledger y Ripple también hacen uso del protocolo PoA en sus blockchain. En el caso de Hyperledger Fabric se basa en la Tolerancia a Fallas Bizantinas, pero emplea el consenso del PoA como parte de su marco general de código abierto para las cadenas de bloques del consorcio. Ripple utiliza una forma iterativa de consenso del PoA y se puede encontrar información más detallada sobre su proceso de consenso aquí.
Otra cadena que usa PoA es VeChain. Esta es una blockchain pública de nivel empresarial especializada en el manejo transparente de información empresarial. Enfocada sobre todo en el manejo de la cadena de suministro y logística.