¿Qué pasaría si una parte de la red Bitcoin se separara del resto de la red?

Ayer hice una pregunta en SuperUser , para poder tener mis datos claros antes de hacer esta pregunta. El escenario establece la base para esta pregunta.

Con respecto a bitcoin, ¿qué pasaría con el sistema Bitcoin si una parte del mundo tuviera su conexión a Internet cortada con el resto del mundo? En otras palabras, si, digamos, toda la comunicación externa se perdiera en la región de Armenia , ¿los usuarios armenios de Bitcoin, que continúan usando Bitcoin, finalmente crearían una cadena de bloques bifurcada?

Si es así, ¿qué le sucedería a la cadena de bloques cuando se restablezca la conexión a la región del mundo separada y la red segregada se resuelva en la red principal?

Me imagino que el resultado sería similar a un ataque del 51%. ¿Es eso correcto?

¿Sería posible transferir archivos físicamente para mitigar las consecuencias?
Thilo parece responder en pocas palabras, pero ¿qué pasa si la conexión se corta durante, digamos, un mes y hay transacciones activas en Armenia durante ese período? ¿Eso causaría problemas de fusión al volver a conectar?
@evanh: Suponiendo que nadie haya intentado ningún ataque de doble gasto, no habría ningún problema: todas las transacciones 'perdidas' en la reorganización eventualmente se extraerían en nuevos bloques. Lo que esto significa es que para confiar en una transacción, no solo necesita confirmaciones, sino también asegurarse de que está hablando con una red lo suficientemente grande.
Además del doble gasto potencial, veo otro problema potencial en este escenario: si un minero armenio sigue minando y gasta inmediatamente las monedas ganadas antes de la reconexión, lo más probable es que esas transacciones se consideren inválidas cuando la red se reunifique. Y, al igual que @user622, me pregunto qué sucedería si la interrupción demora más de una semana; si lo entendí correctamente, las transacciones no pueden estar activas durante más de 2 días, por lo que todas las transacciones armenias aisladas se revertirían, ¿verdad?
Y creo que el protocolo de bitcoin probablemente debería cambiar para que este tipo de eventos sean menos traumáticos. Puedo muy bien imaginar que tales situaciones sean utilizadas contra las naciones insulares por terroristas o gobiernos. Si bitcoin se vuelve enormemente popular en Cuba, por ejemplo, puedo imaginarme fácilmente a los EE. UU. cortando los cables a propósito y causando un daño enorme a su economía...

Respuestas (5)

No sería una bifurcación, ya que ambas cadenas solo existirían como la cadena más larga hasta que se volviera a conectar la red. Tan pronto como Armenia se volviera a conectar a Internet, todos los clientes, a través del intercambio de bloques, determinarían que hay un bloque más largo y cambiarían a esa cadena. Todos los clientes simplemente descartarían la cadena huérfana y, finalmente, toda la red se "reunificaría" bajo la única cadena más larga.

En una situación como esa, sería difícil, pero no imposible, realizar un doble gasto. Un atacante necesitaría tener billeteras en ambas subredes para poder gastar monedas en ambas subredes durante el "aislamiento". Una precaución que se debe tomar cuando se aísla de la "internet principal" es no procesar ninguna transacción hasta que las subredes se hayan reincorporado.

Por ejemplo, una tienda podría aceptar monedas y preparar pedidos, pero no enviarlos hasta que se reincorpore a la red principal y se asegure de que no se produzca un gasto doble. Si se hubiera producido un gasto doble, el comerciante se daría cuenta una vez que la red más grande comenzara a procesar las transacciones huérfanas y la red las informara como no válidas. Si no ocurriera un gasto doble, esas transacciones eventualmente se incluirían en la cadena de bloques más larga y se confirmarían.

Para aquellos en la "red principal" no hay riesgo de un gasto doble porque su cadena seguirá siendo la más larga y sobrevivirá mientras se sobrescriben las transacciones de la subred más pequeña una vez que se reincorporan a las redes.

Puede ser útil poder poner en cola las transferencias sin enviarlas para este escenario.
¿Cómo se puede identificar una red principal? si la red está dividida, digamos 100 con el mismo número de nodos. ¿Quién define qué es la red principal?

Cuando el cliente de bitcoin descarga dos cadenas de bloques en conflicto, en otras palabras, cuando se produce una bifurcación, elige la cadena de bloques más larga como válida, y la más corta deja de ser válida y se denomina "bloques huérfanos". La "longitud" se calcula como la dificultad total combinada de esa cadena, no el número de bloques. Wiki: cadena de bloques

Entonces, en su escenario, lo más probable es que Armenia tenga menos poder de hash que el resto del mundo y produciría una bifurcación más corta de blockchain, por lo tanto, se anularía después de que se restablezca la conexión.

El ataque del 51 % implica un esfuerzo coordinado de un pequeño grupo de personas con intenciones maliciosas, que no es el caso según su escenario, por lo tanto, no lo llamaría ataque del 51 %.

Sería fácil contrarrestar cualquier resultado negativo porque los usuarios de la red aislada sabrían instantáneamente sobre el problema debido a la caída repentina del poder de hash total de la red, y solo tendrían que evitar gastar bitcoins hasta que se restablezca la conexión.

