Anexo:Ataques a bitcoin cash del 15 de mayo de 2019

De Wikipedia, la enciclopedia libre

Poco después de la quinta actualización de Bitcoin Cash, ejecutada el 15 de mayo de 2019, la red fue objetivo de dos ataques simultáneos, uno que explotaba de un bug de Bitcoin ABC no relacionado con los cambios de las reglas de consenso mediante el envío de una «transacción envenenada» (se especula que el atacante espero ese momento para atacar con el fin de desacreditar la moneda), y el segundo, mediante el intento de robo de fondos atrapados en direcciones SegWit.

Primer ataque[editar]

Transacción "envenenada"[editar]

La primera estocada, según declaraciones de desarrolladores como FerriestaPatronum, Mark Lundeberg y Amaury Séchet, se relacionaba a una falla en la verificación de los SigOps de transacciones con OP_CHECKDATASIG que permitió que una transacción veneno pasara los filtros del mempool sin ser detectada y saboteara el proceso de revalidación de los bloques construidos. Si bien durante este ataque los fondos de los usuarios no corrieron peligro, un número considerable de transacciones se acumularon en el mempool y los mineros se vieron forzados a minar bloques vacíos hasta la liberación de un parche que corrigió el error.[1][2][3]

Más tarde se supo que el desarrollador Calin Culianu, relacionado con la cartera ligera Electron Cash y también conocido como NilacTheGrim, detectó que las transacciones maliciosas usadas durante el primer ataque eran de tipo "anyone-can-spend" (cualquiera puede gastar), lo que le permitió reclamar para sí 500 dólares americanos usados por los atacantes.[4]

Segunda ataque[editar]

Intento masivo de robo de fondos SegWit[editar]

Luego de implementada la corrección del error explotado durante el primer ataque fue ejecutado uno posterior. 2 bloques fueron minados, el primero, con hash 0000000000000000013821c4378e842401ac54371a8afa81777327266bf418af por un minero identificado como "Desconocido", y el segundo, con hash 000000000000000000944485965a7172b18962c953da005afd648fe2f6abe650 por uno identificado como "Prohashing". El primero de esos bloques incluía transacciones que gastaban maliciosamente fondos atrapados en más de 1000 direcciones SegWit (enviados allí por error humano) mientras que el segundo estaba construido sobre él.[5]

Estos bloques fueron orfanados en favor de una cadena más larga que contenía dos bloques minados por BTC.TOP y BTC.com respectivamente, lo cual supuso una reorganización de la cadena con una profundidad de 2 bloques que excluía las transacciones maliciosas. Poco después fue minado un bloque que bajo el número 582705 (hash 000000000000000000462698fedbf407a149b8fe0bfa6bb33b11310654ff7765) que incluiría 1278 transacciones que enviaban la mayoría de los fondos al equivalente válido en Bitcoin Cash de dichas direcciones SegWit. Este bloque no incluía 56 de las entradas que el atacante intentó explotar e incluía 120 del mismo tipo que el atacante no había incluido.[5]

En un análisis publicado por la empresa Coinbase, esta concluyó que "las entradas SegWit del bloque 582705 fueron enviadas a sus destinatarios originales" debido a que el minero "pudo derivar el equivalente válido de las direcciones de SegWit no válidas".[5]

La primera estocada, según declaraciones de desarrolladores como FerriestaPatronum, Mark Lundeberg y Amaury Séchet, se relacionaba a una falla en la verificación de los SigOps de transacciones con OP_CHECKDATASIG que permitió que una transacción veneno pasara los filtros del mempool sin ser detectada y saboteara el proceso de revalidación de los bloques construidos. Si bien durante este ataque los fondos de los usuarios no corrieron peligro, un número considerable de transacciones se acumularon en el mempool y los mineros se vieron forzados a minar bloques vacíos hasta la liberación de un parche que corrigió el error.[6][7][8]

