En la blockchain se pueden dar una gran diversidad de situaciones que deben ser controladas y una de ellas son los llamados bloques huérfanos. Estos bloques son generados por la actividad de minería y su existencia es parte de uno de los problemas de la descentralización que ha sido solucionado gracias a las reglas de consenso de la red.
En blockchain, un bloque huérfano o suelto es aquel bloque válido, resuelto de forma exitosa pero que no forma parte de una blockchain. El término en inglés es orphan block, y se usa mucho en Bitcoin y otras criptomonedas derivadas del mismo.
¿Cómo se origina un bloque huérfano?
Originalmente los bloques huérfanos eran bloques resueltos correctamente, pero de los que no se conoce su ascendencia completa. Lo que significa que no se sabe cuál es el bloque padre. Por esta razón, no se pueden validar. Esto era común en las primeras versiones del software de Bitcoin, sin embargo a partir de 2015 con la salida de la versión v.0.10, los bloques huérfanos ya no son posibles. Esto se debe a que los mineros ya no pueden recibir bloques de los que no se conoce su ascendencia, un cambio que podemos examinar en su GitHub.
Aunque el término de bloque huérfano se sigue empleando comúnmente para denominar a aquellos bloques generados cuando dos mineros lograr resolver un bloque de forma casi simultánea. Como la red no acepta y distribuye el bloque generado de forma instantánea, sino que presenta un retraso, puede ocurrir que otro minero resuelva exactamente el mismo bloque. Así se generan dos bloques en un tiempo muy cercano, y ambos se distribuyen a la red para su validación. Habrá mineros que distribuyan uno de los bloques y comenzarán a resolver el siguiente bloque en base al hash del bloque recibido. Por su parte, habrá otros mineros que recibieron el otro bloque generado primero y también comenzarán a resolver el bloque siguiente.
No obstante, llegará un punto en el que un minero encuentre la solución al próximo bloque en base a uno de los generados simultáneamente. Y es en ese entonces cuando los mineros tomarán la cadena más larga. Es decir, el bloque a partir del cual se generó el siguiente bloque, mostrará una mayor Prueba de Trabajo (PoW) y por tanto, se el aceptará dentro de la blockchain. Mientras que el bloque con la menor cantidad de PoW, se le descartará, y por ende, no se añadirá a la blockchain. A este tipo de bloques se les conoce como bloque inválido o caducado, aunque se les llama más comúnmente bloques huérfanos.
Otra forma de generar un bloque huérfano es cuando un hacker intenta revertir algunas transacciones realizadas en la red. Cabe señalar que para que una persona pueda llevar a cabo esta acción, es necesario que cuente con más del 50% del poder de hash de la red.
¿Dónde se almacenan?
Los bloques huérfanos no entran a la blockchain. En su lugar, se les almacena de forma temporal en una pool denominada orphan block pool. Allí se muestran como una especie de lista de bloques huérfanos que no forman parte de una blockchain.
Es importante mencionar que los bloques huérfanos literalmente, es decir, que no contaban con un bloque padre, podrían ser añadidos a la blockchain posteriormente. Esto claro, una vez que fuera agregado el bloque predecesor que le dio origen al bloque huérfano.
¿Cuánto sabes, criptonauta?
¿Los bloques huérfanos pueden permitir a un atacante intorducir gastos de monedas en una blocckhain?¡FALSO!
Un bloque huérfano no permite tal acción. Esto es así porque este tipo de bloque no es introducido en el historial de la blockchain. De esta forma, no recibe ninguna validación ni confirmación de gasto de monedas.
Generalidades de un bloque huérfano
- Un bloque huérfano es válido ya que su resolución es correcta. Pero aún así, no forma parte de una blockchain.
- Están almacenados en una pool de bloques huérfanos. Esto significa que toda la información que contienen pasa ser irrelevante para la blockchain y la red en general.
- Los bloques huérfanos ocurren con frecuencia y en su mayoría, por casualidad. Se estima que entre 1 y 3 de todos los bloques generados en un día son huérfanos.
- Las transacciones incluidas en un bloque huérfano no se pierden. En su lugar, otro nuevo bloque las incluye y confirma. Esto es algo que puede suceder en el bloque de la cadena más larga o unos minutos después en el bloque siguiente.
- Los mineros que hayan generados correctamente bloques pero que han quedado inválidos, no recibirán la recompensa producto de la minería.
- El tipo de bloque caducado si es técnicamente válido ya que si posee una ascendencia al bloque Génesis. Pero se les rechaza por no tener la cadena más larga para la resolución del siguiente bloque.