El fork de SegWit2X

Se acerca la fecha en la que un grupo de agentes del ecosistema bitcoin pretende realizar un fork de la blockchain de bitcoin, conocido como SegWit2X. En este artículo vamos a analizar en qué consiste dicho fork, por qué está planteado y qué puede suceder en Noviembre. Pero antes de entrar en el detalle de dicho fork, vamos a ver qué es un fork.

Para entender qué es un fork tenemos que conocer qué es la blockchain, para qué sirve y cómo funciona.

La forma en la que bitcoin evita el doble gasto es a través de la blockchain, que como su nombre indica, es una cadena de bloques. Cada bloque es un conjunto de transacciones de bitcoin, es decir, bitcoins que se mueven de una dirección a otra. Cada bloque tiene una cabecera que identifica el bloque anterior al cual está enlazado, el instante (fecha, hora) de creación del bloque y la prueba de trabajo que hace que el bloque sea válido y que todos los nodos de la red lo den como válido.

El protocolo bitcoin hace que todos los nodos que componen la red lleguen a un consenso, de manera descentralizada, en cuanto a cuál es dicha cadena de bloques. Cómo llegar a este consenso de manera descentralizada es el descubrimiento clave de Satoshi Nakamoto, lo que supone un avance absolutamente disruptivo, que permite la transferencia electrónica de valor peer to peer, pero ese será el objeto de otro artículo. Por ahora, para nuestro objetivo, es suficiente saber que todos los nodos de la red implementan las mismas reglas de consenso y tienen la misma blockchain.

Una vez entendido qué es la blockchain, podemos entender qué es un fork.

Un fork es un cambio en las reglas de consenso, las reglas que deciden qué es válido y qué no es válido; por ejemplo, si una transacción es válida o no, o si un bloque es válido o no. Dado que bitcoin es descentralizado, no existe una autoridad central que diga cuáles son las reglas a seguir, con lo cual puede darse el caso de que cierto número de agentes del ecosistema quieran cambiar dichas reglas de consenso y otros no quieran cambiarlas.

¿Qué sucede si una parte cambia las reglas de consenso y otra no? Depende de cuál es el cambio de las reglas de consenso. Puede ser que las nuevas reglas de consenso sean más restrictivas, de tal forma que para quienes no hacen upgrade son válidos los bloques generados por los nodos que implementen el nuevo software con dichos cambios en las reglas de consenso. Este tipo de fork se llama soft fork.

Existe otro tipo de fork. Es aquel en el que los nodos que implementan las nuevas reglas de consenso hacen válidas algunas cosas que antes no eran válidas, como por ejemplo nuevos bloques. En este caso, parte de los mineros harán bloques que otros nodos y mineros rechazarán, produciéndose una bifuración de la blockchain. Este tipo de cambio en las reglas de consenso se conoce como hard fork.

A veces se confunde hard fork con bifurcación de la blockchain, dado que con alta probabilidad uno provoca lo otro, pero no tiene por qué ser necesariamente así. Si hubiese un hard fork que no fuese contencioso, es decir, con el que todos los nodos estuviesen de acuerdo, podría suceder que todos siguieran las nuevas reglas de consenso a partir de cierto bloque. De suceder así, no habría bifurcación de la blockchain y seguiría habiendo una sóla moneda.

SegWit2X es un hard fork contencioso. No solo no hay consenso en cuanto a las nuevas reglas a implementar, sino que la mayor parte de los usuarios no queremos dicho hard fork. Una amplia mayoría quiere seguir con las actuales reglas de consenso. Previsiblemente entonces, si dicho grupo de agentes del ecosistema (mineros, usuarios, exchanges, proveedores de servicios) decide implementar el fork, se producirá una bifurcación de la blockchain y por tanto una nueva moneda aparecerá.

En el momento de la bifurcación, todos los propietarios de bitcoin tendrán la misma cantidad de la nueva moneda también, dado que las dos cadenas de bloques comparten la misma historia hasta el momento de la bifuración. Esto genera cierta confusión en algunos usuarios… ¿Cómo es posible que se cree dinero de la nada? En un instante tenemos “el doble” de dinero? Eso no puede ser…

