Disculpas si esto se ha cubierto, pero hay un área de la red de Bitcoin que no tengo clara y está íntimamente relacionada con el problema del doble gasto.
Supongamos que la Persona A está comprando un artículo en una tienda. Ellos "pagan" a la Persona B 1 BTC por un bien y transmiten esta transacción a la red, que la Persona B ve como no confirmada. La transacción se incluye en un bloque ( Bloque 1 ) cuya Prueba de Trabajo ahora se está encontrando/resolviendo.
Supongamos que la Persona A controla el 30 % de la red de minería de Bitcoin (alta proporción arbitraria) y, en cambio, hace que sus mineros extraigan un bloque diferente ( Bloque 2 ) que contiene una transacción que gasta el mismo BTC en una billetera diferente controlada por la Persona A.
Supongamos que la Prueba de trabajo para el Bloque 2 se obtiene primero, contra todo pronóstico, y el minero "corrupto" que encuentra el hash requerido lo transmite a toda la red de bitcoin. Aquí es donde mi entendimiento se rompe. ¿Qué sucede exactamente cuando el 70% restante ve esta transacción? ¿Dejan de minar el Bloque 1 ? ¿En qué momento puede quedar huérfano el Bloque 1 ?
Imagina la cadena de bloques como... una cadena de bloques
La situación es:
A -> B -> C
\-> C'
Pero algunos nodos lo ven como A -> B -> C y el mío sobre el bloque C
y algunos otros ven A -> B -> C' y el mío sobre el bloque C'
Si el nodo ve algo como esto:
A -> B -> C -> D -> E...
\-> C'-> D'-> E'...
debe seleccionar la cadena más grande cumulative difficulty
(la más larga) y olvidarse de la cadena huérfana
¿Qué sucede exactamente cuando el 70% restante ve esta transacción? ¿Dejan de minar el Bloque 1?
Digamos que comenzaron a minar Block1 cuando la cadena era -A-B-C->
. Estaban minando en la parte superior del bloque C. Cuando se extrae el bloque 2 en la parte superior de C, la situación se convierte en -A-B-C-Block2->
. Este 70 % ahora deja de minar Block1
y pasa a minar encima de Block2
. La primera transacción no se agrega a la cadena y se rechaza y la segunda transacción se confirma (con una longitud de confirmación de 1 bloque). (Después de un tiempo, cuando se extraiga el siguiente bloque Block2
, se confirmará con una longitud de 2 bloques).
¿En qué momento puede quedar huérfano el Bloque 1?
Block1
nunca se agregó a la cadena, por lo que no queda huérfano.
Croraf
Ralf Kléberhoff
marcus johnson