Bitcoin transacciones duplicadas: una vulnerabilidad interesante pero de muy bajo riesgo
Las transacciones de Bitcoin suelen utilizar salidas no gastadas haciendo referencia al ID de la transacción anterior. Estas salidas solo pueden gastarse una vez, de lo contrario, se producirá un problema de doble gasto. Sin embargo, en la historia de Bitcoin ha habido dos grupos de transacciones idénticas. Esta situación puede ocurrir porque las transacciones coinbase no tienen entradas, sino que generan monedas nuevas directamente. Por lo tanto, dos transacciones coinbase diferentes pueden enviar la misma cantidad de moneda a la misma dirección y construirse de la misma manera, haciéndolas completamente idénticas. Debido a que el contenido de las transacciones es el mismo, sus IDs de transacción también son iguales.
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 d5d2....8599, aunque se convirtió en un duplicado primero, en realidad apareció más tarde en la cadena de bloques que otra transacción duplicada e3bf....b468.
Es interesante que diferentes exploradores de bloques tienen un comportamiento diferente al mostrar estas transacciones duplicadas. Algunos muestran por defecto los bloques más antiguos, mientras que otros muestran los bloques más recientes.
En los cuatro bloques involucrados, solo un bloque contiene otras transacciones, combinando una salida de 1 BTC y una salida de 19 BTC en una salida de 20 BTC.
Estas transacciones repetidas involucran 200 BTC que aún no han sido gastados. Teóricamente, la persona que posee la clave privada correspondiente puede gastar estos Bitcoin, pero una vez que se gaste, los 50 BTC duplicados se perderán, por lo que en realidad solo hay 100 BTC disponibles. En cuanto a qué bloque provendrán estos monedas una vez que se gasten, aún no se puede determinar.
Las transacciones duplicadas claramente traerán muchos problemas. Generarán confusión en las billeteras y en los exploradores de bloques, y también dificultarán la claridad sobre el origen de Bitcoin. Más grave aún, también podrían ser utilizadas para atacar instituciones como los exchanges.
Para resolver este problema, en marzo de 2012 se implementó el soft fork BIP30, que prohíbe el uso de IDs de transacción duplicados para transacciones. En septiembre de 2012, esta regla se amplió para aplicarse a todos los bloques.
La bifurcación suave BIP34 activada en marzo de 2013 requiere que las transacciones de coinbase incluyan la altura del bloque, lo que resuelve aún más el problema de las transacciones duplicadas. Por lo tanto, en noviembre de 2015, el software central de Bitcoin dejó de verificar BIP30.
Sin embargo, BIP34 no es una solución perfecta. En algunos bloques anteriores a la activación de BIP34, el primer byte del scriptSig de la transacción coinbase coincidía exactamente con la futura altura de bloque válida. Esto significa que aún es posible que ocurran transacciones duplicadas, siendo el siguiente bloque posible el 1,983,702, que se espera que se genere alrededor de enero de 2046.
Sin embargo, el costo de aprovechar esta vulnerabilidad es muy alto. Tomando como ejemplo el bloque 1,983,702, los mineros necesitarían quemar aproximadamente 170 BTC en tarifas, lo que equivale a unos 15 millones de dólares al precio actual. Y es muy probable que estos fondos no puedan recuperarse.
Teniendo en cuenta la dificultad y el costo de copiar transacciones, así como la escasez de oportunidades para hacerlo, esta vulnerabilidad no representa una amenaza principal para la seguridad de Bitcoin. A pesar de esto, los desarrolladores continúan buscando maneras de solucionar este problema de manera definitiva, posiblemente a través de un soft fork.
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.
16 me gusta
Recompensa
16
7
Compartir
Comentar
0/400
GateUser-44a00d6c
· 07-19 12:39
¿Ah, esto? ¿La minería puede hacer transacciones repetidas?
Ver originalesResponder0
CafeMinor
· 07-18 22:40
Tener más protocolos no significa que sea más seguro~
Ver originalesResponder0
MEVHunterBearish
· 07-18 00:45
Este error es realmente aburrido de arreglar...
Ver originalesResponder0
CompoundPersonality
· 07-18 00:42
En los primeros años, había una vulnerabilidad que realmente asustaba a la gente.
Vulnerabilidad de transacciones duplicadas de Bitcoin: análisis de casos históricos y riesgos futuros
Bitcoin transacciones duplicadas: una vulnerabilidad interesante pero de muy bajo riesgo
Las transacciones de Bitcoin suelen utilizar salidas no gastadas haciendo referencia al ID de la transacción anterior. Estas salidas solo pueden gastarse una vez, de lo contrario, se producirá un problema de doble gasto. Sin embargo, en la historia de Bitcoin ha habido dos grupos de transacciones idénticas. Esta situación puede ocurrir porque las transacciones coinbase no tienen entradas, sino que generan monedas nuevas directamente. Por lo tanto, dos transacciones coinbase diferentes pueden enviar la misma cantidad de moneda a la misma dirección y construirse de la misma manera, haciéndolas completamente idénticas. Debido a que el contenido de las transacciones es el mismo, sus IDs de transacción también son iguales.
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 d5d2....8599, aunque se convirtió en un duplicado primero, en realidad apareció más tarde en la cadena de bloques que otra transacción duplicada e3bf....b468.
Es interesante que diferentes exploradores de bloques tienen un comportamiento diferente al mostrar estas transacciones duplicadas. Algunos muestran por defecto los bloques más antiguos, mientras que otros muestran los bloques más recientes.
En los cuatro bloques involucrados, solo un bloque contiene otras transacciones, combinando una salida de 1 BTC y una salida de 19 BTC en una salida de 20 BTC.
Estas transacciones repetidas involucran 200 BTC que aún no han sido gastados. Teóricamente, la persona que posee la clave privada correspondiente puede gastar estos Bitcoin, pero una vez que se gaste, los 50 BTC duplicados se perderán, por lo que en realidad solo hay 100 BTC disponibles. En cuanto a qué bloque provendrán estos monedas una vez que se gasten, aún no se puede determinar.
Las transacciones duplicadas claramente traerán muchos problemas. Generarán confusión en las billeteras y en los exploradores de bloques, y también dificultarán la claridad sobre el origen de Bitcoin. Más grave aún, también podrían ser utilizadas para atacar instituciones como los exchanges.
Para resolver este problema, en marzo de 2012 se implementó el soft fork BIP30, que prohíbe el uso de IDs de transacción duplicados para transacciones. En septiembre de 2012, esta regla se amplió para aplicarse a todos los bloques.
La bifurcación suave BIP34 activada en marzo de 2013 requiere que las transacciones de coinbase incluyan la altura del bloque, lo que resuelve aún más el problema de las transacciones duplicadas. Por lo tanto, en noviembre de 2015, el software central de Bitcoin dejó de verificar BIP30.
Sin embargo, BIP34 no es una solución perfecta. En algunos bloques anteriores a la activación de BIP34, el primer byte del scriptSig de la transacción coinbase coincidía exactamente con la futura altura de bloque válida. Esto significa que aún es posible que ocurran transacciones duplicadas, siendo el siguiente bloque posible el 1,983,702, que se espera que se genere alrededor de enero de 2046.
Sin embargo, el costo de aprovechar esta vulnerabilidad es muy alto. Tomando como ejemplo el bloque 1,983,702, los mineros necesitarían quemar aproximadamente 170 BTC en tarifas, lo que equivale a unos 15 millones de dólares al precio actual. Y es muy probable que estos fondos no puedan recuperarse.
Teniendo en cuenta la dificultad y el costo de copiar transacciones, así como la escasez de oportunidades para hacerlo, esta vulnerabilidad no representa una amenaza principal para la seguridad de Bitcoin. A pesar de esto, los desarrolladores continúan buscando maneras de solucionar este problema de manera definitiva, posiblemente a través de un soft fork.