La tecnología Blockchain proporciona un registro fiable del historial de transacciones mediante la ordenación y la verificación. Los sistemas de criptomonedas carecen normalmente de un intermediario centralizado, por lo que los usuarios tienen que llegar a un acuerdo (consenso) sobre la corrección de las entradas añadidas al registro utilizando reglas predefinidas. Todavía no se ha establecido la forma «ideal» de aplicar este proceso, por lo que se utilizan diferentes mecanismos de consenso.
Qué son los algoritmos de consenso
El consenso en blockchain es un proceso por el que se llega a un acuerdo: decenas o cientos de nodos (nodes en inglés) del sistema deben aprobar como correcta una única decisión. Si se alcanza el consenso, los resultados de la transacción se registran en la blockchain.
Existen varios algoritmos de consenso diseñados para maximizar la fiabilidad de las redes. Cuando se realizan las transacciones, estos algoritmos actúan intercambiando información a través de la red para verificar y confirmar que se puede realizar una determinada acción. Los mismos procesos se aplican si se crean nuevos nodos de registro en las blockchains o si se sincroniza el hardware de la red.
Qué algoritmos de consenso existen
Una de las principales diferencias entre las distintas redes de criptomonedas es el tipo de algoritmos de consenso utilizados.
Proof-of-Work (PoW, Prueba de Trabajo)
El primer algoritmo de consenso, y el más común, es el PoW, que se utiliza para LTC, BTC y otras monedas. Se trata de un diseño sencillo y resistente a los ciberataques. La eficacia del algoritmo para funcionar y lograr el consenso en las transferencias viene determinada por la potencia de cálculo de todos los dispositivos de una red concreta.
Con PoW, cada usuario que participa en la confirmación debe demostrar las operaciones computacionales realizadas, lo que evita el spam y los ataques DoS en la red. Los problemas criptográficos complejos se resuelven utilizando sus propios recursos computacionales, y a los participantes que encuentran la mejor solución se les permite validar las transacciones financieras escribiendo bloques en las blockchains. Resulta que los mineros compiten para crear bloques de transacciones posteriores. El minero ganador es recompensado con tokens de criptomoneda por gastar sus recursos para encontrar la solución.
Dado que PoW requiere la entrada de datos de «sus» redes, este protocolo se considera bastante difícil para los ciberhackers (para llevar a cabo un ataque con éxito, se necesita tener al menos el 50% de la potencia de una red concreta), pero este punto a favor es también un punto en contra, ya que el algoritmo es muy costoso en términos de consumo de energía. Según cálculos no oficiales, las redes de Bitcoin utilizan más de 32 TWh de electricidad al año, lo que equivale al consumo de un país como Dinamarca. Por esta razón, a pesar de su fiabilidad, el PoW se está convirtiendo en una herramienta cada vez más irrelevante.
Delegated Proof-of-Stake (DPoS, Prueba de Participación Delegada)
El algoritmo de consenso DPoS es muy similar al PoS, pero en este caso, los participantes con un número impresionante de monedas tienen la capacidad de votar y seleccionar representantes (otros participantes de confianza en la red) para verificar las transacciones. En este caso, el representante principal (el que tiene más votos) puede verificar las transacciones financieras de otros participantes. Cada usuario también puede delegar su derecho de voto a otro participante. Las blockchains más conocidas que utilizan DPoS son EOS, Steemit y Tezos.
Proof-of-Stake (PoS, Prueba de Participación)
El algoritmo PoS de varias redes de criptomonedas (por ejemplo, ETH) se considera una excelente alternativa al sistema PoW. Binance, Cardano, IOTA, Nano, Tomo Chain, Ziliqa, TRON y otras blockchains se basan en este algoritmo.
La prueba de participación es la solución más eficiente en cuanto a energía y descentralizada. En comparación, PoW se refiere a la capacidad de procesamiento de los participantes en la red, mientras que PoS se refiere principalmente a las probabilidades. El algoritmo PoS se basa en una decisión probabilística a la hora de seleccionar a los validadores: en este caso, la probabilidad de recibir un bloque se determina teniendo en cuenta el número de monedas que los validadores han aportado como garantía para proteger su propia red. La junta de la blockchain puede retirar estos compromisos si hay un incumplimiento por parte de un validador concreto.
Proof of Importance (PoI, Prueba de Importancia)
El algoritmo PoI es una subcategoría de PoS que se desarrolló para la blockchain NEM. Se basa en un mecanismo especial que consiste en definir una lista de usuarios de la red que tienen la capacidad de añadir nuevos bloques a la blockchain. A cambio, los participantes de una red concreta pueden cobrar una comisión por cualquier transacción realizada en una cadena de bloques determinada. Al hacerlo, la cuenta con el parámetro de «importancia» más alto tiene el privilegio de seleccionarla para implementar los cargos de la blockchain.
Byzantine Fault Tolerance (Tolerancia a Faltas Bizantinas)
Estos algoritmos se basan en el principio de un antiguo problema matemático: un ejército con generales bizantinos ha rodeado una ciudad y tienen que coordinar sus acciones durante los ataques y las retiradas; si los generales no se ponen de acuerdo, la operación será «fracasada».
Los desarrolladores de Byzantine Fault Tolerance han equiparado la tarea de los generales con el funcionamiento de una base de datos distribuida de blockchain. Si la integridad de la cadena es una necesidad, la formación de enlaces rápidos en las redes se convierte en un serio problema del uso de las blockchains. Por ello, el algoritmo BFT requiere una coordinación colectiva. La esencia del BFT es lograr el consenso mediante la votación, y la decisión puede tomarse incluso si algunos nodos no responden o si proporcionan datos incorrectos. La toma de decisiones colectiva protege al sistema de los fallos.
La principal ventaja de la tolerancia a faltas bizantinas es su bajo coste y su escalabilidad. Se utiliza en las blockchains Zilliqa, Hyperledger. El algoritmo de Multisignature Fault Tolerance se considera un subconjunto de BFT, cuya principal diferencia es un número limitado de participantes en la red (hasta 10), mientras que el enfoque Byzantine prevé cualquier número de usuarios.
Federated Byzantine Agreement (FBA, Acuerdo Bizantino Federado)
El algoritmo FBA se utilizó originalmente para el funcionamiento de la plataforma de criptomonedas Ripple, pero posteriormente fue perfeccionado y aplicado por los desarrolladores de Stellar. Este método se basa en un «mecanismo de confianza». Cada usuario confía en un participante concreto, de modo que se forma un «círculo de confianza», dentro del cual es fácil llegar a un acuerdo. Puede haber un número ilimitado de estos «círculos de confianza», lo que garantiza la consecución del consenso de toda la red.
Proof-of-Burn (PoB, Prueba de Quemado)
El algoritmo PoB permite a los mineros «quemar» criptomonedas, lo que les permite escribir datos en nuevos bloques en una cantidad proporcional a los tokens quemados. El PoB se utiliza normalmente para lograr el consenso en la criptomoneda Slimcoin.
Existen otros algoritmos, pero todavía no están muy extendidos. A medida que el mercado de las criptomonedas se expande, también lo hace la tecnología blockchain, que requiere nuevos y más avanzados algoritmos de consenso. Por lo tanto, en un futuro próximo, podemos esperar ver nuevos métodos basados en diferentes mecanismos de consenso para garantizar que las criptomonedas sean más eficientes.