Blockchain: conceptos básicos - Bloques huérfanos
En este artículo vamos a hablar de los bloques huérfanos, también conocidos como bloques obsoletos. Los bloques huérfanos ocurren de vez en cuando en la mayoría de las cadenas de bloques Proof of Work. Pero, ¿por qué ocurren y qué son?
Antes de continuar, recomiendo encarecidamente leer este artículo sobre la prueba de trabajo y cómo funciona. Esto le dará una mejor comprensión fundamental de la minería y, especialmente, de las funciones hash unidireccionales (hashing).
Prueba de trabajo.
Resumen de la prueba de trabajo
La prueba de trabajo se basa en funciones hash unidireccionales. Las funciones hash unidireccionales nos permiten "trocear" o "comprimir" una cantidad infinita de datos en una salida de tamaño fijo llamada hash. En el caso de blockchain, los datos de entrada son transacciones, mientras que los de salida son una salida de hash.
Una vez que el minero encuentra los datos de salida correctos (hash), el bloque de transacciones se confirma y el bloque se envía a la red. Si quieres leer un artículo un poco más técnico sobre la prueba de trabajo, no dudes en leerlo aquí.
En términos sencillos, los mineros están resolviendo una función matemática, el primero en resolver correctamente el problema transmitirá la solución a los nodos de todo el mundo y obtendrá la recompensa del bloque por resolver el problema. Es importante tener en cuenta que la difusión de la solución por toda la red puede llevar algún tiempo.
Entonces, ¿qué ocurre si dos mineros encuentran la solución correcta al mismo tiempo o casi al mismo tiempo? La cadena se divide en dos cadenas. Una vez encontrada la cadena más larga, los demás bloques se convierten en bloques huérfanos.
¿Qué es un bloque huérfano?
Bloque huérfano es un término utilizado por el público en general, pero en los documentos técnicos se describe como un bloque obsoleto. Un bloque huérfano se crea cuando dos mineros (o más) encuentran la solución al mismo tiempo.
Dado que cada minero transmitirá la solución a la red y ésta necesita un par de instantes para sincronizarse, habrá dos blockchains durante un breve periodo de tiempo. Cada parte de la cadena de bloques pensará que su solución se encontró primero y que es la solución que debe utilizarse principalmente. En realidad, ambas soluciones son válidas.
Una vez que la nueva blockchain está activa, comienza la "carrera" entre ambas cadenas. La que tenga la cadena más larga será la principal.
Explicación detallada
Puede imaginarlo como si un minero en EE.UU. confirmara el bloque al mismo tiempo que un minero en Europa. Lo más probable es que los nodos de EE.UU. sean sincronizados primero por el minero de EE.UU. y los nodos de Europa sean sincronizados primero por el minero de Europa. En ese momento, habría dos blockchains concurrentes funcionando al mismo tiempo. Esto es lo que presenta la imagen inferior. Los nodos de EE.UU. utilizan el bloque confirmado por el minero de EE.UU., mientras que los nodos de Europa utilizan los bloques confirmados por los nodos de Europa. Las cadenas no se comunican entre sí.
Si nos fijamos en el ejemplo anterior, hay dos blockchains concurrentes que se ejecutan en los nodos, pero la cadena de bloques determina que la cadena más larga es la correcta/principal. Esto significa que los siguientes bloques encontrados por "lado" o cadena serán cruciales. Si los siguientes bloques se confirman más rápido en el lado europeo y hay menos soluciones confirmadas en el lado estadounidense, se considera que la cadena europea es la más larga, por lo que el bloque de la blockchain estadounidense se considera un bloque huérfano.
Normalmente la cadena que tiene el hashrate más alto será la principal ya que los bloques se encontrarán más rápido allí.
Nadie puede saber si el bloque es huérfano hasta que se decide la cadena más larga.
¿Se paga a los mineros por los bloques huérfanos?
Depende de la cadena de bloques. Algunas cadenas de bloques pagan por los bloques huérfanos. Antes de que Ethereum pasara a la prueba de participación, recompensaba a los mineros por los bloques huérfanos, aunque la recompensa era inferior a la de los bloques normales.
Existen demasiadas cadenas de bloques como para enumerarlas todas aquí, pero generalmente las cadenas de bloques con tiempos de bloque muy rápidos tienden a recompensar los bloques huérfanos de una forma u otra. Pero no necesariamente.
Las blockchains más comunes que no recompensan los bloques huérfanos y que también se utilizan en EasyMining de NiceHash son:
- Bitcoin (BTC)
- Bitcoin Cash (BCH)
- Dogecoin (DOGE)
- Litecoin (LTC)
- Zcash (ZEC)
¿Qué ocurre con las transacciones de los bloques huérfanos?
Las transacciones en los bloques huérfanos no se procesan en la cadena principal. Esto significa que si el bloque que contiene la transacción queda huérfano, la transacción será descartada. El saldo de la billetera del remitente será el mismo que antes de transferir los fondos y la billetera de destino no verá ninguna entrada de fondos. Sin embargo, la transacción podría estar incluida en las dos cadenas competidoras (ambos bloques). En ese caso, la transacción se procesa de todos modos.
Como siempre, no dudes en unirte a nuestra página de Reddit y a nuestro servidor Discord.