Bitcoin transacciones duplicadas: un caso raro pero interesante
Las transacciones de Bitcoin suelen utilizar salidas no gastadas al referirse al ID de la transacción anterior. Estas salidas solo pueden ser gastadas una vez, de lo contrario, se producirá un problema de doble gasto. Sin embargo, en la historia de Bitcoin han ocurrido, de hecho, dos conjuntos de transacciones exactamente iguales. 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 moneda a la misma dirección, construyendo así transacciones completamente idénticas. Dado que estas transacciones tienen el mismo contenido, su ID de transacción también es el mismo.
Estos dos grupos de transacciones duplicadas ocurrieron entre el 14 y el 15 de noviembre de 2010, con un lapso de aproximadamente 16 horas. El primer grupo de transacciones duplicadas se encuentra entre el segundo grupo. Clasificamos las transacciones cuyo ID comienza con d5d2 como la primera transacción duplicada, aunque apareció por primera vez en la cadena de bloques más tarde que la otra transacción duplicada.
En algunos exploradores de bloques, se pueden ver casos de transacciones duplicadas que aparecen repetidamente en diferentes bloques. Diferentes exploradores de bloques pueden tener diferentes comportamientos predeterminados al mostrar estas transacciones duplicadas.
Estas transacciones repetidas involucran 50 BTC cada una, sumando un total de 200 BTC. Hasta ahora, estos Bitcoins aún no han sido gastados. Teóricamente, si alguien posee la clave privada correspondiente, podría gastar estos Bitcoins. Pero una vez que sean gastados, los 50 BTC repetidos se perderán, por lo que solo quedarán 100 BTC disponibles. En cuanto a qué bloque se gastarán estos monedas, aún no está claro.
Las transacciones repetidas claramente traerán algunos problemas. Pueden causar confusión en las billeteras y en los exploradores de bloques, y también dificultan la determinación del origen del Bitcoin. Esto también puede ser utilizado para algunos ataques, como hacer depósitos repetidos en los exchanges.
Para resolver este problema, en marzo de 2012, Bitcoin implementó BIP30 a través de un fork suave, prohibiendo el uso de identificadores de transacción duplicados para realizar transacciones. En septiembre de 2012, se realizó una modificación adicional, haciendo que la verificación de BIP30 se aplicara a todos los bloques, excepto a los dos conjuntos de transacciones duplicadas mencionados anteriormente.
En marzo de 2013, Bitcoin activó nuevamente la bifurcación suave BIP34, exigiendo que las transacciones coinbase incluyan información sobre la altura del bloque. Esto parece resolver por completo el problema de las transacciones duplicadas, teóricamente todas las transacciones deberían ser únicas.
Sin embargo, en algunos bloques antes de la activación de BIP34, aún hay algunas transacciones coinbase cuyo primer byte de scriptSig coincide exactamente con la altura de bloque que será válida en el futuro. Esto significa que, en casos extremadamente raros, 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 genere alrededor de enero de 2046.
Sin embargo, considerando la dificultad y el costo de replicar este tipo de transacción, así como la rareza de las oportunidades para hacerlo, esta vulnerabilidad no representa una amenaza principal para la seguridad de Bitcoin. A pesar de esto, los desarrolladores aún están investigando formas de solucionar este problema de manera integral, 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.
Fenómenos raros en la historia de Bitcoin: transacciones duplicadas y su evolución
Bitcoin transacciones duplicadas: un caso raro pero interesante
Las transacciones de Bitcoin suelen utilizar salidas no gastadas al referirse al ID de la transacción anterior. Estas salidas solo pueden ser gastadas una vez, de lo contrario, se producirá un problema de doble gasto. Sin embargo, en la historia de Bitcoin han ocurrido, de hecho, dos conjuntos de transacciones exactamente iguales. 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 moneda a la misma dirección, construyendo así transacciones completamente idénticas. Dado que estas transacciones tienen el mismo contenido, su ID de transacción también es el mismo.
Estos dos grupos de transacciones duplicadas ocurrieron entre el 14 y el 15 de noviembre de 2010, con un lapso de aproximadamente 16 horas. El primer grupo de transacciones duplicadas se encuentra entre el segundo grupo. Clasificamos las transacciones cuyo ID comienza con d5d2 como la primera transacción duplicada, aunque apareció por primera vez en la cadena de bloques más tarde que la otra transacción duplicada.
En algunos exploradores de bloques, se pueden ver casos de transacciones duplicadas que aparecen repetidamente en diferentes bloques. Diferentes exploradores de bloques pueden tener diferentes comportamientos predeterminados al mostrar estas transacciones duplicadas.
Estas transacciones repetidas involucran 50 BTC cada una, sumando un total de 200 BTC. Hasta ahora, estos Bitcoins aún no han sido gastados. Teóricamente, si alguien posee la clave privada correspondiente, podría gastar estos Bitcoins. Pero una vez que sean gastados, los 50 BTC repetidos se perderán, por lo que solo quedarán 100 BTC disponibles. En cuanto a qué bloque se gastarán estos monedas, aún no está claro.
Las transacciones repetidas claramente traerán algunos problemas. Pueden causar confusión en las billeteras y en los exploradores de bloques, y también dificultan la determinación del origen del Bitcoin. Esto también puede ser utilizado para algunos ataques, como hacer depósitos repetidos en los exchanges.
Para resolver este problema, en marzo de 2012, Bitcoin implementó BIP30 a través de un fork suave, prohibiendo el uso de identificadores de transacción duplicados para realizar transacciones. En septiembre de 2012, se realizó una modificación adicional, haciendo que la verificación de BIP30 se aplicara a todos los bloques, excepto a los dos conjuntos de transacciones duplicadas mencionados anteriormente.
En marzo de 2013, Bitcoin activó nuevamente la bifurcación suave BIP34, exigiendo que las transacciones coinbase incluyan información sobre la altura del bloque. Esto parece resolver por completo el problema de las transacciones duplicadas, teóricamente todas las transacciones deberían ser únicas.
Sin embargo, en algunos bloques antes de la activación de BIP34, aún hay algunas transacciones coinbase cuyo primer byte de scriptSig coincide exactamente con la altura de bloque que será válida en el futuro. Esto significa que, en casos extremadamente raros, 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 genere alrededor de enero de 2046.
Sin embargo, considerando la dificultad y el costo de replicar este tipo de transacción, así como la rareza de las oportunidades para hacerlo, esta vulnerabilidad no representa una amenaza principal para la seguridad de Bitcoin. A pesar de esto, los desarrolladores aún están investigando formas de solucionar este problema de manera integral, lo que podría requerir la implementación de un hard fork. Una posible solución sería hacer cumplir el compromiso de SegWit.