-
La Prueba de Trabajo es utilizada para la generación de bloques y la prevención de ataques.
-
Con la Prueba de Participación lo que importa es que tu inversión esté comprometida con la red.
El debate sobre qué algoritmo de consenso es el más seguro y eficiente para las redes de criptomonedas es uno de los más polémicos en el ecosistema. Muchos métodos alternativos han surgido como propuestas a esta discusión, pero los predominantes siguen siendo la Prueba de Trabajo (Proof of Work) y la Prueba de Participación (Proof of Stake). Comunicar redes que trabajan con estos protocolos traería una interoperabilidad más directa entre cadenas.
No hay consenso sobre el consenso
Irónicamente, no hay consenso sobre el significado de consenso en Bitcoin. Es uno de esos conceptos problemático, pues se ha utilizado para significar muchas cosas y se presta a equívocos. El propio wiki de Bitcoin.it ha recomendado que todos los usos que se le han dado a consenso sean reemplazados por palabras diferentes y más específicas y que la palabra consenso sea descartada de una vez por todas.
A pesar de ello, como tantos otros conceptos equívocos en el ecosistema, la palabra consenso ha persistido en el vocabulario bitcoiner y blockchainer, sobre todo para dos usos.
En un nivel técnico/de software, se refiere a las reglas de consenso, es decir, aquellas instrucciones o estatutos sobre el funcionamiento del protocolo que todos los nodos deben verificar para validar o rechazar según se cumplan o no en los bloques y las transacción que reciban. Y, en un nivel social, se refiere al grado de acuerdo existente entre los participantes de la red sobre la pertinencia de modificar o no alguna de tales reglas de consenso (por ejemplo, el tamaño de los bloques de la blockchain, la recompensa por bloque minado, el tiempo de generación de bloques, etc.).
En este artículo nos centraremos en el primer nivel: repasaremos los dos algoritmos de consenso predominantes (la Prueba de Trabajo y la Prueba de Participación), o, más específicamente, las vías utilizadas para validar el cumplimiento de las reglas del protocolo y su acuerdo entre los participantes. Luego, comentaremos algunos beneficios de la interoperabilidad entre redes de estos dos protocolos y ciertas propuestas para facilitar dicha interoperabilidad.
Prueba de Trabajo
La Prueba de Trabajo (PoW) es el algoritmo de consenso que tomó Satoshi Nakamoto para Bitcoin a partir de los trabajos de Adam Back en HashCash para limitar el spam en los emails y los ataques de denegación de servicio. El concepto original fue ideado por Cynthia Dwork y Moni Naor en 1993 (y el nombre fue acuñado por Makus Jakobsson y Ari Juells en 1999). 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.
Funcionamiento:
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. Para que un bloque sea aceptado por la red –y haya consenso– los mineros deben realizar una serie de cómputos para encontrar una variación criptográfica generada aleatoriamente, a una dificultad que varía según la cantidad de trabajo aplicado (con el fin de mantener el ritmo de emisión de monedas regulado) y así obtener la recompensa de bloque, incentivo económico para procurar un trabajo honesto.
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.
Seguridad:
Con el aumento de la dificultad de minado por la aplicación de más trabajo, se han manufacturado equipos cada vez más especializados y con mayor poder de cómputo para vencer en la competencia de resolver el acertijo matemático y ganar la recompensa. Esto conduce a que para reescribir la historia de Bitcoin se requiere acceder a tecnología que es escasa en el mundo y superar el trabajo realizado por el resto de los mineros honestos.
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.
Atacar resulta, cuando se tiene un poder de procesamiento como el de Bitcoin, una pérdida de recursos y de tiempo. Pero no todas las redes 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.
Desventajas:
Una de las principales acusaciones contra PoW es su potencial perjudicial para el medio ambiente, pues sus mayores costos están en 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.
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.
¿Es, entonces, mejor la Prueba de Participación? Mmm… no tan rápido.
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 idea era reemplazar los recursos computacionales utilizados para asegurar la red 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).
Funcionamiento:
Las implementaciones resultantes de esa propuesta no variaron demasiado de la idea central, pero sí en el método para seleccionar el próximo bloque de transacciones a ser confirmado. En general, la probabilidad de validar un nuevo bloque se determina por cuánto dinero tiene un participante en stake.
Proyectos como Nxt y BlackCoin eligen el siguiente generador de bloque aleatoriamente usando una fórmula que relaciona el menor valor de hash con el tamaño del stake de los generadores. Peercoin, por su parte, introduce como variable el tiempo en que las monedas han sido mantenidas en stake para su proceso de selección.
El incentivo económico para el comportamiento honesto no suele provenir de una recompensa de bloques, sino de la recolección de comisiones por transacciones. Esto hace que los incentivos no sean constantes ni predecibles, y que si no hay uso de la red desaparece el incentivo para asegurarla.
Seguridad:
Con la Prueba de Participación lo que importa es “tener piel en el juego”, en el sentido de que tu inversión esté comprometida con la red. Los detractores de la Prueba de Trabajo argumentan que los mineros podrían tener menos incentivos para proteger la red porque nada asegura que mantengan su dinero en Bitcoin. En cambio, en Prueba de Participación, hay evidencia que tu dinero está donde está tu boca, lo que en teoría aumentaría los incentivos para el comportamiento honesto.
Al no dependerse de un equipo especializado en un algoritmo de minado determinado, no hay nada vinculante que ligue la lealtad del generador de bloques con una cadena en específico, pudiendo realizar staking en cuanta cadena desee y tenga dinero para invertir.
Desventajas:
Por otro lado, la ausencia de costos y de equipos especializados, que debería traer beneficios para la Prueba de Participación, pues eran las principales críticas hacia la Prueba de Trabajo, 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.
Interoperabilidad
Si bien no puede hablarse sobre interoperabilidad entre algoritmos de consenso, sino entre redes, integraciones como el token bridge de RSK lanzado a inicios de año 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. Recordemos que RSK es una sidechain que asegura sus transacciones con el poder de cómputo de Bitcoin mediante minería combinada, es decir, utiliza Prueba de Trabajo. Para comunicarse con Bitcoin realiza bloqueos de tokens en la cadena base, para desbloquear una representación del valor bloqueado sobre la sidechain. RSK permite a los pooles de minería obtener beneficios sin requerimientos adicionales de hardware mediante un concepto conocido como merged mining.
Token bridge funcionaría con un sistema de bloqueo similar al descrito, 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. Los tokens Ether se pueden transformar en tokens RRC20 de RSK e inversamente, estos se pueden convertir en tokens Ethereum ERC777 al usar este sistema.
Conclusiones
Tanto la Prueba de Trabajo como la Prueba de Participación ofrecen ventajas y desventajas que en este texto no hay espacio para cubrir. La seguridad de los sistemas basados en Prueba de Trabajo parece ser mayor que la de aquellas redes basadas en Pruebas de Participación. Pero las barreras de entrada para realizar Prueba de Trabajo en redes como Bitcoin, si bien tiene los beneficios antes mencionados, también puede conducir en un posible escenario a la centralización de la minería, lo cual también afectaría la salud de la red y, potencialmente, su seguridad.
En cuanto a costos y eficiencia energética, la prueba de participación tiene un punto importante a favor por el impacto ecológico que la minería suele tener. Con todo, ya vimos que la transformación de energía en valor es parte de la alquimia que hace a Bitcoin oro digital y mantiene estable su ritmo de emisión.
En la actualidad, redes como Ethereum buscan migrar desde un algoritmo de consenso basado en Prueba de Trabajo hacia uno basado en Prueba de Participación. Esto, principalmente, por las razones antes expuestas sobre eficiencia energética, impacto ecológico y descentralización.
Si bien solo el tiempo dirá qué mecanismo de consenso es el más adecuado para las redes de blockchain, facilitar la interoperabilidad entre cadenas podría facilitar que las bondades de cada protocolo sean comunicables.