En la segunda mitad de 2017 surgió la moda
de crear nuevas versiones de Bitcoin, utilizando su nombre, sólo que
añadiendo un apellido diferenciador. En realidad, muchas de las
criptomonedas más conocidas del momento como Litecoin o DASH son copias
modificadas de Bitcoin, pero no surgieron como proyectos empresariales
propios sino más bien para explorar los límites de lo posible con el
modelo de Blockchain de Bitcoin o simplemente por probar modificaciones
al protocolo que no se podían implementar por consenso en Bitcoin.
Pero
como decimos, esto cambió en 2017 y desde entonces se han creado una
infinidad de nuevas criptomonedas con el nombre de Bitcoin y un apellido
distinto. El pistoletazo de salida a esta nueva moda tuvo lugar el
pasado 1 de agosto con la aparición en escena de Bitcoin Cash. A este le
siguió el tumultuoso lanzamiento de Bitcoin Gold -con prácticas
cuestionables- y el posterior intento -fracasado- de SegWit2x. También
podemos encontrar en esta nueva categoría a Bitcoin Diamond y otros
similares que surgen en un contexto de burbuja de precios actuales que
atrae a personas que ven el dinero fácil con esta moda de crear forks de
Bitcoin. De esta forma pretenden ganar dinero con modelos de pre-minado
u otras estrategias similares al amparo del nombre original de Bitcoin.
Este nuevo escenario ha propiciado que incluso las personas que conocen
un poco el mercado en el grupo de Telegram de Blockchain España
confundan conceptos y por eso hemos preparado este repaso sobre el
significado de un fork para tratar de evitar más malentendidos en el
mercado.
Hoy charlamos con Jose Manuel Arenillas,
administrador de sistemas, entusiasta de Blockchain y amigo de
Blockchain España, para que nos aclare el concepto de bifurcación y cómo
la serie de forks de Bitcoin del 2017 ha creado confusión en el mercado
de las criptomonedas.
¿Qué es un fork en el mundo del código abierto o software libre?
El término fork se refiere a copiar el
código de un proyecto existente y comenzar un desarrollo distinto
partiendo de ese código.
El derecho a realizar un fork a un
proyecto de código abierto viene implícito en la licencia de código
abierto porque esta permite que tanto el código fuente como los archivos
binarios sean modificados y redistribuidos libremente sin tener que
pagar al autor original. Hay diferentes
tipos de licencia de código abierto y en algunos hay condiciones a este
derecho de fork como nombrar la fuente original.
¿En qué es diferente un fork en el mundo de las criptomonedas en comparación con el mundo del software libre?
En nada, siempre que su código sea
abierto. El fork como he comentado en la respuesta anterior simplemente
es aprovechar un código existente, copiarlo y seguir un desarrollo
diferente al que sigue el código de origen.
Es común pensar que fork en el entorno de
la criptomonedas tiene un significado diferente pero no es así. Creo que
el error viene por dos términos que nacieron con blockchain: 'soft
fork' y 'hard fork'.
Dicho todo esto sí que hay una diferencia
importante. En el mundo del software libre, un fork no puede ser una
iniciativa que tenga una recompensa monetaria en el corto plazo. En
cambio, en el mundo de las criptomonedas, según como se estructure el
fork, sí que se puede hacer dinero. Muchas de estas iniciativas en 2017
parecen haber estado motivadas por razones de hacer dinero fácil y no
con la idea original de innovar en el mundo del software libre. Como
vivimos en una burbuja especulativa de las criptomonedas, muchos
especuladores invierten en proyectos independientemente del mérito que
pueda tener el proyecto. Un proyecto de software libre clásico es fácil
de bifurcar porque no necesita de una comunidad para poder funcionar,
pero una criptomoneda necesita por definición una comunidad para poder
funcionar porque sin ella no puede ser segura ni tener relevancia.
¿Qué diferencias hay entre un soft fork y un hard fork en Bitcoin u otras criptomonedas?
Un soft fork es un cambio en el protocolo
en el que sólo los bloques/transacciones anteriores a dicho fork, son
inválidas. Los nodos no actualizados darán como válidos los nuevos
bloques. Por eso se dice que es retrocompatible. Este tipo de fork sólo
requiere que actualicen el software la mayoría de los mineros para
aplicar las nuevas reglas.
Cuando se propone un soft fork, se produce
una división temporal de la cadena de bloques. La cadena original
contendrá los bloques de los nodos no actualizados y aceptará también
los bloques de aquellos nodos actualizados mientras que la nueva cadena
sólo admitirá los bloques de los nodos actualizados.
Una vez implementado el soft fork,
normalmente se fija un número de bloque en el que, si no hay los
suficientes nodos actualizados o no tiene la suficiente potencia de
minería, el soft fork se considera rechazado y la cadena original
continua sin los cambios, pero si es aceptado se aplican las nuevas
reglas a la cadena. En este caso, los nodos que no actualicen seguirán
confirmando transacciones de la cadena anterior al soft fork.
Un hard fork implica un cambio en el
protocolo y los bloques generados tras su aplicación no serán válidos
para los nodos no actualizados. En este supuesto, y porque conlleva un
cambio en el protocolo, debe haber consenso para realizar dicho cambio
para evitar una bifurcación de la cadena de bloques (chain split o
blockchain fork).
¿Qué es un fork en una cadena de bloques como Bitcoin cuando se crean dos cadena paralelas temporalmente?
La blockchain de Bitcoin sufre un fork de
este tipo 2 a 3 veces por semana, es algo conocido y natural. Como ya
sabemos, para minar un bloque el minero debe resolver un problema
matemático. Se da el caso en el que dicho problema es solucionado a la
vez por más de un minero, en ese momento ambos mineros propagan sus
bloques por la red Bitcoin y su bloque con sus transacciones se añaden
al final de la blockchain. En este caso tenemos un 'chain fork' porque
la blockchain está dividida. Sin embargo, la solución a este 'problema'
es sencilla y es una de las máximas de Bitcoin, la cadena con más prueba
de trabajo, la más larga, es la válida. Es decir, el fork continuará
hasta que se mine el siguiente bloque, en el momento en que se mina el
siguiente bloque, el minero incluirá en el mismo el hash del bloque
válido anterior y lo propagará a la red. Los nodos detectarán la cadena
más larga y el fork finalizará de forma natural.
¿Qué es un chain split en el contexto de una criptomoneda?
Un 'chain split' o 'blockchain fork' es la
división de la cadena de bloques. Es decir, en caso de que no haya
consenso en la implantación de un hard fork en el protocolo y que dicho
cambio finalmente se haga efectivo, si los dos grupos tienen la
suficiente potencia como para continuar el minado de cada cadena, se
produce una bifurcación. Recientemente hemos tenido varios ejemplos de
chain split de Bitcoin, Bitcoin Cash, Bitcoin Gold y Bitcoin Diamond,
Super Bitcoin - SBTC en el bloque 498.888 (17 de diciembre de 2017),
Bitcoin Cash Plus - BCP en el bloque 501.407 (2 de enero de 2018) y otro
intento de SegWit2x - B2X para el 28 de enero de 2018 después de
abandonarse el primer intento en noviembre de 2017, pero por otro grupo
promotor intentando monetizarlo.
¿Con qué intencionalidad se puede hacer
un soft fork o hard fork? ¿Qué ejemplo sería Litecoin o Dogecoin en
este contexto? ¿Qué tipos de ejemplo son Bitcoin Gold, Bitcoin Cash,
Bitcoin Diamond en este contexto?
Recordemos que un soft fork y un hard fork
se refieren a cambios en el código del proyecto. Estos cambios tienen
siempre la intención de mejorar el proyecto. No obstante hay que tener
en cuenta que cualquier cambio en el código puede traer consecuencias.
IOTA (aunque no sea un proyecto Blockchain), por ejemplo, cambió la
semilla de sus carteras lo que invalidó las carteras creadas antes de
ese cambio. En este caso, el código es correcto, pero hubo usuarios que
no realizaron los pasos que comunicó IOTA y hay millones de IOTA
bloqueados en esas carteras.
En el caso de Litecoin volvemos al fork en
el contexto de clonado de código. Litecoin clonó el código de Bitcoin y
el desarrollador, Charlie Lee, cambió el código para crear Litecoin. El
mismo caso se aplica a Dogecoin que partió, a su vez, del código de
Litecoin y con un cariz cómico. Por eso se dice de Doge que es la
primera criptodivisa con una religión paródica. Otro ejemplo sería PIVX,
que es un fork de Dash y Dash a su vez es fork de Bitcoin.
Bitcoin Cash es un ejemplo de hard fork en
los que no ha habido consenso tras someter un BIP (Bitcoin Improvement
Proposal) a votación y se ha producido una bifurcación de la blockchain
en la que una parte de la capacidad minera de Bitcoin se ha pasado a
Bitcoin Cash.
En el caso de otros proyectos que
aprovecharon el auge de Bitcoin Cash como Bitcoin Gold o Diamond, no
hubo BIP ya que las propuestas hubieran sido claramente rechazadas, y se
realizó el fork a la altura de un bloque determinado (llamado snapshot
en inglés). Todos estos ejemplos son "chain splits" en los cuales se ha
utilizado un bloque de referencia y a partir de ese bloque se ha
implementado un hard fork de Bitcoin con otras reglas de juego. Dicho
esto el más relevante ha sido Bitcoin Cash porque ha podido transferir
parte de la capacidad minera de Bitcoin a su propia cadena, en los otros
proyectos que han aprovechado el nombre de Bitcoin no ha ocurrido esto
de forma relevante.
Desde un punto de vista especulativo lo
importante ha sido que para cada uno de estos hard forks las direcciones
mantienen el saldo en ambas versiones de la cadena. El reto para cada
uno de estos proyectos ha sido conseguir que se listen sus tokens en las
casas cambio (Exchanges) o tener el apoyo de carteras (wallets) para
que los propietarios de bitcoins tuvieran acceso a ese nuevo token. Con
la moda de crear nuevos bitcoins las casas de cambio y carteras están
restringiendo el apoyo a esto proyectos por su carácter especulativo.
En el mundo de las blockchains públicas
puedes tener tus propias ideas, implementarlas y la comunidad tiene la
libertad de elegir la solución que consideren mejor. El tiempo y la
comunidad dará o quitará razones.
En definitiva y de forma concisa podemos decir que existen estos tipos de forks (bifurcación):
1. Soft fork: compatible con la
blockchain histórica de Bitcoin. Es una decisión de la comunidad
(mineros, usuarios, desarrolladores, industria, etc).
2. Hard fork con consenso: no
compatible con la blockchain histórica de Bitcoin. También es una
decisión de la comunidad. Puede haber un hard fork cuando hay consenso
de la comunidad Bitcoin para hacer cambios sobre el protocolo.
3. Hard fork sin consenso:
Históricamente han sido proyectos que han querido mejorar Bitcoin o
experimentar como Litecoin o Dash junto a muchos otros. Y en 2017 con
Bitcoin Cash se ha dado el primer caso de hard fork por falta de
consenso y a partir de ahí ha habido muchos proyectos que han querido
aprovechar el nombre de Bitcoin para hacer copias de Bitcoin para
enriquecerse en la mayoría de los casos. SegWit2x era otro ejemplo de
falta de consenso que no tuvo éxito en noviembre de 2017.
4. Fork de cadena (chain fork): es
cuando tenemos dos cadenas de forma simultánea que surgen desde el
último bloque válido y en el que ganará la cadena más larga. Esto pasa
de forma natural al crear bloques de forma simultánea por diferentes
mineros.
Todos los forks son iguales en el mundo Blockchain, pero no todos se crean con las mismas intenciones.
Origen aquí.
Fuente de noticias: www.eleconomista.es
Comentarios
Publicar un comentario