Repetición de transacciones en Bitcoin: un problema interesante y 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 usarse una vez, de lo contrario, se producirá un doble gasto. Sin embargo, en la historia de Bitcoin, ha habido dos grupos de transacciones completamente idénticas. Esta situación es posible 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 Bitcoin a la misma dirección y construirse de la misma manera, lo que resulta en que sean completamente idénticas. Dado que estas transacciones son iguales, sus IDs de transacción también coinciden, ya que el ID de la transacción es el valor hash de los datos de la transacción.
Estas dos series de transacciones duplicadas ocurrieron entre el 14 y el 15 de noviembre de 2010, con una duración de aproximadamente 16 horas. La primera serie de transacciones duplicadas está entre la segunda serie. Clasificamos las transacciones cuyo ID comienza 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.
Estas transacciones duplicadas tienen un valor de 50 BTC cada una. En total, se involucran 200 BTC, o según diferentes interpretaciones, podría ser 100 BTC. En cierta medida, hay 100 BTC que en realidad no existen. Hasta ahora, los 200 BTC no han sido utilizados. Si alguien posee la clave privada relacionada con estas salidas, podría utilizar estos Bitcoins. Pero una vez que se utilicen, los 50 BTC duplicados no se podrán usar nuevamente y se perderán, por lo que solo se podrían recuperar 100 BTC.
Las transacciones duplicadas claramente tienen problemas. Pueden causar confusión en las billeteras y en los exploradores de bloques, y también pueden generar incertidumbre sobre el origen del Bitcoin. Además, pueden dar lugar a ciertos ataques y vulnerabilidades. Por ejemplo, alguien podría pagar a otra persona dos veces con dos transacciones duplicadas. Cuando el receptor intenta utilizar esos fondos, puede descubrir que solo puede recuperar la mitad de los fondos.
Para resolver el problema de las transacciones duplicadas, se implementó un soft fork en marzo de 2012 que prohibía el uso de ID de transacción duplicados, a menos que el ID de transacción anterior ya hubiera sido utilizado. En septiembre de 2012, esta regla se modificó para aplicarse a todos los bloques, excepto a las dos transacciones duplicadas mencionadas anteriormente.
En marzo de 2013, se implementó un soft fork que requería que las transacciones de coinbase incluyeran la altura del bloque. Esto parece haber resuelto por completo el problema de las transacciones duplicadas, ahora todas las transacciones deberían ser únicas.
Sin embargo, en algunos bloques antes de la activación de BIP34, el primer byte del scriptSig de algunas transacciones coinbase coincidía exactamente con la altura del bloque que sería válida en el futuro. Por lo tanto, aunque BIP34 solucionó este problema en la gran mayoría de los casos, no es 100% perfecto.
El próximo bloque que podría generar transacciones duplicadas es 1,983,702, que se espera que se produzca alrededor de enero de 2046. Si los mineros quieren llevar a cabo este ataque, no solo necesitan tener suficiente suerte para encontrar este bloque, sino que también deben incurrir en un costo enorme, que según el precio actual de Bitcoin podría superar los 15 millones de dólares. Teniendo en cuenta la dificultad y el costo de duplicar transacciones, así como lo raras que son las oportunidades de aprovecharlo, esta vulnerabilidad no parece ser un problema de seguridad importante para Bitcoin.
A pesar de esto, los desarrolladores han pasado mucho tiempo en este problema a lo largo de los años. La fecha de 2046 puede ser el plazo final en la mente de algunos desarrolladores para solucionar este problema. Hay muchas formas de corregir este error, y podría requerir un hard fork. Una posible solución 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
7
Compartir
Comentar
0/400
LiquidityHunter
· 07-25 04:03
En medio de la noche, se descubrieron datos de transacciones anómalos... puntos de riesgo que suben exponencialmente
Ver originalesResponder0
digital_archaeologist
· 07-23 20:32
En resumen, es un asunto nuestro para el año 2046.
Ver originalesResponder0
PanicSeller69
· 07-22 22:15
Esto también es demasiado absurdo en 2046.
Ver originalesResponder0
SelfCustodyIssues
· 07-22 22:07
2046 está un poco lejos, ¿quién lo recuerda?
Ver originalesResponder0
PerpetualLonger
· 07-22 21:56
Posición completa comprar la caída Todo lo alcista es una guía del cielo
Ver originalesResponder0
MEV_Whisperer
· 07-22 21:49
Las transacciones duplicadas ya son cosa del pasado.
Repetición de transacciones en la historia de Bitcoin: causas, impactos y desafíos futuros
Repetición de transacciones en Bitcoin: un problema interesante y 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 usarse una vez, de lo contrario, se producirá un doble gasto. Sin embargo, en la historia de Bitcoin, ha habido dos grupos de transacciones completamente idénticas. Esta situación es posible 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 Bitcoin a la misma dirección y construirse de la misma manera, lo que resulta en que sean completamente idénticas. Dado que estas transacciones son iguales, sus IDs de transacción también coinciden, ya que el ID de la transacción es el valor hash de los datos de la transacción.
Estas dos series de transacciones duplicadas ocurrieron entre el 14 y el 15 de noviembre de 2010, con una duración de aproximadamente 16 horas. La primera serie de transacciones duplicadas está entre la segunda serie. Clasificamos las transacciones cuyo ID comienza 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.
Estas transacciones duplicadas tienen un valor de 50 BTC cada una. En total, se involucran 200 BTC, o según diferentes interpretaciones, podría ser 100 BTC. En cierta medida, hay 100 BTC que en realidad no existen. Hasta ahora, los 200 BTC no han sido utilizados. Si alguien posee la clave privada relacionada con estas salidas, podría utilizar estos Bitcoins. Pero una vez que se utilicen, los 50 BTC duplicados no se podrán usar nuevamente y se perderán, por lo que solo se podrían recuperar 100 BTC.
Las transacciones duplicadas claramente tienen problemas. Pueden causar confusión en las billeteras y en los exploradores de bloques, y también pueden generar incertidumbre sobre el origen del Bitcoin. Además, pueden dar lugar a ciertos ataques y vulnerabilidades. Por ejemplo, alguien podría pagar a otra persona dos veces con dos transacciones duplicadas. Cuando el receptor intenta utilizar esos fondos, puede descubrir que solo puede recuperar la mitad de los fondos.
Para resolver el problema de las transacciones duplicadas, se implementó un soft fork en marzo de 2012 que prohibía el uso de ID de transacción duplicados, a menos que el ID de transacción anterior ya hubiera sido utilizado. En septiembre de 2012, esta regla se modificó para aplicarse a todos los bloques, excepto a las dos transacciones duplicadas mencionadas anteriormente.
En marzo de 2013, se implementó un soft fork que requería que las transacciones de coinbase incluyeran la altura del bloque. Esto parece haber resuelto por completo el problema de las transacciones duplicadas, ahora todas las transacciones deberían ser únicas.
Sin embargo, en algunos bloques antes de la activación de BIP34, el primer byte del scriptSig de algunas transacciones coinbase coincidía exactamente con la altura del bloque que sería válida en el futuro. Por lo tanto, aunque BIP34 solucionó este problema en la gran mayoría de los casos, no es 100% perfecto.
El próximo bloque que podría generar transacciones duplicadas es 1,983,702, que se espera que se produzca alrededor de enero de 2046. Si los mineros quieren llevar a cabo este ataque, no solo necesitan tener suficiente suerte para encontrar este bloque, sino que también deben incurrir en un costo enorme, que según el precio actual de Bitcoin podría superar los 15 millones de dólares. Teniendo en cuenta la dificultad y el costo de duplicar transacciones, así como lo raras que son las oportunidades de aprovecharlo, esta vulnerabilidad no parece ser un problema de seguridad importante para Bitcoin.
A pesar de esto, los desarrolladores han pasado mucho tiempo en este problema a lo largo de los años. La fecha de 2046 puede ser el plazo final en la mente de algunos desarrolladores para solucionar este problema. Hay muchas formas de corregir este error, y podría requerir un hard fork. Una posible solución es hacer cumplir el compromiso de SegWit.