¿Qué son los bloques huérfanos y obsoletos?

Si lo entiendo bien, un bloque obsoleto es un bloque para el cual se encontró una confirmación anterior y fue aceptado por la mayoría de las personas. Este bloque se considera inválido y luego nunca se usa.

Pero qué es un bloque huérfano. ¿Cómo se crea? ¿Cómo se comprueba que está huérfano y qué se hace con el bloque huérfano?

Si ha sido o no aceptado por una mayoría es irrelevante para la definición.

Respuestas (4)

Bloques obsoletos :

En cualquier segundo, un bloque puede ser "resuelto". Esto significa que todos los demás en el mundo que trabajan en ese bloque deben detenerse y reiniciar su trabajo. Continuar trabajando después de ese punto se conoce como trabajar en un "bloque obsoleto" porque son datos antiguos y transacciones antiguas.

Tengo entendido que el término obsoleto se aplica mucho más comúnmente a las acciones cuando se extrae en un grupo, por lo que es más probable que escuche sobre acciones obsoletas que sobre bloques obsoletos. En este caso, el grupo probablemente ni siquiera se molestaría en verificar si el recurso compartido realmente resolvió un bloqueo o no.

Bloques huérfanos :

Los bloques separados o huérfanos son bloques válidos que no forman parte de la cadena principal. Pueden ocurrir naturalmente cuando dos mineros producen bloques en momentos similares o pueden ser causados ​​por un atacante (con suficiente poder de hash) que intenta revertir las transacciones.

Mi propio entendimiento es que los bloques huérfanos son inicialmente aceptados por la mayoría de la red, pero luego son rechazados cuando se recibe una prueba de una cadena de bloques más larga que no incluye ese bloque en particular.

Esto significa que un usuario podría ver una transacción como si tuviera una confirmación y luego, si se recibió una cadena de bloques más larga que no incluyera la transacción, podría volver a cambiar a 0 confirmaciones.

Como escribió Pieter en su respuesta, lo que llama un "bloque huérfano" es un bloque extinto que puede contener "transacciones huérfanas". Los bloques huérfanos reales son bloques que recibió un nodo antes de que el nodo recibiera el bloque principal.

Hay varias definiciones con significados superpuestos.

El primero quizás se llame mejor bloques extintos . Estos son bloques que se produjeron construyendo sobre un bloque que ya no es la punta activa de la cadena. Algunos nodos pueden haberlo considerado como el mejor bloque en algún momento, pero cambiaron a otra cadena que ya no contiene el bloque relevante. Son válidos, verificados y su ascendencia hasta el bloque de génesis es completamente conocida; simplemente, actualmente no están 'activos'. A veces se denominan bloques obsoletos (normalmente en el contexto del software de minería que se da cuenta de que se basa en datos antiguos) o bloques huérfanos. El último nombre se origina en el hecho de que los pagos de bloques extintos se indican como "huérfanos" en el cliente de referencia (refiriéndose al hecho de que sus transacciones de base de monedas ahora están huérfanas).

Sin embargo, también existen bloques huérfanos reales, con huérfano en su significado original de "no tener padre". Estos son bloques recibidos por un nodo que no tiene toda su ascendencia (todavía) y por lo tanto no se puede validar. Los nodos mantienen dichos bloques en la memoria, mientras piden a sus pares que llenen el espacio en blanco de su historial. El cliente no los muestra, por lo que cuando las personas hablan de bloques huérfanos, lo más probable es que se refieran a bloques extintos. Tenga en cuenta que desde Bitcoin Core v0.10, ya no existen tales bloques huérfanos, debido a un cambio significativo en el mecanismo de descarga.

La terminología es confusa aquí :)

Buena explicación, Pieter, ¿podría dar más detalles sobre el mecanismo de descarga actual que utiliza Bitcoin Core? Me pregunto cómo resuelve el problema del bloque huérfano.
@eugenkr Los encabezados se descargan y validan primero, incluso antes de que el cliente solicite datos de bloque. Como resultado, nunca recibirá bloques cuyos padres no conozca.
Llegué a este hilo desde Twitter. Mi sugerencia es "bloque solitario".
Entonces, para confirmar, este gráfico en blockchain.com muestra lo que prefiere llamar bloques extintos .

Los huérfanos no están en la cadena (como los ve el nodo de procesamiento) porque faltan sus padres, los rancios no están en la cadena porque no tienen hijos en la cadena.

Fuente: el glosario en bitcoin.org:

Los bloques obsoletos son: "Bloques que se extrajeron con éxito pero que no están incluidos en la mejor cadena de bloques actual, probablemente porque algún otro bloque a la misma altura tuvo su cadena extendida primero".

y los bloques huérfanos son: "Bloques cuyo bloque principal no ha sido procesado por el nodo local, por lo que aún no se pueden validar por completo".

"Los huérfanos no están en la cadena porque no tienen padres en la cadena" esta afirmación es incorrecta. los bloques huérfanos tienen bloques "principales" que forman parte de la cadena de bloques
Según en.bitcoin.it/wiki/Vocabulary#Orphan_Block : "Un bloque huérfano es un bloque que no tiene un padre conocido en la cadena de bloques más larga actualmente. No debe confundirse con un bloque obsoleto (que tiene un padre conocido, pero ya no es parte de la cadena más larga)".

Ambas respuestas son bastante buenas y explican bien el concepto de bloque huérfano (o nombre más preciso según Pieter Wuilie: bloques extintos ). Solo quiero dar una visión específica para los futuros lectores que también podrían querer echar un vistazo a los bloques huérfanos reales en la cadena de Bitcoin, como yo :)

En el sitio web blockchain.info, hay un registro detallado de esos bloques huérfanos , si hace clic en la altura del bloque, incluso la información del encabezado del bloque de esos bloques huérfanos está ahí para usted, por ejemplo, un bloque huérfano 503949 extraído por SlushPool.

También tiene una vista de estadísticas de bloques huérfanos , descargo su historial csv y puedo calcular que la tasa de bloques huérfanos de Bitcoin es de aproximadamente 0.31% (del 18/3/2014 al 14/6/2017). El archivo de estadísticas de Excel está aquí .