Hard fork y soft fork, y qué supone cada uno para un minero
La diferencia está en si el software que no se ha actualizado sigue aceptando los nuevos bloques. Esa única respuesta decide todo lo demás.
Un fork es un cambio de reglas, nada más dramático
Una blockchain es un conjunto de reglas del que todos ejecutan la misma copia. Un fork es lo que pasa cuando esas reglas cambian. La palabra suena a crisis, y la mayoría de los forks son mantenimiento rutinario que nadie aparte de los desarrolladores nota.
Hay exactamente una pregunta que separa los dos tipos, y todas las demás diferencias se derivan de ella: ¿el software que no se ha actualizado sigue aceptando los bloques creados con las nuevas reglas?
Hard fork: las reglas se relajan, el software antiguo se niega
Un hard fork permite algo que las reglas antiguas no permitían. Quizá un bloque más grande, un nuevo tipo de transacción, un calendario de recompensas distinto. Como los bloques nuevos hacen algo antes prohibido, el software con las reglas antiguas los examina y los rechaza como inválidos.
Eso es lo que lo hace incompatible con versiones anteriores, y por eso un hard fork necesita que todos se muevan a la vez. Si todos actualizan, hay una sola cadena y el cambio simplemente entra en vigor. Si un grupo significativo no lo hace, hay dos cadenas a partir de ese bloque, cada una válida según sus propias reglas y cada una ignorando a la otra.
Soft fork: las reglas se endurecen, el software antiguo está de acuerdo
Un soft fork prohíbe algo que las reglas antiguas permitían. Los bloques nuevos son un subconjunto de lo que ya era válido, así que el software antiguo los examina, no encuentra nada que objetar y los acepta. Nadie queda fuera de la cadena por negarse a actualizar.
La trampa va en el otro sentido. Un minero que sigue con el software antiguo puede producir un bloque que es correcto según las reglas antiguas pero incumple las nuevas, más estrictas, y la mayoría actualizada lo rechazará. El bloque no llega tarde sin más: se desecha, junto con todo lo gastado en encontrarlo.
Por eso los soft forks normalmente solo se activan cuando una gran mayoría del hashrate indica que está lista. La actualización se coordina para que la minoría que se queda atrás sea lo bastante pequeña como para darse cuenta rápido y cambiar.
Lo que una división significa realmente para tus pagos
Si una cadena se divide de verdad, se producen dos cosas que le importan a un minero más que la política de por qué se dividió.
El hashrate se reparte entre las ramas, así que ambas son menos seguras que la cadena única, y ambas tienen bloques más lentos hasta que la dificultad se ajusta. Ese ajuste lleva tiempo, y mientras dura, una rama con una parte pequeña del hashrate puede producir bloques muy, muy despacio.
La otra es que tus monedas existen en ambas ramas, porque las dos comparten el historial hasta la división. Si la segunda rama vale algo es una cuestión de mercado, y a menudo la respuesta es muy poco. Los exchanges suelen ser prudentes con los depósitos en torno a un fork, algo que conviene recordar si pensabas vender.
Forks que crean una moneda nueva, y forks que no
La mayoría de los forks cambian una cadena y dejan una cadena. Las excepciones famosas son aquellas en las que un grupo mantuvo deliberadamente vivas las reglas antiguas como una moneda aparte, que es de donde salieron varias monedas muy conocidas.
Una distinción útil: una actualización de red planificada que todo el mundo adopta es un hard fork en sentido técnico y no produce ninguna moneda nueva. La actualización es el objetivo, y el fork es solo el mecanismo. Solo un fork en el que dos grupos siguen construyendo deja dos monedas detrás.
La regla práctica para un minero
No necesitas seguir el debate. Necesitas ejecutar el software que ejecuta la cadena en la que cobras, y saber cuándo cambia.
- Sigue el canal de anuncios de la propia moneda para conocer las alturas de activación. Un fork se produce a una altura de bloque anunciada, no a una hora anunciada, y ese es el número que hay que apuntar.
- Si minas en un pool, el pool ejecuta el nodo y se encarga de la actualización. Tu programa de minería no se ve afectado en el caso normal, porque se te envía trabajo; tú no validas bloques.
- Si haces minería en solitario contra tu propio nodo, actualizar ese nodo es tarea tuya, y hacerlo tarde significa minar una cadena que nadie acepta.
- En torno a un fork polémico, cuenta con que tu estimación de ganancias esté equivocada durante un tiempo. La dificultad, el precio y la cadena que sigue el pool pueden cambiar en la misma semana.