¿Es seguro el protocolo Bitcoin si dos partes de la red no tienen conexión?

Estoy tratando de entender el protocolo Bitcoin y tengo un escenario de seguridad.

  1. Supongamos que hoy en día se pierde la conexión a internet entre Europa y América.
  2. Juan está en Europa
  3. John le envía dinero a Henry mientras está en Europa.

Luego, John guarda su billetera en un CD y viaja a Estados Unidos, donde usa otra computadora. La conexión entre Europa y América sigue rota.

¿Puede John enviar el mismo dinero a otro cliente de Bitcoin? En América nadie sabe lo que hizo John en Europa.

Si puede enviar el mismo dinero nuevamente a Estados Unidos, ¿qué pasará cuando Estados Unidos y Europa se vuelvan a conectar?

Editar después de la respuesta de Murch:

Tengo una nueva historia, es la misma excepto por algunas pequeñas modificaciones.

  1. Juan es un chico malo. Descifró el enrutador de Alton y lo puso en una red falsa. Esta red incluye algunos pares de Bitcoin (falsos) que no tienen conexión a Internet.

  2. John, Alton y otros compañeros están ubicados en una red aislada.

  3. John envía dinero a Alton. Alton y los otros pares aislados confirman esta transacción, pero aún no está confirmada en la cadena de bloques global. Ahora, Alton cree que tiene el dinero.

  4. John toma su billetera y se conecta a internet. Y envía el mismo dinero a su otra cuenta. Esta transacción se confirma en la cadena de bloques global.

  5. John libera el enrutador de Alton, ahora Alton puede conectarse a Internet.

  6. Cuando Alton se conecte a Internet, verá que su transacción no está confirmada en la cadena de bloques global.

Creo que Alton necesita un servicio para confirmar que tuvo una transacción real y se confirma en la cadena de bloques global.

¿Hay un servicio como este? No sé, ¿realmente necesitamos un servicio para confirmar transacciones?

Con respecto a su edición: dudo que John solo pueda confirmar la transacción, ya que la dificultad seguiría siendo la misma que antes de que se aislara la red. El resto debería funcionar, excepto que creo que Alton debería notar que ya no está conectado a Internet, que no recibe ningún registro de transacciones de otras personas o que no ha recibido un bloque válido desde que estaba puesto en la red aislada. Eso significa que tal ataque tendría que programarse muy bien y valer la pena. Sin embargo, dado un trato valioso, Alton probablemente insistiría en esperar algunas confirmaciones.
Sin embargo, la próxima vez, comience una nueva pregunta para un nuevo escenario. :)
A la edición:<br> ¿Qué entiendes por cadena de bloques "global"?<br> ¿Cómo puedes saber cuál es global? <br> Hay blockchain.info y block-explorer.com, que muestran las transacciones que se les transmiten.<br> Sin embargo, alguien aún puede ponerlos en el lugar de Alton y engañarlos. O peor aún, pueden engañarte a propósito. ¿Su blockchain seguirá siendo global? <br>
No sé cómo definir la cadena de bloques global %100 correctamente. Creo que es la cadena de bloques más larga de la red. ¿Puede responder sus propias preguntas, por favor?
Tenga en cuenta que a los precios de hoy, costaría alrededor de $ 45,000 lanzar un ataque como este. Por lo tanto, dicho servicio solo sería necesario para transacciones de muy alto valor. Simplemente puede confirmar con una conexión segura a un servicio público de cadena de bloques.

Respuestas (1)

Los efectos directos del netsplit

Los mineros tanto en la red europea como en la red estadounidense continuarán encontrando bloques y validando transacciones en su respectiva parte de la red. Sin embargo, hasta que se ajuste la dificultad, la validación será más lenta, debido a que la dificultad se fijó para un poder de minado mayor al disponible en cada parte del mundo.

Supongamos que

  • 2/3 de la potencia minera están en América y 1/3 en Europa
  • el poder de hashing permanece constante (simplificación) durante el tiempo de la división de la red
  • la red estaba operando en un intervalo de bloque anterior de 10 minutos en promedio antes de la división

Luego, las Américas deberían encontrar un bloque cada 15 minutos y la red europea debería tardar 30 minutos por bloque después de la división. Cuando se alcance el bloque de ajuste de dificultad, ambas redes volverán a crear bloques cada 10 minutos en promedio. Sin embargo, hasta el ajuste América será el doble de rápido y por lo tanto su cadena de bloques se adelantará significativamente, específicamente un bloque y medio por cada bloque que se tuvo que minar hasta que se programó el ajuste de la dificultad.

John puede gastar su dinero de nuevo

Cuando John va a América, allí no se han tenido en cuenta las transacciones enviadas en la red europea. Por lo tanto, su billetera todavía le permitirá gastar todos los bitcoins que tenía antes del netsplit. Ahora puede engañar a Henry con el dinero: John decide enviar todo el dinero a otra de sus propias direcciones. *

Reconexión: se invalidará la cadena de bloques más corta

Ahora, cuando se reconcilia la conexión de las dos redes, la cadena de bloques de la red americana es más larga (es decir, la dificultad total de los bloques minados es mayor). Todos los bloques en la cadena de bloques europea extraídos desde la división de la red serán rechazados por la red estadounidense, los mineros europeos perderán retroactivamente sus ganancias mineras. La transacción que hizo John en las Américas tiene precedente, porque es parte de la cadena de bloques allí y las transacciones de la red europea recién ahora son readmitidas para ser validadas por la red global. El saldo de John ya se había enviado a su otra dirección, por lo que la transacción que ahora intenta enviar los bitcoins a Henry se descarta como no válida.

Alice, que había enviado dinero a Bob en Europa, verá que su transacción (junto con todas las demás que solo se vieron en la red europea) volverá a estar sin confirmar en la nueva cadena de bloques global (que se basa en la cadena de bloques estadounidense más larga). ), porque el bloque que lo había validado en Europa ha quedado obsoleto. Las transacciones que habían sido enviadas en la red americana no ven ningún efecto.

La red global ahora encontrará un nuevo bloque cada 6,67 minutos, hasta que se reajuste la dificultad, porque había reducido la dificultad para adaptarse al hashpower de los mineros estadounidenses y ahora está volviendo a su máxima potencia.


* Sin embargo, si Gustav se hubiera llevado su computadora de Europa y la hubiera conectado a la red bitcoin estadounidense antes de que llegara John, Gustav podría haber enviado todas las transacciones que se habían producido en Europa a la red estadounidense también, y John no habría sido capaz de gastar su saldo de nuevo.