En realidad el dinero se crea de la nada. También en bitcoin, en cada bloque aparecen nuevos bitcoin que no existían antes. Se crean para remunerar el trabajo que los mineros realizan para proporcionar seguridad a la blockchain, pero se crean de la nada en el sentido en que antes no existían y a partir de ese bloque ya existen. Y esto, lejos de ser un problema, es uno de los mecanismos clave de bitcoin para funcionar: el sistema es descentralizado, es decir, no hay autoridad central que diga qué hay que hacer y qué no. Depende de los incentivos individuales, que hacen que cada uno se comporte como debe comportarse y que el que intenta hacer trampas, pierda dinero.

No obstante, en la bifurcación, la creación de monedas es muy diferente. Si hay actualmente 16.6 millones de bitcoin creados (emitidos), el fork, en un instante, creará 16.6 millones de nuevas monedas. Pero… ¿quiere decir esto que tendremos el doble de dinero?

En absoluto. De una moneda aparecen dos monedas pero nadie decide cuánto vayan a valer. Puede ser que un bitcoin pre fork valga 6000$ y el bitcoin post fork valga 1500$ y la nueva moneda B2X (nombre con los que la comunidad hace referencia a la moneda que nacería en la bifuración provocada por SegWit2X) valga 250$. O puede que el bitcoin valga 150$ y el nuevo B2X 6000$… Eso no se puede predecir con seguridad. Es el mercado, el que hará que tengan un valor u otro. Así pues, puede haber creación de monedas, pero no se duplica el dinero. Puede ser el caso, nada improbable, que haya destrucción de riqueza si el escenario post fork es peor según la valoración de los usuarios.

Esta situación es un tanto preocupante para algunos usuarios. A muchos les gustaría que no hubiese forks y que bitcoin fuese lo que es, ahora y siempre. Pero bitcoin es descentralizado, y eso aplica a todo, también al código fuente. El código fuente es opensource y esto quiere decir que cualquiera puede leerlo, copiarlo, modificarlo y crear su propia moneda. Y la solución a este “problema” no es que haya una fundación u organismo de control que decida qué se puede hacer y qué no, que gobierne bitcoin. La falta de gobierno en bitcoin es una característica fundamental de bitcoin, no un problema (feature, not bug). La solución es que cada uno haga lo que quiera y que el mercado decida.

Ya hemos visto qué es la blockchain, qué es un fork, los tipos de forks y qué es una bifurcación de la blockchain. Tenemos los conceptos necesarios para entender qué es SegWit2X.

SegWit2X es el nombre con el que la comunidad se refiere al acuerdo de Nueva York (NYA, por sus siglas en inglés). Allí, en Mayo de este año, un número de empresas del ecosistema, incluyendo algunos exchanges, proveedores de wallets y casi todos los mineros (el 90% de la potencia de hashing aproximadamente) acordaron dos cosas:

– señalizar la activación de SegWit.
– un aumento del tamaño base del bloque de 1 Mb a 2 Mb, 3 meses después de la activación de SegWit.

SegWit es una de las propuestas para hacer bitcoin más escalable que tenía un enorme consenso entre toda la comunidad excepto entre los mineros, y como el propio código definía un umbral del 95% de señalización (en los bloques) para la activación y parte de los mineros no querían, llevaba más de un año escrito y probado, pero sin activarse. Tras el acuerdo, todos los mineros empezaron a señalizarlo y SegWit se activó el 23 de Agosto de 2017.

La práctica totalidad de la comunidad celebró la activación de SegWit, que incluye grandes mejoras en el protocolo (soluciona el bug de la maleabilidad de las transacciones, el problema del quadratic hashing y permite futuras mejoras del protocolo de manera compatible hacia atrás, entre otros) además de proporcionar mayor espacio para más transacciones, sin romper la compatibilidad con software previo (soft fork).

La discrepancia surgió por el hard fork para aumentar de 1 Mb a 2 Mb. Hay al menos dos razones fundamentales por las que los desarrolladores de Bitcoin Core están en contra:

