Bitcoin: un fenómeno de transacciones repetidas: un fallo interesante pero de muy bajo riesgo
Resumen
Las transacciones de Bitcoin generalmente utilizan salidas no gastadas al referirse al ID de la transacción anterior. Estas salidas solo pueden gastarse una vez, de lo contrario, se produciría un problema de doble gasto. Sin embargo, en la historia de Bitcoin ha habido dos conjuntos de transacciones completamente idénticas. Esta situación ocurre porque las transacciones coinbase no tienen entradas, sino que generan nuevas monedas. Por lo tanto, dos transacciones coinbase diferentes pueden construirse de manera completamente idéntica, lo que hace que sus ID de transacción también sean iguales. Además, solo se podrían producir ID de transacción duplicados si ocurre una colisión de hash, pero esto es casi imposible en funciones hash criptográficamente seguras.
Ambos conjuntos de transacciones duplicadas ocurrieron entre el 14 y el 15 de noviembre de 2010, con una duración de aproximadamente 16 horas. Aunque d5d2....8599 apareció en la blockchain más tarde que e3bf....b468, aún lo clasificamos como la primera transacción duplicada.
Detalles de la transacción repetida
El explorador de bloques mempool.space muestra el primer caso de una transacción duplicada que aparece en dos bloques diferentes. Curiosamente, diferentes exploradores de bloques pueden tener comportamientos predeterminados diferentes al mostrar transacciones duplicadas.
En los cuatro bloques involucrados, solo un bloque contiene otras transacciones, combinando 1 BTC y 19 BTC en una salida de 20 BTC.
La gastabilidad de la salida repetida
El valor de cada transacción repetida es de 50 BTC, involucrando un total de 200 BTC o 100 BTC, dependiendo de la forma de entenderlo. Hasta ahora, estos Bitcoins no han sido gastados. Teóricamente, la persona que posee la clave privada correspondiente puede gastar estos Bitcoins, pero solo 100 BTC son recuperables, ya que los 50 BTC repetidos no se pueden gastar. En cuanto a desde qué bloque se gastarán estas monedas, podría estar indefinido.
Problema de las transacciones duplicadas
Las transacciones duplicadas pueden causar confusión en las billeteras y exploradores de bloques, y también pueden generar riesgos de ataque potencial. Por ejemplo, pueden provocar pagos duplicados o ataques a los intercambios.
Medidas de solución
Para abordar el problema de las transacciones duplicadas, la comunidad de Bitcoin ha tomado las siguientes medidas:
BIP30: Propuesto e implementado en 2012, prohíbe el uso de TXID duplicados para transacciones, a menos que el TXID anterior ya haya sido gastado.
BIP34: activado en 2013, requiere que las transacciones coinbase incluyan la altura del bloque, lo que hace que todas las transacciones deberían ser únicas.
Detener la verificación de BIP30: En 2015, debido a la implementación de BIP34, los nodos detuvieron la costosa verificación de BIP30.
Riesgos potenciales
A pesar de que BIP34 resolvió la mayoría de los problemas, en algunos bloques anteriores a la activación de BIP34, los scriptSigs de la transacción de coinbase podrían coincidir con la altura de bloques futuros, lo que aún presenta un riesgo potencial de duplicación. El siguiente bloque donde podría ocurrir una transacción duplicada es el 1,983,702, que se espera que se genere alrededor de enero de 2046.
Conclusión
Teniendo en cuenta la dificultad de copiar transacciones, el costo y la escasez de oportunidades para hacerlo, esta vulnerabilidad no representa una amenaza principal para la seguridad del Bitcoin. Sin embargo, debido a su singularidad y su impacto a largo plazo, sigue siendo un problema interesante que merece atención. En el futuro, puede ser necesario abordar este problema de manera integral a través de métodos como las bifurcaciones suaves.
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.
El misterio de las transacciones duplicadas de Bitcoin: vulnerabilidades raras y desafíos futuros
Bitcoin: un fenómeno de transacciones repetidas: un fallo interesante pero de muy bajo riesgo
Resumen
Las transacciones de Bitcoin generalmente utilizan salidas no gastadas al referirse al ID de la transacción anterior. Estas salidas solo pueden gastarse una vez, de lo contrario, se produciría un problema de doble gasto. Sin embargo, en la historia de Bitcoin ha habido dos conjuntos de transacciones completamente idénticas. Esta situación ocurre porque las transacciones coinbase no tienen entradas, sino que generan nuevas monedas. Por lo tanto, dos transacciones coinbase diferentes pueden construirse de manera completamente idéntica, lo que hace que sus ID de transacción también sean iguales. Además, solo se podrían producir ID de transacción duplicados si ocurre una colisión de hash, pero esto es casi imposible en funciones hash criptográficamente seguras.
Ambos conjuntos de transacciones duplicadas ocurrieron entre el 14 y el 15 de noviembre de 2010, con una duración de aproximadamente 16 horas. Aunque d5d2....8599 apareció en la blockchain más tarde que e3bf....b468, aún lo clasificamos como la primera transacción duplicada.
Detalles de la transacción repetida
El explorador de bloques mempool.space muestra el primer caso de una transacción duplicada que aparece en dos bloques diferentes. Curiosamente, diferentes exploradores de bloques pueden tener comportamientos predeterminados diferentes al mostrar transacciones duplicadas.
En los cuatro bloques involucrados, solo un bloque contiene otras transacciones, combinando 1 BTC y 19 BTC en una salida de 20 BTC.
La gastabilidad de la salida repetida
El valor de cada transacción repetida es de 50 BTC, involucrando un total de 200 BTC o 100 BTC, dependiendo de la forma de entenderlo. Hasta ahora, estos Bitcoins no han sido gastados. Teóricamente, la persona que posee la clave privada correspondiente puede gastar estos Bitcoins, pero solo 100 BTC son recuperables, ya que los 50 BTC repetidos no se pueden gastar. En cuanto a desde qué bloque se gastarán estas monedas, podría estar indefinido.
Problema de las transacciones duplicadas
Las transacciones duplicadas pueden causar confusión en las billeteras y exploradores de bloques, y también pueden generar riesgos de ataque potencial. Por ejemplo, pueden provocar pagos duplicados o ataques a los intercambios.
Medidas de solución
Para abordar el problema de las transacciones duplicadas, la comunidad de Bitcoin ha tomado las siguientes medidas:
BIP30: Propuesto e implementado en 2012, prohíbe el uso de TXID duplicados para transacciones, a menos que el TXID anterior ya haya sido gastado.
BIP34: activado en 2013, requiere que las transacciones coinbase incluyan la altura del bloque, lo que hace que todas las transacciones deberían ser únicas.
Detener la verificación de BIP30: En 2015, debido a la implementación de BIP34, los nodos detuvieron la costosa verificación de BIP30.
Riesgos potenciales
A pesar de que BIP34 resolvió la mayoría de los problemas, en algunos bloques anteriores a la activación de BIP34, los scriptSigs de la transacción de coinbase podrían coincidir con la altura de bloques futuros, lo que aún presenta un riesgo potencial de duplicación. El siguiente bloque donde podría ocurrir una transacción duplicada es el 1,983,702, que se espera que se genere alrededor de enero de 2046.
Conclusión
Teniendo en cuenta la dificultad de copiar transacciones, el costo y la escasez de oportunidades para hacerlo, esta vulnerabilidad no representa una amenaza principal para la seguridad del Bitcoin. Sin embargo, debido a su singularidad y su impacto a largo plazo, sigue siendo un problema interesante que merece atención. En el futuro, puede ser necesario abordar este problema de manera integral a través de métodos como las bifurcaciones suaves.