En este artículo os proponemos una pequeña guía para explicaros qué es un fork, cuáles son los forks que se han realizado en el Bitcoin y cuáles se van a realizar en las próximas semanas. Claro que antes me diréis…


¿Qué demonios es eso de un Fork?
Para comprender qué es un fork (término que podríamos traducir como bifurcación o empalme, ¡no digáis tenedor nunca, por favor! :D), debemos ir a la esencia misma de la tecnología que está detrás del Bitcoin y la gran mayoría de criptodivisas: el blockchain.

Recordemos que la base del blockchain consiste en almacenar todo el histórico de transacciones en una cadena de bloques que se van enlazando gracias al trabajo computacional de los mineros, los cuales respetan unas reglas basadas en claves criptográficas. Supongamos que en un momento dado del tiempo un grupo importante de mineros no está contento con las reglas actuales y desea cambiarlas para implementar características mejoradas o diferentes a las de la cadena actual, ¿qué podemos hacer? Sencillo: introducimos un fork o bifurcación en un determinado bloque de la cadena a partir del cual nace una ramificación. Gráficamente el asunto sería tan sencillo como esto:

Esquema con el Funcionamiento de un Fork en Bitcoin

Para los que aún no lo tengan claro, podemos pensar en otra analogía: la de los sistemas operativos basados en Linux. Si un desarrollador cree que puede añadir mejoras o crear una distribución diferente a partir de la base original, lo que hace es crear una nueva versión de Linux y le pone un nombre diferente. Más o menos, aquí la filosofía es la misma: implementar una nueva versión o modificar sustancialmente la versión actual. Así un fork podría considerarse una actualización, un parche o una versión nueva de una criptodivisa dependiendo de cómo se haga. Porque sí, lo han adivinado: resulta que tenemos varios tipos de forks dependiendo de la forma en que se realice:

  • Hard Fork: se trata de una actualización mediante la que se introduce una nueva regla que es incompatible con la cadena anterior (por ejemplo, cambiar el tamaño de cada bloque de 1 Mb a 2 Mb como pasó con Bitcoin Cash) exige realizar un hard fork. Para que el hard fork sea efectivo una parte importante de los nodos de la red deberán actualizarse a la nueva versión. En estos casos, el problema que podemos encontrarnos es que la mayor parte de la comunidad actual no acepte las nuevas reglas y siga usando las antiguas, por lo que los mineros no contribuyan a generar la nueva cadena. No obstante, generalmente cuando un grupo inicia un hard fork es porque cuenta con un buen apoyo para sacarlo adelante. Un buen ejemplo de hard fork consensuado lo tenemos en Ethereum: en julio de 2016 la cadena de esta criptodivisa se dividió en dos, Ethereum (ETH) y Ethereum Classic (ETC).

 

  • Soft Fork: al contrario que en el caso anterior, mediante un soft fork podemos introducir un cambio que es compatible con el histórico de la cadena de bloques. En este caso, aunque los nodos de la red no se actualicen al nuevo protocolo, seguirán viendo las transacciones derivadas del fork como válidas. No obstante, los bloques minados por los nodos antiguos no serán aceptados por los nodos actualizados a la nueva versión. Por ello, si para que un hard fork funcione se requiere cierta aceptación, en el caso de un soft fork la aceptación debe ser máxima para que tenga éxito. De lo contrario, los impulsores del soft fork podrían verse abocados a forzar un hard fork.

 

  • Soft Fork Activado por el Usuario (UASF): se trata de un tipo de fork algo controvertido ya que aquí la activación del fork no depende de los mineros ni de los nodos de la red. En su lugar, son los exchanges, los wallets y las compañías del sector las que deciden si activan el fork o no. Nuevamente se requerirá un gran consenso por parte de las empresas del sector, debiendo anunciar públicamente si soportan el fork o no, previamente a su lanzamiento.  Una vez se conocen las opiniones de los diferentes participantes, se instala la nueva versión en los nodos que desean participar y se fija una fecha futura para activarlo. El gran problema es que se trata de un fork que puede llevar mucho tiempo (se estima que se puede tardar incluso un año hasta que todo el mundo esté listo). Por el momento se trata de un fork teórico, no se ha implementado en la práctica.



