Repetición de transacciones en Bitcoin: un defecto interesante y de bajo riesgo
Resumen
Las transacciones de Bitcoin generalmente utilizan salidas no gastadas haciendo referencia al ID de la transacción anterior. Estas salidas solo se pueden usar una vez, de lo contrario, se producirá un problema de doble gasto. Sin embargo, en la historia de Bitcoin ha habido efectivamente dos conjuntos de transacciones completamente idénticas. Esta situación puede ocurrir porque las transacciones coinbase no tienen entradas, sino que generan nuevas monedas directamente. Por lo tanto, dos transacciones coinbase diferentes pueden enviar la misma cantidad a la misma dirección, construidas de la misma manera, generando así el mismo ID de transacción.
Estas dos series de transacciones duplicadas ocurrieron entre el 14 y el 15 de noviembre de 2010, con un intervalo de tiempo de aproximadamente 16 horas. La ID de la primera serie de transacciones duplicadas es d5d2....8599, a pesar de que su tiempo de aparición en la blockchain es posterior al de otra transacción duplicada e3bf....b468.
Detalles de transacciones repetidas
Estos dos conjuntos de transacciones duplicadas aparecen en cuatro bloques diferentes. Los exploradores de bloques tienen diferentes comportamientos predeterminados al mostrar estas transacciones; algunos mostrarán bloques más antiguos, mientras que otros mostrarán bloques más recientes.
En estos cuatro bloques relacionados, solo un bloque (, 812) contiene otras transacciones, combinando 1 Bitcoin y 19 Bitcoin en una salida de 20 Bitcoin.
¿Se pueden utilizar estas salidas?
El valor de cada transacción repetida es de 50 BTC, involucrando un total de 200 BTC( o 100 BTC, dependiendo de la forma en que se entienda). Hasta ahora, estos 200 BTC no han sido utilizados. Teóricamente, la persona que posee la clave privada relacionada puede usar estos Bitcoin, pero una vez utilizados, los 50 BTC repetidos no podrán ser utilizados nuevamente y se perderán, por lo que en realidad solo se pueden recuperar 100 BTC.
Problema de transacciones duplicadas
Las transacciones duplicadas pueden causar confusión en las billeteras y en los exploradores de bloques, así como también pueden llevar a que el origen del Bitcoin no sea claro. También puede ser utilizado para algunos ataques y explotaciones, como los depósitos engañosos en los intercambios.
Solución
Para resolver el problema de las transacciones duplicadas, en marzo de 2012 se implementó el soft fork BIP30, prohibiendo el uso de IDs de transacción duplicados, a menos que la transacción anterior ya hubiera sido utilizada. En septiembre de ese mismo año, esta regla fue modificada aún más, aplicándose a todos los bloques.
En marzo de 2013, la bifurcación suave BIP34 requería que las transacciones coinbase incluyeran la altura del bloque, lo que en realidad resolvía el problema de las transacciones duplicadas. Desde entonces, el software principal de Bitcoin detuvo la verificación BIP30, ya que ya no era necesaria.
Problemas potenciales futuros
A pesar de que BIP34 resolvió la mayoría de los problemas, en algunos bloques antes de la activación de BIP34, el primer byte del scriptSig de la transacción coinbase coincide exactamente con la futura altura de bloque válida. Esto significa que aún es posible que ocurran transacciones duplicadas en ciertas alturas de bloque específicas en el futuro.
El próximo bloque que podría tener transacciones duplicadas es 1,983,702, que se espera que se produzca alrededor de enero de 2046. Sin embargo, el costo de aprovechar esta vulnerabilidad es muy alto, ya que se requiere quemar una gran cantidad de Bitcoin, y casi no aporta beneficios reales al atacante.
Conclusión
Teniendo en cuenta la dificultad de copiar transacciones, el costo y la escasez de oportunidades para hacerlo, esta vulnerabilidad no constituye una amenaza principal para la seguridad de Bitcoin. Sin embargo, debido a su singularidad y la posibilidad de que persista a largo plazo, sigue siendo un problema técnico interesante. Los desarrolladores podrían buscar una solución completa a este problema antes de 2046, posiblemente a través de un soft fork. Una solución potencial es hacer cumplir el compromiso de SegWit.
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.
13 me gusta
Recompensa
13
2
Compartir
Comentar
0/400
SmartMoneyWallet
· hace16h
Los datos on-chain nunca mienten, el 97% del riesgo ha sido bloqueado por BIP34.
Ver originalesResponder0
AltcoinOracle
· hace16h
es fascinante cómo evoluciona el protocolo... mis métricas propietarias muestran un 0.0021% de probabilidad de explotación real, para ser honesto.
Vulnerabilidades de transacciones duplicadas en la historia de Bitcoin: causas, efectos y análisis de riesgos futuros
Repetición de transacciones en Bitcoin: un defecto interesante y de bajo riesgo
Resumen
Las transacciones de Bitcoin generalmente utilizan salidas no gastadas haciendo referencia al ID de la transacción anterior. Estas salidas solo se pueden usar una vez, de lo contrario, se producirá un problema de doble gasto. Sin embargo, en la historia de Bitcoin ha habido efectivamente dos conjuntos de transacciones completamente idénticas. Esta situación puede ocurrir porque las transacciones coinbase no tienen entradas, sino que generan nuevas monedas directamente. Por lo tanto, dos transacciones coinbase diferentes pueden enviar la misma cantidad a la misma dirección, construidas de la misma manera, generando así el mismo ID de transacción.
Estas dos series de transacciones duplicadas ocurrieron entre el 14 y el 15 de noviembre de 2010, con un intervalo de tiempo de aproximadamente 16 horas. La ID de la primera serie de transacciones duplicadas es d5d2....8599, a pesar de que su tiempo de aparición en la blockchain es posterior al de otra transacción duplicada e3bf....b468.
Detalles de transacciones repetidas
Estos dos conjuntos de transacciones duplicadas aparecen en cuatro bloques diferentes. Los exploradores de bloques tienen diferentes comportamientos predeterminados al mostrar estas transacciones; algunos mostrarán bloques más antiguos, mientras que otros mostrarán bloques más recientes.
En estos cuatro bloques relacionados, solo un bloque (, 812) contiene otras transacciones, combinando 1 Bitcoin y 19 Bitcoin en una salida de 20 Bitcoin.
¿Se pueden utilizar estas salidas?
El valor de cada transacción repetida es de 50 BTC, involucrando un total de 200 BTC( o 100 BTC, dependiendo de la forma en que se entienda). Hasta ahora, estos 200 BTC no han sido utilizados. Teóricamente, la persona que posee la clave privada relacionada puede usar estos Bitcoin, pero una vez utilizados, los 50 BTC repetidos no podrán ser utilizados nuevamente y se perderán, por lo que en realidad solo se pueden recuperar 100 BTC.
Problema de transacciones duplicadas
Las transacciones duplicadas pueden causar confusión en las billeteras y en los exploradores de bloques, así como también pueden llevar a que el origen del Bitcoin no sea claro. También puede ser utilizado para algunos ataques y explotaciones, como los depósitos engañosos en los intercambios.
Solución
Para resolver el problema de las transacciones duplicadas, en marzo de 2012 se implementó el soft fork BIP30, prohibiendo el uso de IDs de transacción duplicados, a menos que la transacción anterior ya hubiera sido utilizada. En septiembre de ese mismo año, esta regla fue modificada aún más, aplicándose a todos los bloques.
En marzo de 2013, la bifurcación suave BIP34 requería que las transacciones coinbase incluyeran la altura del bloque, lo que en realidad resolvía el problema de las transacciones duplicadas. Desde entonces, el software principal de Bitcoin detuvo la verificación BIP30, ya que ya no era necesaria.
Problemas potenciales futuros
A pesar de que BIP34 resolvió la mayoría de los problemas, en algunos bloques antes de la activación de BIP34, el primer byte del scriptSig de la transacción coinbase coincide exactamente con la futura altura de bloque válida. Esto significa que aún es posible que ocurran transacciones duplicadas en ciertas alturas de bloque específicas en el futuro.
El próximo bloque que podría tener transacciones duplicadas es 1,983,702, que se espera que se produzca alrededor de enero de 2046. Sin embargo, el costo de aprovechar esta vulnerabilidad es muy alto, ya que se requiere quemar una gran cantidad de Bitcoin, y casi no aporta beneficios reales al atacante.
Conclusión
Teniendo en cuenta la dificultad de copiar transacciones, el costo y la escasez de oportunidades para hacerlo, esta vulnerabilidad no constituye una amenaza principal para la seguridad de Bitcoin. Sin embargo, debido a su singularidad y la posibilidad de que persista a largo plazo, sigue siendo un problema técnico interesante. Los desarrolladores podrían buscar una solución completa a este problema antes de 2046, posiblemente a través de un soft fork. Una solución potencial es hacer cumplir el compromiso de SegWit.