¿Qué es un hard fork en blockchain?
Un hard fork en palabras sencillas
Las reglas de la red están escritas en el software que ejecutan las computadoras de la red, llamadas nodos. Cada nodo revisa por su cuenta cada bloque nuevo según esas reglas y rechaza el que no las cumple. Con el tiempo las reglas se cambian para corregir un error o agregar una función nueva. La versión nueva del software la escriben los desarrolladores, y cada dueño de nodo decide por su cuenta si la instala o no1.
Después del hard fork, un nodo que no actualizó el software revisa los bloques nuevos según las reglas antiguas y los rechaza por no válidos2. Por eso actualizan el software todos los que quieren seguir en la red común, y quien no lo actualizó se queda en la cadena de bloques antigua.
Imagina un grupo de amigos que desde hace tiempo juega a un juego de mesa con las mismas reglas y anota el puntaje de todas las partidas en un cuaderno común. Alguien propone una regla nueva para contar los puntos. Si todos están de acuerdo, desde el siguiente encuentro juegan de la forma nueva, y el cuaderno sigue siendo uno solo. Si una parte del grupo se niega, a partir de ahí los jugadores se sientan en dos mesas y llevan dos cuadernos, con las primeras páginas iguales y las anotaciones posteriores a la discusión distintas. Un hard fork funciona igual, solo que en lugar de páginas del cuaderno tiene bloques con transferencias.
Qué pasa con tus monedas en un hard fork
¿Tengo que hacer algo como poseedor en un hard fork planificado?
No. El software lo actualizan los dueños de nodos, las billeteras y los exchanges, y la criptomoneda se queda donde estaba. Así pasó también cuando Ethereum se pasó a los validadores en 2022: no hubo que hacer nada con la criptomoneda ni con la billetera, y no existe un ETH «viejo» o «nuevo». Según ethereum.org, quienes afirman lo contrario probablemente son estafadores3.
¿Qué pasará con mis monedas después de la división de la red?
La nueva red heredó todo el historial de transferencias junto con los saldos, por eso tus monedas están en las dos redes. Las monedas de la nueva red no hay que transferirlas a ningún lado ni «reclamarlas»: ya están en tu billetera, y se abren con la misma frase semilla que las anteriores. Así les pasó, por ejemplo, a quienes usaban billeteras Trezor cuando se dividió la red Bitcoin en 20174. A partir de ahí las monedas de las dos redes viven por separado, y una transferencia en una red no se ve en la otra. Lo que verás en la práctica depende de dónde estén tus monedas:
- en tu propia billetera, cuya clave solo conoces tú, las monedas nuevas solo se ven en una aplicación que admita esa red. Usa una billetera conocida que haya anunciado oficialmente ese soporte;
- en un exchange, las monedas las guarda el exchange, y es él quien decide si acredita a sus clientes las monedas nuevas, así que revisa su anuncio5.
Justo después de la división, no te apures a mover tus monedas. Si la nueva red no tiene protección contra repeticiones, lo que transfieras en una red puede repetirse en la otra, y las monedas saldrán de las dos. Espera a que tu billetera o tu exchange anuncie que ya es seguro transferir.
Las monedas recibidas en una división de la red pueden pagar impuestos. En Nueva Zelanda, por ejemplo, pueden gravarse al recibirlas, al venderlas o en ambos casos6. ⚖️ Cómo abordar los impuestos en tu país lo explica la guía de impuestos.
Cómo los estafadores aprovechan los hard forks
Los estafadores ofrecen «recibir gratis las monedas nuevas» y piden ingresar la clave privada (el código secreto que usa la billetera para aprobar transferencias) o la frase semilla. En noviembre de 2017 así funcionaba el sitio mybtgwallet, que prometía entregar monedas de Bitcoin Gold; a quienes subieron allí sus claves privadas les robaron bitcoins y otras criptomonedas78.
En qué se diferencia un hard fork de un soft fork
Las reglas también se pueden cambiar de modo que los nodos antiguos sigan funcionando en la misma red. Ese cambio se llama soft fork, o bifurcación suave, y con él los bloques nuevos siguen pasando la revisión de los nodos antiguos2.
La diferencia se entiende fácil con archivos. Un hard fork se parece a un formato de documento nuevo que el software antiguo no abre hasta que lo actualicen. Un soft fork se parece a una regla nueva que obliga a escribir los documentos con una sola tipografía. El software antiguo sigue abriendo cada archivo; simplemente hay menos opciones de formato.
| Soft fork | Hard fork sin división | Hard fork con división | |
|---|---|---|---|
| ¿El software antiguo acepta los bloques nuevos? | sí | no | no |
| ¿Hay que actualizar el software del nodo? | no | sí | sí |
| ¿La red sigue siendo una sola? | sí | sí | no |
| ¿Aparece una moneda nueva? | no | no | sí |
Por qué la red no siempre se divide después de un hard fork
Una blockchain no tiene jefes que puedan obligar a todos a actualizarse, por eso cada cambio de reglas se discute primero. Cómo se ponen de acuerdo los participantes de la red sobre el registro correcto lo explica el artículo qué es el consenso.
Normalmente un hard fork se acuerda con anticipación, y el software de los nodos pasa a las reglas nuevas en el mismo momento; que la red se divida por una disputa sobre un hard fork ocurre pocas veces9. Así se actualiza Ethereum con regularidad, y las actualizaciones pasadas y planificadas, con sus fechas, figuran en la página de historia de la red.
Si algunos participantes están en contra del cambio y otros lo aplican de todos modos, la red puede dividirse1. A partir de ahí cada una de las dos redes tiene sus propios bloques, sus propios mineros o validadores y su propia moneda. Quién agrega los bloques a la red lo explica el artículo mineros y validadores.
Cómo se dividieron las redes por un hard fork
En 2016, a través de un error en su código, sacaron muchos ETH de un proyecto de la red Ethereum, el programa The DAO. La mayoría de los participantes decidió cambiar las reglas y devolver las monedas a los afectados9. Una parte se negó a pasarse, porque consideraba que el error estaba en un solo programa y que las reglas de Ethereum funcionaban bien. Ellos siguieron en la red anterior, sin el hard fork, y esa red recibió el nombre de Ethereum Classic; la red con el hard fork es la actual red Ethereum, con la moneda ETH1.
El 1 de agosto de 2017 la red Bitcoin se dividió y apareció la red Bitcoin Cash. Sus partidarios querían que en un bloque cupieran más transferencias, y el software nuevo subió el límite de tamaño del bloque10. Cada persona que tenía 1 BTC en ese momento recibió también 1 BCH11.
El 15 de noviembre de 2018 se dividió la propia red Bitcoin Cash, y la segunda red pasó a llamarse Bitcoin SV12.
Más detalles sobre cómo se toman las decisiones y los forks más conocidos
En Ethereum, cualquiera puede escribir una propuesta para cambiar las reglas. Los desarrolladores del software de los nodos la discuten en llamadas abiertas1. Fueron hard forks planificados de Ethereum, por ejemplo, la actualización London de agosto de 2021 y la actualización Pectra de mayo de 20259.
Un soft fork fue, por ejemplo, la actualización Taproot, que empezó a funcionar en la red Bitcoin el 14 de noviembre de 2021 en el bloque 709 6321314.
De The DAO sacaron más de 3,6 millones de ETH. El hard fork que trasladaba esas monedas a un programa de devolución para los afectados recibió más del 85% de los votos y se realizó el 20 de julio de 2016 en el bloque 1 920 0009. La protección contra repeticiones para Ethereum se describió en una propuesta aparte, EIP-155, en octubre de 2016, para que una transferencia en Ethereum no funcionara en Ethereum Classic15.
En Bitcoin Cash, el tamaño máximo del bloque subió a 8 MB10. Hasta el bloque 478 558 inclusive, los historiales de Bitcoin y Bitcoin Cash coinciden11.