¿Ha habido alguna vez un ataque de doble gasto exitoso en la red Bitcoin? Si no es así, ¿es realmente necesario esperar a las confirmaciones?

Hay mucha preocupación por esperar confirmaciones para evitar un ataque de doble gasto, pero ¿alguna vez ha habido realmente un ataque de doble gasto?

Parece ser que hay dos tipos de ataques de doble gasto. Uno se perpetra sin una fracción significativa del poder minero total de la red. Para perpetrar esto con éxito, el atacante debe enviar ambas transacciones casi simultáneamente. Si hay una demora significativa entre la transacción legítima y el gasto doble, casi todos los mineros recibirán la transacción legítima antes del gasto doble. Los mineros rechazarán el doble gasto y casi se garantizará que la transacción legítima se incluirá en el siguiente bloque. Por lo tanto, para perpetrar con éxito este tipo de doble gasto, el atacante debe enviar ambas transacciones simultáneamente para que la mitad de la red esté trabajando en una y la mitad de la red esté trabajando en la otra. Sin embargo, si hacen esto, entonces debería ser fácil para el beneficiario detectarlo de inmediato y, por lo tanto, el beneficiario puede rechazar el pago en segundos. Por lo tanto, un ataque de doble gasto sin una fracción sustancial de la potencia de la red no parecería ser un problema: se detecta fácil e inmediatamente (o fallará).

Por lo tanto, el único tipo de gasto doble que probablemente tenga éxito es aquel en el que el atacante controla una fracción sustancial de la potencia de la red y puede recuperarse de una desventaja inicial en la creación de bloques. Sin embargo, hasta que se haya demostrado tal doble gasto, implica que ninguna entidad malintencionada ha logrado el control de una fracción sustancial de la potencia informática de las redes.

Por lo tanto, si nunca se ha perpetrado un ataque de doble gasto, los usuarios cotidianos que transfieren pequeñas cantidades de bitcoins pueden estar muy seguros de que no serán víctimas de un ataque de doble gasto (¿cuáles son las posibilidades de ser el primero?) y renunciar a esperar confirmaciones. .

(Las personas que realizan transacciones anónimas muy grandes, por otro lado, pueden estar entre las primeras personas a las que apunta un doble gastador que ha logrado una fracción sustancial del poder de cómputo de la red)

¿Es correcto ese análisis?

No necesariamente un "posible duplicado", ya que no aborda la pregunta específica de si alguna vez se ha perpetrado un ataque, pero es bastante similar a una pregunta que hice hace un tiempo.

Respuestas (5)

Por lo que vale, MyBitcoin.com afirmó que su cierre fue precipitado por una serie de ataques de doble gasto:

Nuestro programador supuso que un bloque era lo suficientemente bueno para asegurar una transacción. Hace dos años, cuando se escribió el software, este único mito confirmado era una creencia popular.

El usuario theymos (un administrador de los foros de bitcointalk.org) les había advertido públicamente que aceptar transacciones después de una sola confirmación era una "locura".

Sin embargo, no hay forma de verificar si realmente se han producido ataques de doble gasto porque, que yo sepa, nadie los está buscando actualmente en la red (las transacciones de doble gasto normalmente se descartan después de que el evento se resuelve a satisfacción del usuario). cadena de bloques). Todo lo que podemos observar públicamente son reorganizaciones de cadenas de bloques que también ocurren naturalmente de vez en cuando cuando diferentes mineros o grupos encuentran bloques casi simultáneamente. Quizás un argumento estadístico podría estimar con qué frecuencia deberían ocurrir (hemos tenido 14 en el último mes) y argumentar la existencia de intentos de doble gasto sobre esa base, pero personalmente no he visto tal análisis.

Sin embargo, lo más crítico a su pregunta sobre si esperar o no la confirmación es el hecho de que se ha perdido un posible vector de ataque, conocido como "Ataque Finney" en honor a Hal Finney, quien lo identificó . En un Finney Attack, un minero incluye un "doble" de las dos transacciones en sus propios bloques mientras extrae, pero no lo transmite a la red. Cuando finalmente encuentran un bloque, compran algo con una transacción conflictiva (el segundo "doble" en el ataque de doble gasto) y luego transmiten inmediatamente su bloque, lo que invalidará la transacción de compra en la cadena de bloques. Si el comerciante no ha esperado la confirmación, el atacante se marchará con el artículo comprado (con suerte, algo similar al efectivo) y sus bitcoins originales.