Los Forks Que Ya Están…
A lo largo de 2017 hemos sido testigos de varios hard forks en Bitcoin. El motivo de estos hard forks deriva básicamente de uno de los principales problemas que tiene el Bitcoin original: el tiempo que se tarda en procesar los nuevos bloques es relativamente largo, pudiendo tan solo procesar unas 6-7 transacciones por segundo frente a las 24.000 transacciones que puede procesar por ejemplo Visa.
Buscando soluciones a este problema, nacen diferentes grupos con propuestas de solución a esta limitación:

  • Bitcoin Cash (BCH): proyecto liderado por la compañía china de semiconductores Bitmain, que permite ampliar el tamaño del bloque actual hasta 8 Mb. Fue implementado el 1 de agosto con bastante éxito, siendo rápidamente adoptada para operar en varios de los principales exchanges tales como Kraken, Bitfinex, Bitstamp y Poloniex, aunque en el caso de Coinbase no se podrá operar con BCH hasta el 1 de enero de 2018. En el momento del fork, aquellos que tenían Bitcoins comprados en su wallet o en un exchange recibieron una cantidad idéntica de BCH en sus cuentas.

 

  • SegWit 2X (B2X), que propone separar las firmas electrónicas del bloque y guardarlas aparte, para que no ocupen espacio en el Megabyte de información que ocupa cada bloque de Bitcoin, ampliando su tamaño a 2 Mb. Este proceso se ha realizado en dos fases, una primera para activar el testigo segregado o Segregated Witness y separar las firmas, y una segunda en la que se aumenta el tamaño de bloque seis meses después. Por el momento, el proyecto impulsado por el denominado New York Agreement no ha terminado de cuajar ya que el hard fork previsto para mediados de noviembre fue cancelado por falta de consenso.

 

  • Bitcoin Gold (BTG): desarrollado por un grupo de informáticos, BTG trata de impedir que el poder de minado se concentre geográficamente en manos de unos pocos mineros con ordenadores caros y potentes, algo que en opinión de los desarrolladores de BTG supone ir en contra del espíritu inicial del Bitcoin creado por Satoshi Nakamoto. Para ello, Bitcoin Gold reemplaza el puzzle criptográfico empleado para cerrar cada bloque de la cadena por un nuevo algoritmo derivado de otra criptodivisa, ZCash, que puede ser resuelto usando GPUs. Este hard fork se produjo el pasado 12 de noviembre, motivo por el cual mucha gente confunde este fork con SegWit 2X. Al igual que sucedió con BCH, los poseedores de Bitcoin en la fecha del fork tienen derecho a la misma cantidad de BTG.

 

  • Bitcoin Diamond (BCD): impulsado por dos equipos de mineros denominados EVEY y 007, Bitcoin Diamond es hasta el momento el último hard fork en el ecosistema Bitcoin. La nueva cadena se originó el 24 de noviembre y con ella se trata de solventar algunos problemas del Bitcoin original tales como la falta de privacidad (utiliza un nuevo algoritmo de encriptación), la lentitud en la confirmación de las transacciones (amplia el tamaño del bloque a 8 MB) o las barreras de entradas a nuevos miembros (reduciendo el coste de acceso al minado).

En la siguiente tabla podéis ver un resumen comparativo de todas las características técnicas de los hard forks que acabamos de ver:

Comparativa de Hard Forks en Bitcoin



… Y Los Que Vendrán
Si todo esto de los forks os ha parecido ya de por sí complejo y enmarañado, preparaos porque están previstos 3 hard forks más en breve y uno adicional a lo largo de 2018. Este es el calendario de fechas previsto:

  • 15 de diciembre: Super Bitcoin (SBTC)
  • 25 de diciembre: Bitcoin God
  • 31 de diciembre: Bitcoin Uranium (BUM)
  • 2 de enero: Bitcoin Cash Plus (BCP)
  • Sin fecha aún: Bitcoin Silver (BTCS)

Todas estas nuevas variantes de Bitcoin proponen una solución diferente para resolver los problemas de escalabilidad y centralización que han plagado la red de Bitcoin, aunque aún está por ver si cada una de estas iniciativas recibe el apoyo necesario y si en la práctica la solución propuesta funciona.



Conclusión
Espero que después de este artículo les haya quedado algo más claro qué es un fork y cómo afecta al Bitcoin (y también a otras criptodivisas, como ya ha sido el caso de Ethereum o ZCash). Sin lugar a dudas, el éxito de un fork depende en gran medida del apoyo de la comunidad y del consenso de las empresas del sector. Si consideramos que uno de estos forks puede tener cierto éxito, nunca es mala idea estar atentos para capturar la oportunidad de recibir una prima muy jugosa sobre el valor actual de nuestros Bitcoins.

Saludos,
X-Trader