– Aumentar el tamaño del bloque a 2 Mb es un hard fork y a los desarrolladores de Bitcoin Core no les gustan los hard forks, por la potencial bifurcación de la blockchain. Prefieren las modificaciones tipo soft fork, que son compatibles hacia atrás y por tanto no producen bifurcaciones.
– Aumentar el tamaño de bloque implica evolucionar hacia menor descentralización, dado que el tamaño de la blockchain crecerá el doble de rápido y cada vez será más difícil para un usuario correr su propio “full node” de bitcoin.

Pero además existe otra cuestión de fondo por la cual están en contra. Ninguno de los desarrolladores de Bitcoin Core firmó dicho acuerdo. Es más, ninguno asistió a dicha reunión. Y esto no es accidental. Piensan que no es bueno que “unas cuantas empresas” acuerden qué hacer con bitcoin. Son contrarios no sólo al acuerdo final, sino a la propia reunión para “acordar”. Ven todo intento de controlar bitcoin como un ataque a bitcoin. Nadie está al mando de bitcoin y eso es bueno.

Y en esta situación nos encontramos, donde un grupo de empresas (incluidos casi todos los mineros) quiere tomar el control de bitcoin con SegWit2X y una mayoría de usuarios queremos que bitcoin siga con las reglas de consenso actuales.
¿Qué puede suceder? Nadie lo sabe con seguridad. Hay, al menos, 4 escenarios posibles:

1.- SegWit2X se lanza en el bloque previsto (aproximadamente mediados de Noviembre) y todo el hashing power lo mina, dejando la cadena actual “prácticamente muerta”. Los principales exchanges y proveedores de servicios llamarán Bitcoin a la cadena B2X.
Este escenario es altamente improbable, dado que actualmente el mercado está valorando el futuro B2X como la quinta parte de Bitcoin. Además el 15% del hashing power no señaliza B2X. Esto significa que si los mineros quieren poder pagar la electricidad que consumen tendrán que minar Bitcoin, no B2X ya que minar B2X será algo muy parecido a “quemar dinero”.

2.- SegWit2X se lanza en el bloque previsto pero una minoría del hashing power se dedica a la nueva cadena.
Con alta probabilidad los exchanges, proveedores de wallets y servicios listarán como Bitcoin la cadena tradicional y la cadena de B2X morirá rápidamente, dado que nadie la minará.

3.- SegWit2X se lanza y ambas cadenas siguen.
El futuro de cada blockchain se decidirá en base al precio de su moneda. Algunos exchanges y proveedores llamarán Bitcoin a la cadena actual independientemente del precio y otros lo harán si dicha moneda tiene mayor valor que la B2X. Si Bitcoin tiene mayor valor, como el mercado de futuros predice actualmente, todos los exchanges y proveedores de servicios llamarán Bitcoin a la cadena actual y B2X será una altcoin minoritaria como lo es BCash, pero con pocas posibilidades de sobrevivir en el futuro, dado que todos los desarrolladores de Bitcoin Core seguirán desarrollando Bitcoin, no B2X. A diferencia de Bitcoin Cash, B2X no supone una clara diferenciación de Bitcoin, como lo supone Bitcoin Cash, que no tiene SegWit y sí bloques de 8 Mb.

4.- Por último, existe la posibilidad de que los firmantes del acuerdo NYA decidan abandonar el lanzamiento de SegWit2X. Debido a la casi unanimidad en el rechazo a B2X de los usuarios, es posible que los firmantes del acuerdo decidan no realizarlo o postponerlo. Bitcoin habría resistido uno de los mayores intentos de controlarlo, volviendose más resistente y mostrando su “antifragilidad”, lo cual, probablemente iría seguido de un aumento importante en su cotización.

Sin duda un momento apasionante en la bonita y breve historia de bitcoin.

2 pensamientos en “El fork de SegWit2X

  1. Sí, opción 4! Maravilloso! Ayer en el Bitcoin Meetup de Madrid todo era alegría. Inicialmente previsto para charlar sobre el fork, se convirtió en una celebración. Nadie está al mando y lejos de ser un problema, es una característica fundamental de Bitcoin.

    Me gusta

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s