Dado que esta situación y sus variantes se aplican en gran medida a los comerciantes que ofrecen artículos 'bajo demanda' entregados al instante, su análisis de los "usuarios cotidianos que transfieren pequeñas cantidades de bitcoins" sigue siendo aproximadamente correcto. Tenga en cuenta que si aceptar transacciones de confirmación 0 se convirtiera en la norma, el incentivo para el ataque "enviarlos simultáneamente" aumentaría significativamente (requiriendo incluso una confirmación evita esto en la gran mayoría de los casos). Pero por el momento, los usuarios regulares deberían estar más preocupados por el viejo fraude regular de "usted paga primero" en transacciones no depositadas y los ataques de intermediarios en los que un interlocutor pasa mensajes entre dos partes confiables que buscan hacer negocio,sido ejecutado en la naturaleza).

tl;dr Los comerciantes y los intercambios definitivamente deben esperar las confirmaciones en cualquier momento en que las transacciones sean de un valor significativo y/o a cambio de bienes similares al efectivo. Las personas que transfieren pequeñas cantidades deben preocuparse más por otros aspectos de la confianza en el intercambio y pueden protegerse de manera bastante efectiva con una sola confirmación.

Aunque nadie ha afirmado haber perdido en el ataque de Finney, no debe descartarse como poco probable que ocurra en el futuro. La razón probable por la que no nos enteramos es que hay pocos comerciantes que aceptan en 0/sin confirmar, y aún menos que venden productos de valor suficiente para que valga la pena que el atacante intente esto incluso.
Notará que no descarto el ataque de Finney en mi respuesta, sino que enfatizo su importancia.
"Hace dos años, cuando se escribió el software, este único mito confirmado era una creencia popular".... popular entre las personas con un conocimiento tan limitado de la tecnología bitcoin que no tienen software de escritura comercial para ello.

Esta pregunta se ha hecho varias veces en varios lugares diferentes, y nadie ha presentado aún evidencia de un ataque de doble gasto. Por supuesto, es posible que nadie se moleste con tal ataque porque todos esperan confirmaciones de todos modos.

Tu análisis es correcto. Puede actuar sobre menos confirmaciones con el mismo nivel de confiabilidad si monitorea la red desde múltiples puntos, idealmente lo más cerca posible de la mayor cantidad posible de grupos de minería grandes. Y si alguien alguna vez logró causar tal ataque, tendría una prueba irrefutable: la transacción en conflicto.

Me pregunto si los grupos de minería estarían dispuestos a proporcionar una página web que enumere las transacciones que pretenden incluir en el siguiente bloque (suponiendo que hayan extraído una en ese momento). Si algunos de los grupos más grandes hicieran esto, eso le permitiría estar mucho más seguro de que no hubo transacciones conflictivas en la red. Si los dos grupos más grandes tienen sus transacciones y ninguno de los grupos tiene una transacción en conflicto, puede estar casi seguro de que está seguro incluso sin confirmaciones.

El 11 de marzo de 2013 hubo una bifurcación dura no planificada y, como resultado, se realizó al menos un ataque de doble gasto en el que se gastó dos veces una gran cantidad de fondos (bitcoins por valor de $ 10K USD).

Para aquellos que son demasiado perezosos para hacer clic, o en caso de que los enlaces mueran, no fue una operación delictiva: el usuario devolvió voluntariamente los fondos.

Septiembre/octubre de 2013: los operadores de pools de GHASH.IO fueron acusados ​​de gastar dos veces contra BetCoin Dice:

https://bitcointalk.org/index.php?topic=321630.0

Extracto:

"Estoy diciendo que ghash.io probablemente estuvo involucrado en ese doble gasto. Recibí un informe de un usuario del grupo de que no hubo bloques (recompensas) entre el 25 y el 27 de septiembre. Significa que el poder de hash del usuario fue utilizado de forma gratuita por agrupe a los operadores para realizar este ataque".

El caso es que BetCoin Dice estaba usando un método de confirmación 0 en los gastos, y que el poder de hash de GHASH.IO estaba siendo abusado/usado para verificar/confirmar solo apuestas ganadoras (ignorando las apuestas no ganadoras). Hubo un flujo lo suficientemente significativo de confirmaciones de solo ganancias como para sugerir que 'alguien' dentro del grupo de ghash.io estaba probablemente gastando el doble de bitcoins y luego usando el poder de hash de ghash.io para obtener confirmaciones ganadoras en la cadena de bloques antes de las transacciones no ganadoras. podría ser confirmado por el resto de la red.

CEX.IO obviamente niega su participación, pero plantea una pregunta más amplia sobre cómo debemos vigilar un fraude como este. Además de las personas afectadas, ¿alguien se molesta en auditar los resultados del bloque (¿válidos e inválidos por igual?)

La antigua respuesta de David Schwartz implica que nunca se ha visto un doble gasto exitoso, ni siquiera de una transacción NO CONFIRMADA. Eso necesita ser actualizado:

Ha habido al menos un gasto doble significativo: una transacción de 15 confirmaciones durante la bifurcación .7/.8.

Hay dobles gastos exitosos de transacciones no confirmadas todos los días. Consulte http://respends.thinlink.com