¿Cómo se lleva a cabo la propagación de la cadena más larga en bitcoin?

Digamos que la cadena de bloques válida que tiene el Nodo A es:B1->B2->B3

Ahora, voy a hacer trampa ya que tengo mucho poder de cómputo. Lo que hago es descargar la cadena de bloques anterior que tiene el Nodo A y comenzar a hacer trampa. Antes de hacer eso, hago una transacción para comprar una moto. entonces, la cadena de bloques válida ahora se ve así ( B1->B2->B3->B4). B4tiene mis transacciones de bicicletas. En mi copia local, no puse esa transacción. Ahora, como quiero tener una cadena más larga, trabajo muy rápido y digamos que después de un tiempo, la cadena del Nodo A y la mía se ven así:

Nodo A -B1->B2->B3->B4->B5

Mío -B1->B2->B3->O1->O2->O3->O4

Ahora, quiero transmitir mi cadena.

¿Qué transmito? Toda la cadena ( B1->B2->B3->O1->O2->O3->O4) o solo O1->O2->O3->O4?

A) Si solo transmito O1->O2->O3->O4, ¿cómo se da cuenta el nodo A de que B4->B5solo tiene que eliminarlo de su cadena y O1->O2->O3->O4agregarlo B3? ¿Obtiene primero O1el hash anterior y luego en su cadena de bloques local, busca el bloque con ese hash y si encuentra ese hash, elimina cada bloque después de él y agrega el recién copiado O1->O2->O3->O4de mi cadena? Si es así, también tendría en cuenta si el nuevo es el más largo (por lo que el recuento de las eliminaciones de los bloques debe ser menor que el recuento de los nuevos bloques copiados). ¿Estoy en lo correcto?

B) por supuesto, la transmisión de toda la cadena está fuera de discusión ya que es tan grande.

Respuestas (1)

Un ataque que intenta superar el poder de minería de toda la red por sí mismo se denomina o "ataque del 51 %". Concretamente, su ejemplo es un ataque mediante un ataque mayoritario. Cuando el atacante publica su sugerencia de cadena, cada nodo realiza una para cambiar a la mejor cadena.

Concretamente, los bloques B4y O1ambos comparten el hash de B3como su prevHash. Una vez que el atacante anuncie los bloques O1->O2->O3->O4, otros nodos notarán que esta punta de cadena tiene más trabajo total, encontrarán el último ancestro compartido en la cadena de bloques ( B3), revertirán todos los bloques hasta el ancestro compartido y luego aplicarán los nuevos bloques para converger en la mejor punta de cadena.

Una reorganización también puede ocurrir de manera benigna cuando dos mineros encuentran un bloque en el mismo momento. En ese punto, los nodos de la red se dividen en opinión de cuál es la mejor cadena, ya que cada nodo considera que el bloque que vio primero es el correcto. Una vez que otro bloque extiende uno de los dos extremos de la cadena, la red converge en la mejor cadena a medida que los nodos se enteran del nuevo bloque.