+1 El poder de hashing en la red de Armenia sería tan bajo que los bloques se crearían muy lentamente. Debido (no solo) a esto, las personas en Armenia muy pronto notarían que algo anda mal con "su" cadena de bloques y tomarían medidas para volver a conectarse de alguna manera. Incluso si no lo hicieran, no estarían creando una cadena de bloques lo suficientemente larga como para ser considerada una "bifurcación". Cualquiera que continúe minando en esto perdería sus ingresos mineros después de la eventual reconexión. Por otro lado, todas las demás transacciones en la "bifurcación de Armenia" se copiarían de nuevo a la cadena real (a menos que sean gastos dobles).
Espera, ¿por qué se crearían nuevos bloques muy lentamente? Todavía se crean a una tasa de 1 bloque por 10 minutos, al igual que en el resto del mundo.
@mafutrct, "Longitud" se calcula como la dificultad total combinada de esa cadena, no el número de bloques
@Serith Sí, pero en este momento estoy confundido sobre cómo se relaciona esto con mi comentario. Thilo hizo que pareciera que se crean nuevos bloques a un ritmo más lento que en el resto del mundo, lo que creo que no es el caso. Estoy de acuerdo con usted y con él en que, debido a la menor longitud (suma de dificultad), esos bloques se descartarían de todos modos. Tal vez solo estoy malinterpretando su redacción.
@mafutrct, Thilo también tiene razón. La dificultad se ajusta cada 2015 bloques, por lo que hay un poco de retraso entre el cambio de la tasa de hash de la red y el ajuste, y es posible que un bloque tarde más en extraerse antes de volver a ajustarse a 1 bloque cada 10 minutos. Entonces, digamos que Armenia representa el 1% de la tasa de hash total de la red, por lo tanto, después de la separación, tomará aproximadamente 1000 minutos extraer un bloque antes de que llegue al siguiente punto de control y establezca la dificultad correctamente.
@Serith: Ah, así es. Gracias por la aclaración, ahora lo entiendo.

No puedo agregar un comentario porque no tengo reputación; sin embargo, creo que es importante señalar que este tipo de ataque tiene consecuencias extremas para el futuro de la adopción de Bitcoin. Si el objetivo es un futuro en el que un gran porcentaje de la población mundial participe directa o indirectamente en la red Bitcoin, tal desconexión de la cadena de bloques reconocida mundialmente podría ser catastrófica.

Ha habido informes confirmados de conexiones a Internet saboteadas por otros estados, así como por gobiernos que ejercen control sobre su población. No estoy de acuerdo fundamentalmente con el comentario de @Serith en el contexto de una interrupción grave y de larga duración entre la cadena de bloques global y el sistema económico del país aislado:

Sería fácil contrarrestar cualquier resultado negativo porque los usuarios de la red aislada sabrían instantáneamente sobre el problema debido a la caída repentina del poder de hash total de la red, y solo tendrían que evitar gastar bitcoins hasta que se restablezca la conexión.

Las interrupciones intermitentes pueden ser fáciles de resolver, sin embargo, decir que una población simplemente necesitaría evitar gastar Bitcoins ignora el caso en el que, en un futuro potencial en el que Bitcoin se usa ampliamente, decirle a una población que simplemente deje de gastar tendría enormes consecuencias sociales y políticas. Tal caso podría muy bien resultar en disturbios severos en el país aislado, tal vez incluso tornándose violento.

Un corte en parte de la red también podría causar indirectamente que uno de los "gremios" obtenga %51. La comunidad también debería tener eso en cuenta en mi humilde opinión. es decir, si BTCGuild se desconectara repentinamente por completo durante un tiempo, y GHash.IO y él mismo tuvieran el 33 % del hashrate; GHash.IO tendría %50 durante el período de tiempo en que BTCGuild está desconectado.

Primero tenga en cuenta que los nodos de bitcoin transmiten bloques. Entonces, incluso si la mayoría de las máquinas en un país están aisladas del resto del mundo, solo se necesita una máquina que pueda "ver ambos lados" para mantener los bloques fluyendo de un lado a otro.

Pero, ¿qué sucede si un área está completamente aislada de la mayor parte del mundo?

Los mineros a ambos lados del corte seguirán tratando de encontrar bloques. La probabilidad de que los encuentren está determinada por la dificultad actual.

Suponiendo que el lado de "la mayor parte del mundo" tenga la mayor parte del poder de hashing, continuará más o menos como de costumbre.

El lado de "Armenia", por otro lado, experimentará una caída masiva en la tasa de bloqueo. Si tienen el 1% del poder de hashing (y dudo que tengan incluso eso), entonces experimentarán una caída de cien veces en la tasa de bloqueo.

Si el aislamiento dura lo suficiente, el "objetivo" del lado de "Armenia" se ajustará para restaurar la tasa de bloqueo normal, pero esto llevará mucho tiempo. El "objetivo" solo se reajusta después de cada bloque de 2016 y solo se reajusta en un factor de hasta cuatro cada vez. Digamos que cuando ocurre la división, estamos a mitad de camino entre los reajustes de dificultad, si "Armenia" tiene el uno por ciento de la capacidad de hashing, le llevará alrededor de 100 semanas (~ dos años) alcanzar su primer ajuste de dificultad.

Si se restaura la conectividad y cuando se restablezca, cualquier bloque extraído en el lado de "Armenia" se descartará ya que la cadena del lado del "resto del mundo" es mucho más fuerte. Las transacciones del lado "Armenia" pueden volver a incluirse en nuevos bloques si aún son válidas.