Bitcoin vulnerabilidad de transacciones duplicadas: anécdotas históricas y desafíos futuros

robot
Generación de resúmenes en curso

Bitcoin transacciones duplicadas: una vulnerabilidad interesante pero de impacto limitado

Hay un interesante defecto en la red de Bitcoin: las transacciones duplicadas. Normalmente, las transacciones de Bitcoin utilizan salidas no gastadas al referirse al ID de una transacción anterior. Estas salidas solo pueden ser gastadas una vez, de lo contrario, causarán un problema de doble gasto. Sin embargo, en la historia de Bitcoin, ha habido efectivamente dos conjuntos de transacciones completamente idénticas.

Bitcoin de transacciones duplicadas: un Bug interesante de riesgo extremadamente bajo

Esta situación puede ocurrir porque las transacciones de coinbase no tienen entradas, sino que generan monedas nuevas directamente. Por lo tanto, es posible que dos transacciones de coinbase diferentes envíen la misma cantidad de Bitcoin a la misma dirección, construyendo así transacciones idénticas. Dado que el contenido de las transacciones es el mismo, su ID de transacción (TXID) también es el mismo.

Estas dos series de transacciones duplicadas ocurrieron entre el 14 y el 15 de noviembre de 2010, con un intervalo de aproximadamente 16 horas. La primera serie de transacciones duplicadas tiene el ID d5d2....8599, y la segunda serie es e3bf....b468. Curiosamente, aunque d5d2....8599 se convirtió en un duplicado primero, apareció en la blockchain más tarde que e3bf....b468.

Bitcoin de transacciones duplicadas: un Bug interesante de riesgo muy bajo

Estas transacciones duplicadas tienen un valor de 50 BTC cada una, involucrando un total de 200 BTC. Desde cierto punto de vista, en realidad 100 BTC no existen. Hasta ahora, estos 200 BTC no han sido gastados. Teóricamente, la persona que posee la clave privada correspondiente puede gastar estos Bitcoins, pero una vez que se gasten, los 50 BTC duplicados se perderán, por lo que en realidad solo 100 BTC pueden ser recuperados.

Las transacciones duplicadas claramente causan confusión en las billeteras y en los exploradores de bloques, y pueden ser utilizadas para llevar a cabo ataques. Por ejemplo, un atacante podría realizar dos transacciones duplicadas para depositar fondos en un intercambio y luego retirarlos de inmediato, intentando llevar al intercambio a la quiebra.

Para abordar este problema, la comunidad de Bitcoin ha tomado varias medidas:

  1. En marzo de 2012, el fork suave BIP30 prohibió el uso de TXID duplicados para transacciones, a menos que el TXID anterior ya haya sido gastado.

  2. En septiembre de 2012, Greg Maxwell modificó las reglas para que la verificación BIP30 se aplicara a todos los bloques, pero mantuvo las dos transacciones duplicadas mencionadas anteriormente.

  3. En marzo de 2013, la bifurcación suave BIP34 requería que las transacciones de coinbase incluyeran la altura del bloque, lo que resolvía básicamente el problema de las transacciones duplicadas.

  4. En noviembre de 2015, el núcleo de Bitcoin dejó de realizar la verificación BIP30, ya que el BIP34 había resuelto este problema.

Bitcoin de transacciones duplicadas: un bug interesante con un riesgo muy bajo

Sin embargo, en algunos bloques anteriores a la activación de BIP34, el primer byte de los scriptSigs de la transacción coinbase coincide exactamente con la altura de bloque que será válida en el futuro. Esto significa que el problema de las transacciones duplicadas no se ha resuelto al 100%. El próximo bloque en el que podría aparecer una transacción duplicada es el 1,983,702, que se espera que se genere alrededor de enero de 2046.

Repetición de transacciones de Bitcoin: un bug interesante con riesgo mínimo

Sin embargo, el costo de aprovechar esta vulnerabilidad es muy alto. Tomando como ejemplo el bloque 1,983,702, el atacante necesitaría quemar aproximadamente 170 BTC en tarifas, lo que equivale a unos 15 millones de dólares al precio actual. Además, es muy probable que estos fondos no se puedan recuperar. Además, desde la actualización de SegWit en 2017, las transacciones de coinbase también incluyen un compromiso con todas las transacciones en el bloque, lo que aumenta aún más la dificultad del ataque.

Bitcoin de transacciones repetidas: un Bug interesante con un riesgo muy bajo

Considerando la dificultad y el costo de copiar transacciones, así como la escasez de oportunidades para hacerlo, esta vulnerabilidad no constituye una amenaza principal a la seguridad de Bitcoin. Sin embargo, los desarrolladores todavía están trabajando en soluciones, lo que podría requerir la implementación de un soft fork. Un enfoque posible es hacer cumplir el compromiso de SegWit.

En general, aunque la vulnerabilidad de las transacciones repetidas es interesante, su impacto real es muy limitado. Refleja más bien la complejidad de la red Bitcoin y los esfuerzos de los desarrolladores por mejorar el sistema.

Bitcoin de transacciones duplicadas: un bug interesante con un riesgo muy bajo

Ver originales
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
  • Recompensa
  • 6
  • Compartir
Comentar
0/400
ArbitrageBotvip
· hace11h
Tener errores significa ganar dinero.
Ver originalesResponder0
LiquidationSurvivorvip
· hace11h
Tú arreglas el bug, yo aumento la posición~
Ver originalesResponder0
PebbleHandervip
· hace11h
¿Todavía no has terminado de arreglarlo?
Ver originalesResponder0
ShibaMillionairen'tvip
· hace11h
Chang'an no es gran cosa, sigue siendo un problema.
Ver originalesResponder0
ImpermanentTherapistvip
· hace11h
El nodo tiene problemas, ya lo habían previsto.
Ver originalesResponder0
BakedCatFanboyvip
· hace11h
Ay, este bug se ve un poco familiar...
Ver originalesResponder0
  • Anclado
Opere con criptomonedas en cualquier momento y lugar
qrCode
Escanee para descargar la aplicación Gate
Comunidad
Español
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)