Bitcoin transacciones duplicadas: un agujero interesante pero de muy bajo riesgo
Las transacciones de Bitcoin generalmente utilizan salidas no gastadas al referirse a la ID de la transacción anterior. Estas salidas solo pueden ser utilizadas una vez, de lo contrario, se generará un doble gasto, lo que hará que Bitcoin pierda valor. Sin embargo, en la historia de Bitcoin, ha habido dos conjuntos de transacciones completamente idénticas. Esta situación puede ocurrir porque las transacciones de coinbase no tienen entradas de transacción, sino que generan nuevas monedas. Por lo tanto, dos transacciones de coinbase diferentes pueden enviar la misma cantidad de monedas a la misma dirección, de manera completamente idéntica, generando así la misma 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 aproximadamente 16 horas. La primera serie de transacciones duplicadas se encuentra entre la segunda serie. Clasificamos las transacciones con ID que comienzan con d5d2 como la primera transacción duplicada, aunque apareció por primera vez en la cadena de bloques después de otra transacción duplicada.
La aparición de transacciones duplicadas ha causado confusión tanto en las billeteras como en los exploradores de bloques, dificultando la determinación del origen del Bitcoin. También puede acarrear riesgos de ataques y vulnerabilidades. Por ejemplo, se pueden realizar dos transacciones duplicadas para pagar a alguien dos veces, pero en realidad solo se puede usar la mitad de los fondos.
Para resolver este problema, en marzo de 2012 se implementó la bifurcación suave BIP30, que prohíbe el uso de ID de transacción duplicados, a menos que el anterior haya sido gastado. En septiembre del mismo año, esta regla fue modificada para aplicarse a todos los bloques, con la excepción de los dos conjuntos iniciales de transacciones duplicadas. En marzo de 2013, la bifurcación suave BIP34 exigió que las transacciones de coinbase incluyeran la altura del bloque, lo que parece haber solucionado por completo el problema de las transacciones duplicadas.
Sin embargo, en algunos bloques anteriores a la activación de BIP34, el primer byte del scriptSig de la transacción coinbase coincide exactamente con la altura del bloque que será válido en el futuro. Esto significa que en algunos casos muy raros, aún es posible que ocurran transacciones duplicadas. El siguiente bloque en el que podría aparecer una transacción duplicada es el 1,983,702, que se espera que se produzca alrededor de enero de 2046. Pero aprovechar esta vulnerabilidad tiene un alto costo, ya que se requiere quemar una gran cantidad de Bitcoin, lo que resulta casi inútil para el atacante.
Teniendo en cuenta la dificultad y el costo de copiar transacciones, así como la extrema rareza de aprovechar oportunidades, esta vulnerabilidad no constituye una amenaza principal para la seguridad del Bitcoin. Sin embargo, a largo plazo, los desarrolladores podrían buscar una solución completa a este problema antes de 2046, lo que podría requerir la implementación de un hard fork. Una posible solución sería 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.
20 me gusta
Recompensa
20
5
Republicar
Compartir
Comentar
0/400
MercilessHalal
· 08-03 13:23
Esta vulnerabilidad es muy nueva.
Ver originalesResponder0
RektButAlive
· 08-01 06:06
Ha llegado el momento de ser testigo de la historia.
Ver originalesResponder0
RunWhenCut
· 08-01 06:06
El riesgo no se puede ignorar.
Ver originalesResponder0
LiquidityWizard
· 08-01 05:47
Ya había notado esta vulnerabilidad.
Ver originalesResponder0
ImpermanentLossFan
· 08-01 05:45
Los errores tempranos eran realmente muy divertidos.
Vulnerabilidad de transacciones duplicadas de Bitcoin: casos raros en la historia y riesgos potenciales futuros
Bitcoin transacciones duplicadas: un agujero interesante pero de muy bajo riesgo
Las transacciones de Bitcoin generalmente utilizan salidas no gastadas al referirse a la ID de la transacción anterior. Estas salidas solo pueden ser utilizadas una vez, de lo contrario, se generará un doble gasto, lo que hará que Bitcoin pierda valor. Sin embargo, en la historia de Bitcoin, ha habido dos conjuntos de transacciones completamente idénticas. Esta situación puede ocurrir porque las transacciones de coinbase no tienen entradas de transacción, sino que generan nuevas monedas. Por lo tanto, dos transacciones de coinbase diferentes pueden enviar la misma cantidad de monedas a la misma dirección, de manera completamente idéntica, generando así la misma 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 aproximadamente 16 horas. La primera serie de transacciones duplicadas se encuentra entre la segunda serie. Clasificamos las transacciones con ID que comienzan con d5d2 como la primera transacción duplicada, aunque apareció por primera vez en la cadena de bloques después de otra transacción duplicada.
La aparición de transacciones duplicadas ha causado confusión tanto en las billeteras como en los exploradores de bloques, dificultando la determinación del origen del Bitcoin. También puede acarrear riesgos de ataques y vulnerabilidades. Por ejemplo, se pueden realizar dos transacciones duplicadas para pagar a alguien dos veces, pero en realidad solo se puede usar la mitad de los fondos.
Para resolver este problema, en marzo de 2012 se implementó la bifurcación suave BIP30, que prohíbe el uso de ID de transacción duplicados, a menos que el anterior haya sido gastado. En septiembre del mismo año, esta regla fue modificada para aplicarse a todos los bloques, con la excepción de los dos conjuntos iniciales de transacciones duplicadas. En marzo de 2013, la bifurcación suave BIP34 exigió que las transacciones de coinbase incluyeran la altura del bloque, lo que parece haber solucionado por completo el problema de las transacciones duplicadas.
Sin embargo, en algunos bloques anteriores a la activación de BIP34, el primer byte del scriptSig de la transacción coinbase coincide exactamente con la altura del bloque que será válido en el futuro. Esto significa que en algunos casos muy raros, aún es posible que ocurran transacciones duplicadas. El siguiente bloque en el que podría aparecer una transacción duplicada es el 1,983,702, que se espera que se produzca alrededor de enero de 2046. Pero aprovechar esta vulnerabilidad tiene un alto costo, ya que se requiere quemar una gran cantidad de Bitcoin, lo que resulta casi inútil para el atacante.
Teniendo en cuenta la dificultad y el costo de copiar transacciones, así como la extrema rareza de aprovechar oportunidades, esta vulnerabilidad no constituye una amenaza principal para la seguridad del Bitcoin. Sin embargo, a largo plazo, los desarrolladores podrían buscar una solución completa a este problema antes de 2046, lo que podría requerir la implementación de un hard fork. Una posible solución sería hacer cumplir el compromiso de SegWit.