¿Qué hace que se produzcan forks en las criptomonedas?

Las criptomonedas fundamentalmente son “tokens” o “fichas” que funcionan en un entorno estrictamente digital, y que por lo tanto existen y operan exclusivamente en el ámbito del software.

Por-Que-Se-Producen-Hard-Fork-2.jpg

Si se quiere introducir modificaciones a la forma de funcionar de la moneda, hay que actualizar ese software. Simplificando mucho, de la misma forma que Windows o Macintosh reciben actualizaciones para eliminar vulnerabilidades y mejorar la experiencia de uso, Bitcoin y Ethereum también evolucionan a través de cambios en el código de su software.

Entendido esto, surge la pregunta inmediata ¿y quién decide qué cambios hay que hacer en ese software? ¿Cómo se gestiona esa decisión? Para poder responder a estar preguntas, que son importantes, hay que llevar nuestra atención a la arquitectura de red en la que operan las criptomonedas.

Las criptomonedas funcionan en una arquitectura de red totalmente descentralizada, en la que cada nodo tiene la función de escribir y validar transacciones. Descentralizada significa que cada nodo existe al mismo nivel que el resto, y no hay ninguno que tenga privilegios o capacidad alguna para dictar el funcionamiento al resto de la red.

Es una estructura 100% plana. Cada uno de esos nodos ejecuta un software que le permite operar en la red, y realizar esas tareas de escritura y verificación.

Cuando decíamos que el software de las criptomonedas se actualiza, nos referíamos a la actualización del software instalado en esos nodos. Por ejemplo, para permitir que Bitcoin aumente el número de transacciones posibles por segundo, habría que hacer dos cosas: (1) modificar el código software que regula las transacciones para hacerlo más eficiente y (2) conseguir que la mayoría de los nodos adopte ese nuevo código.

No olvidemos que al no existir ningún nodo o actor que tenga la capacidad de dictar cambios al resto, conseguir adopción mayoritaria no es trivial. Esto en ocasiones puede dar lugar a controversias, y de hecho en los últimos meses hemos vivido ya varias (Bitcoin vs Bitcoin Cash / Bitcoin Gold, Segwit2x, etc). Veamos en mayor detalle qué sucede en estas situaciones.

A la práctica se dan dos tipos de escenario:

1- Existe consenso sobre la actualización (Soft fork): si la gran mayoría de los nodos está de acuerdo con la necesidad de implementar un cambio concreto en el software, los desarrolladores escriben ese cambio, y los nodos se ponen de acuerdo sobre el momento en el que implementarlo.

Esto ocurre de forma transparente para los usuarios, que simplemente reciben las mejoras. Este es el escenario llamado “soft fork”. Se considera fork, porque existe un cambio en el código software, que supersede al código anterior. Se llama soft, porque todos los nodos de la red (o la inmensa mayoría) lo adopta.

2- No existe consenso sobre la actualización (Hard fork): Si una parte importante de los nodos quiere implementar actualizaciones en el código (llamémosle actualización A), y el resto de nodos quieren implementar una actualización distinta (B), puede ocurrir que ante el desacuerdo se terminen implementando ambas.

Esto divide a la red en dos a efectos prácticos, y las transacciones en nodos operando con A son inaccesibles para los nodos operando con B. A este escenario se la llama Hard Fork. Fork por que existe un cambio en el código software que supersede al anterior, y hard porque las dos ramas que surgen son incompatibles entre sí.

En el siguiente video se explica esta diferencia de forma esquemática y visual…

Si hiciéramos un paralelismo genético, un soft fork sería una mutación que todos los miembros de la especie incorporan. En un hard fork, se generan dos especies distintas, con rasgos genéticos incompatibles entre sí.

Humanos, chimpanzés y gorilas son en esencia hard forks del código genético de un ancestro común. Esto es lo que ocurrió con Bitcoin y Bitcoin cash. Ancestro común, pero incompatibilidad entre descendientes. Se introdujo un cambio en el código que dividió a la red entre dos “especies” distintas, ya para siempre incompatibles.

Cuando se da un hard fork, aparecen dos monedas dónde antes solo existía una. ¿Cuál de las dos va a funcionar? Esto es difícil de responder. En mi opinión puede suceder que una de las dos ramas canibalice a la otra (extinción de la especie peor adaptada), o que ambas arraiguen, si evolucionan para dar servicio a entornos distintos.

Por ejemplo Bitcoin Cash puede triunfar para transacciones pequeñas y rápidas, y Bitcoin “classic” para transacciones grandes dónde la velocidad es menos importante. No es “mejor” un gorila que un orangután – sencillamente tienen adaptaciones distintas a sus entornos.

Lo que determine finalmente si Bitcoin Cash o Bitcoin Gold tienen éxito, no van a ser las opiniones de los desarrolladores o los nodos, sino la de los usuarios, que al final son quiénes las usan o no, y quiénes fijan su precio de cambio.

Para quienes quieran entender con más detalle qué ocurre en un hard fork en particular, recomiendo el siguiente video, que de nuevo explica de forma esquemática y visual este proceso…

El punto fundamental que tienen en común ambos forks, es que los cambios que introducen vienen determinados los propios usuarios del sistema, en lugar de una autoridad.

Estamos asistiendo al nacimiento de una nueva clase de moneda “viva”, que literalmente va a estar “mutando” de acuerdo a las necesidades de sus usuarios, sin que ningún poder central la pueda regular. Es un mundo fascinante que va a traer numerosos beneficios, pero que también conlleva dificultades y riesgos; de ahí la importancia de entender bien su funcionamiento que nada tiene que ver con el de monedas tradicionales.

 
The following two tabs change content below.
Jordi Munoz Royo

Jordi Munoz Royo

Ingeniero de Telecomunicaciones.

Deja un comentario