Más tarde se supo que el desarrollador Calin Culianu, relacionado con la cartera ligera Electron Cash y también conocido como NilacTheGrim, detectó que las transacciones maliciosas usadas durante el primer ataque eran de tipo "anyone-can-spend" (cualquiera puede gastar), lo que le permitió reclamar para sí 500 dólares americanos usados por los atacantes.[9]

Luego de implementada la corrección del error explotado durante el primer ataque fue ejecutado uno posterior. 2 bloques fueron minados, el primero, con hash 0000000000000000013821c4378e842401ac54371a8afa81777327266bf418af por un minero identificado como "Desconocido", y el segundo, con hash 000000000000000000944485965a7172b18962c953da005afd648fe2f6abe650 por uno identificado como "Prohashing". El primero de esos bloques incluía transacciones que gastaban maliciosamente fondos atrapados en más de 1000 direcciones SegWit (enviados allí por error humano) mientras que el segundo estaba construido sobre él.[10]

Estos bloques fueron orfanados en favor de una cadena más larga que contenía dos bloques minados por BTC.TOP y BTC.com respectivamente, lo cual supuso una reorganización de la cadena con una profundidad de 2 bloques que excluía las transacciones maliciosas. Poco después fue minado un bloque que bajo el número 582705 (hash 000000000000000000462698fedbf407a149b8fe0bfa6bb33b11310654ff7765) que incluiría 1278 transacciones que enviaban la mayoría de los fondos al equivalente válido en Bitcoin Cash de dichas direcciones SegWit. Este bloque no incluía 56 de las entradas que el atacante intentó explotar e incluía 120 del mismo tipo que el atacante no había incluido.[10]

En un análisis publicado por la empresa Coinbase, esta concluyó que "las entradas SegWit del bloque 582705 fueron enviadas a sus destinatarios originales" debido a que el minero "pudo derivar el equivalente válido de las direcciones de SegWit no válidas".[10]

Véase también[editar]

Referencias[editar]

  1. «La cadena de Bitcoin Cash sufrió un intento de ataque durante la bifurcación de las firmas Schnorr». Cypherbits. 16 de mayo de 2019. Consultado el 16 de mayo de 2019. 
  2. «r/btc - ABC Bug Explained». reddit (en inglés). Consultado el 16 de mayo de 2019. 
  3. Kelso, C. Edward (15 de mayo de 2019). «Unknown Attacker Fails to Disrupt BCH Upgrade». CoinSpice (en inglés estadounidense). Consultado el 16 de mayo de 2019. 
  4. Kelso, C. Edward (15 de mayo de 2019). «Counterpunch: Developer Swipes BCH Attackers' Funds Right Under Their Noses». CoinSpice (en inglés estadounidense). Consultado el 16 de mayo de 2019. 
  5. a b c Coinbase (30 de mayo de 2019). «A deep dive into the recent BCH hard fork incident». The Coinbase Blog. Consultado el 31 de mayo de 2019. 
  6. «La cadena de Bitcoin Cash sufrió un intento de ataque durante la bifurcación de las firmas Schnorr». Cypherbits. 16 de mayo de 2019. Consultado el 16 de mayo de 2019. 
  7. «r/btc - ABC Bug Explained». reddit (en inglés). Consultado el 16 de mayo de 2019. 
  8. Kelso, C. Edward (15 de mayo de 2019). «Unknown Attacker Fails to Disrupt BCH Upgrade». CoinSpice (en inglés estadounidense). Consultado el 16 de mayo de 2019. 
  9. Kelso, C. Edward (15 de mayo de 2019). «Counterpunch: Developer Swipes BCH Attackers' Funds Right Under Their Noses». CoinSpice (en inglés estadounidense). Consultado el 16 de mayo de 2019. 
  10. a b c Coinbase (30 de mayo de 2019). «A deep dive into the recent BCH hard fork incident». The Coinbase Blog. Consultado el 31 de mayo de 2019.