Table of Contents
¿Has oído de la Prueba de Trabajo (PoW) o la Prueba de Participación (PoS)? Pues, estos dos conceptos se conocen como algoritmos de consenso. Se tratan de mecanismos que permite que un grupo de usuarios o máquinas puedan coordinarse entre sí en un entorno descentralizado. O sea, son los que hacen posible que una red de criptomoneda funcione y sus miembros puedan manejar la misma información entre sí.
A grandes rasgos, los algoritmos de consenso permiten que todos los agentes que componen un sistema distribuido puedan tomar decisiones, hacer cumplir reglas o, incluso, aceptar la veracidad de una información sin necesidad de acudir a un ente centralizado que tenga la última palabra. Por ello, el algoritmo de consenso es uno de los conceptos claves para entender el funcionamiento de las criptomonedas y las redes blockchain.
Para entender mejor el funcionamiento de los algoritmos de consenso debemos tener dos términos en mente: centralización y descentralización. Cuando un sistema se encuentra gobernado por una única entidad (un presidente, un comité o una organización) todo el poder de decisión cae en sus manos. Por ende, resulta muy sencillo tomar decisiones sobre el proyecto, empresa o red. Por ejemplo, los bancos pueden revertir una operación o validar una transacción en base a los estatus impuestos por su directiva.
No obstante, cuando hablamos de redes descentralizadas, como las de criptomonedas como Bitcoin, la toma de decisiones se complica. Al tratarse de una red generada a partir de entidades distribuidas en distintas partes del mundo, resulta necesario crear nuevas formas de gobernanza ¿Pero, cómo tantas personas pueden ponerse de acuerdo sobre un tema? Pues, proponiendo, negociando y votando por una serie de reglas establecidas por un grupo de personas.
A nivel técnico, los algoritmos de consenso son considerados en las redes blockchain como un conjunto de reglas (protocolo) que aseguran su funcionamiento. Estas reglas están tanto escritas en el código de la red, como presentes en el Libro Blanco de la criptomoneda.
El consenso no solo es parte del protocolo
Cuando hablamos de consenso en el ecosistema de criptomonedas también estamos refiriéndonos a un acuerdo social. Los participantes de cada red blockchain respetan y apoyan la manera en que se comporta y funciona una determina plataforma o criptomoneda. En este sentido, el consenso de la comunidad tiene incidencia en cuestiones como el tamaño de bloque, la recompensa por minado y el criterio de validez de las transacciones.
Asimismo, existen entidades dentro de esta comunidad que se encargan de auditar y verificar el cumplimiento de estas reglas. Por ejemplo, en el caso de Bitcoin, los nodos completos y los mineros son los que se encargan de revisar las operaciones para asegurarse que todas cumplan con lo que estipula el protocolo. En el caso de Ethereum, por otro lado, se utilizan a los validadores y también los nodos completos para realizar esta operación.
1 ¿Para qué se usan los algoritmos de consenso en una criptomoneda?
Sabiendo ya que es lo que significa un algoritmo de consenso, podemos profundizar en cómo funcionan estos mecanismos y para qué sirven en una criptomoneda. Primero hay que tener en cuenta que las criptomonedas como bitcoin o el ether poseen una blockchain, o libro mayor distribuido, en donde se registra y administra de forma colectiva, distribuida y de igual a igual toda la información relacionada con dicho activo criptográfico.
Debido a que la información está descentralizada, cada una de las entidades que administran, almacenan y distribuyen la información de la red necesita de un protocolo para poder comunicarse, tomar decisiones y validar transacciones al mismo tiempo, pero manteniéndose en la misma red. Es aquí donde un algoritmo de consenso es indispensable: si cada uno de los nodos, mineros o validadores de la red cumple con una serie de reglas a cabalidad y lo reporta entre sí, entonces todos estarán en sintonía sobre cómo y cuál información están manejando.
¿Qué es un nodo?
Un nodo es un ordenador que se encuentra conectado con otros, conformando así una red de participantes que se pueden compartir información y siguen unas reglas de consenso determinadas. En el caso de Bitcoin y Ethereum, estos nodos se organizan en base al protocolo de las redes a las que están conectados, aumentando la distribución de los datos y colaborando con el cumplimiento del algoritmo de consenso.
Esto permite, por ejemplo, que no se acepten operaciones que atenten contra el bienestar de la comunidad y de la red de la criptomoneda. Asimismo, que cada cambio o actualización de la red se registre de forma simultánea e inmediata en la blockchain para que todos los miembros manejen la misma información. Tal y como podemos ver, los algoritmos de consenso buscan conectar y mantener coherencia dentro de una red distribuida.
Adicional, por medio de los mecanismos de consenso, los miembros de la red pueden verificar la información que se registra y validar las transacciones monetarias de los usuarios. Es decir, se trata del mecanismo encargado de que tus bitcoins, ethers o dogecoins sean enviados desde tu billetera a la de un tercero, verificando que los mismos no hayan sido gastados anteriormente.
El algoritmo de consenso evita el doble gasto
Como los algortimos de consenso se encargan de que toda la red tenga coherencia entre sí, este protocolo es el que hace imposible que ocurra un doble gasto en una criptomoneda como bitcoin y que pase desapercibido. Cada miembro que hace cumplir los estatus del protocolo de la red, como los nodos y los mineros en el caso de bitcoin, están encargados de revisar las transacciones y rechazarlas en caso de que sean inconsistentes con la información de la blockchain. Por ejemplo, que sean monedas gastadas anteriormente y que se planean enviar por segunda vez.
Los algoritmos de consenso también pueden ayudar a mantener la transparencia dentro de una red de criptomonedas. Si las reglas del protocolo lo estipulan, modificar la información de una blockchain puede ser muy difícil o casi imposible sin el consentimiento de la mayoría de los miembros. O, por otro lado, son igualmente el mecanismo que hace posible la emisión de monedas en una red y el cumplimiento de su política monetaria.
Este elemento juega un papel primordial en la seguridad de las criptomonedas. En algunos casos, el protocolo impone sanciones a aquellos miembros que realicen actividades que vayan en detrimento de la red, como es el caso de la Prueba de Participación en Ethereum. Mientras que otros esquemas de consenso dificultan que una sola entidad en el mercado tome el poder de toda la red y la modifique a su conveniencia, como es el caso de la Prueba de Trabajo en Bitcoin.
2 ¿Qué es una Prueba de Trabajo (PoW)?
La Prueba de Trabajo, por sus siglas en ingles PoW, es uno de los algoritmos de consenso más conocidos del ecosistema, al ser el que usa la red de Bitcoin. Este mecanismo fue el seleccionado por Satoshi Nakamoto para la criptomoneda, basándose en los trabajos de Adam Back para el sistema HashCash.
El PoW apunta a incentivar el comportamiento honesto de los participantes de una red, al exigirles la realización de un trabajo considerable pero realizable (lo que usualmente llaman un acertijo computacional) para el procesamiento de información. A cambio de este trabajo en pro de la criptomoneda, los participantes reciben una recompensa monetaria.
¿Quién creó la Prueba de Trabajo?
El concepto original fue ideado por las académicas Cynthia Dwork y Moni Naor, en 1993, como una forma de evitar el spam en los emails. Más tarde, en 1999, Makus Jakobsson y Ari Juells acuñaron el término.
En Bitcoin, la Prueba de Trabajo es utilizada para la generación de bloques y la prevención de ataques, sobre todo de doble gasto. De esta manera, está íntimamente relacionado con lo que conocemos como minería, una actividad que genera ingresos para quienes la practican y permite la validación de nuevas transacciones.
Para que un bloque sea aceptado por la red –y haya consenso– los mineros deben realizar una serie de cómputos que les permitirán dar con una única respuesta: la identificación del bloque a minar. Esta identificación, también conocida como ID Block, es una variación criptográfica generada aleatoriamente, la cual funge como la clave para poder validar el bloque y registrarlo en la red.
Para poder llevar a cabo la solución a este problema matemático, los mineros deben usar la dificultad de minado, información como la marca de tiempo e incluso un número aleatorio llamado nonce. Si deseas saber más sobre esta función y el paso a paso de cómo ocurre la minería, te recomendamos leer nuestras entradas en la Criptopedia de estos temas.
Cada bloque contiene un apuntador hash hacia el bloque precedente, lo que crea una cadena de bloques con una creciente cantidad de trabajo realizado. Cambiar un bloque (es decir, la información de transacciones registrada en la cadena) implicaría la realización de todo el trabajo aplicado hasta el punto de la cadena donde se encuentra el bloque que se desea cambiar.
A mayor cantidad de trabajo aplicado por la red, más costoso resulta modificar la historia. Pero una vez realizado el trabajo, será sencillo verificar que el resultado fue el correcto. De esta manera, la actividad mantiene a la red operativa y emitiendo nuevas monedas, evita que haya alteraciones en los datos registrados y mantiene a todos los nodos conectados entre sí con la misma información en cada una de las versiones de la blockchain.
3 ¿Cuáles son las ventajas y desventajas de la Prueba de Trabajo?
Una de las mayores ventajas de la Prueba de Trabajo es su seguridad. Existen mecanismos, como la dificultad de minado — cifra que representa la potencia necesaria para minar una red — que se actualizan en consonancia con la cantidad de mineros conectados a la red o lo poderosos de sus equipos. En este sentido, mientras mayor sea la competencia y el crecimiento de la industria de la minería, más difícil y costoso es minar una red como Bitcoin porque se necesita cada vez más y más poder de cómputo.
Esta es una de las mayores protecciones que puede tener la red: no hay en existencia suficientes equipos para que un actor externo decida unirse para atacar. El ataque tendría que provenir de un participante que ya posea suficiente poder de cómputo (de ahí la importancia de la descentralización de la red), por ejemplo, un fabricante de hardware de minería.
No obstante, más allá de que los incentivos por mantener el comportamiento honesto en la red superan a los costos de atacarla, en el algoritmo de consenso de Bitcoin también se establece que la cadena verdadera es la cadena que tenga mayor trabajo acumulado y, por tanto, los nodos podrían simplemente rechazar a un atacante que pretenda modificar la historia de la cadena que ellos mantienen registrada y que no cumple con las reglas de consenso.
No todas las redes tienen la suerte de bitcoin
Aunque en el caso de bitcoin, atacar a la red resulta en una pérdida de recursos y de tiempo. No todas las criptomonedas que usan de Prueba de Trabajo tienen este poder de procesamiento, por lo que no resulta tan costoso atacarlas (como ha sucedido en el pasado), lo que demuestra su fragilidad y baja seguridad. Esto evidencia que, al contrario de la opinión popular, no todas las blockchains son iguales.
En cuanto a las desventajas, la más sonada es su potencial perjudicial para el medio ambiente, pues sus mayores costos están en el consumo eléctrico. Se toma la energía de la electricidad para transformarla con trabajo en la seguridad de la cadena y en nuevas monedas que son creadas.
Los defensores de la Prueba de Trabajo dicen que en esta electricidad y en este trabajo está el respaldo de Bitcoin. Por el contrario, los defensores de la Prueba de Participación aseguran que se trata de un desperdicio de recursos innecesarios. Además, también se podría decir que se desperdician recursos en la medida en que los equipos de minería especializados se vuelven obsoletos, pues estos, a diferencia de las redes también de PoW que trabajan con GPU, no pueden ser usados para otra cosa una vez dejan de ser eficientes para la red.
Una industria exclusiva
También está el hecho de que el oligopolio existente en la manufactura de chips dedicados a la minería les da a estos diseñadores una ventaja en el uso de estos equipos, concentrando buena parte del poder de procesamiento en sus manos.
4 ¿Qué es una Prueba de Participación (PoS)?
PoS es otro de los mecanismos de consenso más conocidos en el mercado de criptomonedas, popularizándose desde el 2020 cuando se empezó a hablar de que Ethereum migraría a este algoritmo. La idea era reemplazar los recursos computacionales utilizados para asegurar la red (el PoW) por una prueba de tenencia de monedas, para así reducir los costos y eliminar el punto de falla físico que implican los equipos de minería (los cuales podrían ser confiscados o ilegalizados).
¿Quién creó la Prueba de Participación?
La primera propuesta del algoritmo de consenso de Prueba de Participación (PoS) de la que se tiene registro en BitcoinTalk es de julio de 2011 y fue realizada por un usuario llamado QuantumMechanic.
La Prueba de Participación está relacionada, hoy en día, con el concepto de staking. En este otro artículo de la criptopedia abordamos este tema en detenimiento, pero en líneas generales se podría describir como el acto de depositar monedas en un contrato inteligente para generar pasivos o convertirte en validador de una red.
Y, te preguntarás, ¿qué es un validador? Pues, así como las redes de Prueba de Trabajo tienen mineros que se encargan de procesar y validar transacciones con equipos especializados, las redes de Prueba de Participación tienen validadores que bloquean su dinero con el fin de poder hacer la misma actividad. Estos validadores, al igual que los mineros en Bitcoin, reciben recompensas por su participación y también las comisiones de los usuarios.
Los validadores son escogidos de forma aleatoria
Mientras la minería es una competencia constante por minar el próximo bloque, en las redes de Prueba de Participación la validación del próximo bloque es decidida por el protocolo, que escoge, de forma aleatoria, quién será el miembro encargado de proponer las transacciones y quiénes validarán las mismas.
5 ¿Cuáles son las ventajas y desventajas de la Prueba de Participación?
Una de las principales ventajas que destacan de la Prueba de Participación es que reduce, considerablemente, los costes de mantener operativa una red de criptomonedas. A diferencia de las Prueba de Trabajo, en donde hay un enorme consumo eléctrico y costosos equipos de trabajo, los gastos en estos rubros de las PoS son mucho más moderados y los recursos se puede reutilizar.
En cuanto a seguridad, aunque su concepto es distinto a la Prueba de Trabajo, que hace muy costoso el ataque, existen maneras de penalizar a un validador que no se comporta bien. En el PoS lo que importa es “tener piel en el juego”, en el sentido de que tu inversión esté comprometida con la red. Estos depositados pueden ser utilizados en tu contra, ya que el protocolo puede penalizarte quitándote toda la inversión, lo que en teoría aumentaría los incentivos para el comportamiento honesto.
La red puede caer en manos de las ballenas
A pesar de que existen mecanismos en la Prueba de Participación para evitar los malos comportamientos, no evita que esta pierda descentralización. Al tratarse de un mecanismo de consenso basado en la inversión, entidades con grandes cantidades de capital pueden apoderarse de las decisiones de la red.
En cuanto a las desventajas, la ausencia de costos y de equipos especializados tiene implicaciones en materia de seguridad. Si bien el beneficio directo de esto es reducir las barreras de entrada para participar en la seguridad de la red e impulsar la descentralización, la falta de costos podría aumentar la intención de ataque de existir suficiente incentivo.
Cuando lo único que hace falta para participar en el consenso es dinero, cualquier gobierno o adversario acaudalado podría adquirir suficientes monedas para atacar a la red o censurar transacciones, mientras que los equipos especializados, por su escasez, dificultan la posibilidad de ataques.
Algunas empresas ya han desarrollado puentes entre algoritmos
Si bien no puede hablarse sobre interoperabilidad entre algoritmos de consenso, sino entre redes, integraciones como el token bridge de RSK podrían permitir la comunicación entre redes basadas en diferentes algoritmos de consenso y facilitar que se realicen transacciones entre cadenas de forma fluida. La propuesta del token bridge es bastante similar a la que RSK ya utiliza para comunicarse con la blockchain de Bitcoin. Token bridge funcionaría con un sistema de bloqueo similar, pero con la blockchain de Ethereum, facilitando la interoperabilidad entre cadenas. Cuando un usuario transfiere tokens al puente, el contrato inteligente los bloquea y acuña una cantidad equivalente de nuevos tokens en la otra cadena.
Tal y como podemos ver, entender los conceptos de algoritmo de consenso, prueba de participación y prueba de trabajo son indispensables para conocer a profundidad cómo funciona una criptomoneda. Otros términos como staking, minería, Bitcoin y Ethereum también pueden ser esenciales para tu viaje de conocimiento por el ecosistema de criptomonedas.