Fenómeno de replicación de transacciones de Bitcoin: una situación especial de bajo riesgo pero interesante
Las transacciones de Bitcoin generalmente utilizan salidas no gastadas haciendo referencia al ID de la transacción anterior. Estas salidas solo pueden ser utilizadas una vez, de lo contrario, se producirá un problema de doble gasto. Sin embargo, en el sistema de Bitcoin existen 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 enviar la misma cantidad a la misma dirección, y la forma en que se construyen es completamente idéntica, lo que genera transacciones completamente iguales. Dado que el contenido de las transacciones es el mismo, sus ID de transacción también coincidirán, ya que el ID de la transacción es el valor hash de los datos de la transacción. A menos que ocurra una colisión de hash, no es posible que existan ID de transacción duplicados, y las colisiones de hash nunca han ocurrido en Bitcoin ni en ningún otro sistema.
Estos dos grupos de transacciones duplicadas ocurrieron entre el 14 y el 15 de noviembre de 2010, con una duración de aproximadamente 16 horas. El primer grupo de transacciones duplicadas (d5d2....8599) aunque apareció en la cadena de bloques más tarde que el otro grupo, se considera la primera copia.
A partir de la captura de pantalla del explorador de bloques, se puede ver que la primera transacción duplicada aparece en dos bloques diferentes. Lo interesante es que el comportamiento predeterminado de los diferentes exploradores de bloques al mostrar estas transacciones duplicadas es diferente. En los cuatro bloques relevantes, solo un bloque contiene otras transacciones.
El monto total de Bitcoin involucrado en estas transacciones repetidas es de 200 BTC, pero en realidad solo existen 100 BTC. Hasta ahora, estos 200 BTC no han sido utilizados. En teoría, si alguien posee la clave privada correspondiente, podría utilizar estos Bitcoin. Pero una vez que se usen, los 50 BTC duplicados no podrán ser utilizados nuevamente. En cuanto a de qué bloque se deducirá al usarlos, puede ser incierto.
Las transacciones duplicadas pueden causar confusión en las billeteras y en los exploradores de bloques, y también pueden ser utilizadas para ataques fraudulentos. Para abordar este problema, en marzo de 2012 se implementó un hard fork BIP30 que prohíbe el uso de IDs de transacciones duplicadas, a menos que la transacción anterior ya haya sido utilizada. En septiembre del mismo año, esta regla fue modificada aún más, aplicándose a todos los bloques, pero se mantuvieron las dos transacciones duplicadas iniciales como excepciones.
El BIP34 activado en marzo de 2013 exige que las transacciones coinbase incluyan la altura del bloque, lo que en gran medida resuelve el problema de las transacciones duplicadas. Sin embargo, en algunos bloques anteriores a la activación del BIP34, el primer byte del scriptSig de las transacciones coinbase coincidía exactamente con la altura del bloque que sería válida en el futuro, lo que significa que todavía existe la posibilidad de duplicados.
El siguiente bloque donde podrían aparecer transacciones duplicadas es el 1,983,702, que se espera que se genere alrededor de enero de 2046. El costo de aprovechar esta vulnerabilidad es muy alto, posiblemente superior a 15 millones de dólares, y además apenas ofrece beneficios prácticos para el atacante. Los bloques con vulnerabilidades potenciales posteriores no aparecerán hasta 2078.
Considerando la dificultad y el costo de aprovechar esta vulnerabilidad, así como la escasez de oportunidades, el problema de las transacciones duplicadas no constituye una amenaza principal para la seguridad de Bitcoin. Sin embargo, dado el tiempo involucrado y la singularidad del problema, sigue siendo un tema que invita a la reflexión. Es posible que los desarrolladores de Bitcoin busquen resolver este problema de manera exhaustiva antes de 2046, lo que podría requerir la implementación de un soft 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
3
Republicar
Compartir
Comentar
0/400
RektDetective
· 08-12 13:26
En 2010, en ese entonces, un btc costaba solo unos pocos centavos.
Ver originalesResponder0
FundingMartyr
· 08-10 19:12
Deja que la moneda alcista haga un doble asesinato.
Repeticiones raras de transacciones en la historia de Bitcoin: discusión sobre riesgos potenciales y soluciones en el futuro
Fenómeno de replicación de transacciones de Bitcoin: una situación especial de bajo riesgo pero interesante
Las transacciones de Bitcoin generalmente utilizan salidas no gastadas haciendo referencia al ID de la transacción anterior. Estas salidas solo pueden ser utilizadas una vez, de lo contrario, se producirá un problema de doble gasto. Sin embargo, en el sistema de Bitcoin existen 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 enviar la misma cantidad a la misma dirección, y la forma en que se construyen es completamente idéntica, lo que genera transacciones completamente iguales. Dado que el contenido de las transacciones es el mismo, sus ID de transacción también coincidirán, ya que el ID de la transacción es el valor hash de los datos de la transacción. A menos que ocurra una colisión de hash, no es posible que existan ID de transacción duplicados, y las colisiones de hash nunca han ocurrido en Bitcoin ni en ningún otro sistema.
Estos dos grupos de transacciones duplicadas ocurrieron entre el 14 y el 15 de noviembre de 2010, con una duración de aproximadamente 16 horas. El primer grupo de transacciones duplicadas (d5d2....8599) aunque apareció en la cadena de bloques más tarde que el otro grupo, se considera la primera copia.
A partir de la captura de pantalla del explorador de bloques, se puede ver que la primera transacción duplicada aparece en dos bloques diferentes. Lo interesante es que el comportamiento predeterminado de los diferentes exploradores de bloques al mostrar estas transacciones duplicadas es diferente. En los cuatro bloques relevantes, solo un bloque contiene otras transacciones.
El monto total de Bitcoin involucrado en estas transacciones repetidas es de 200 BTC, pero en realidad solo existen 100 BTC. Hasta ahora, estos 200 BTC no han sido utilizados. En teoría, si alguien posee la clave privada correspondiente, podría utilizar estos Bitcoin. Pero una vez que se usen, los 50 BTC duplicados no podrán ser utilizados nuevamente. En cuanto a de qué bloque se deducirá al usarlos, puede ser incierto.
Las transacciones duplicadas pueden causar confusión en las billeteras y en los exploradores de bloques, y también pueden ser utilizadas para ataques fraudulentos. Para abordar este problema, en marzo de 2012 se implementó un hard fork BIP30 que prohíbe el uso de IDs de transacciones duplicadas, a menos que la transacción anterior ya haya sido utilizada. En septiembre del mismo año, esta regla fue modificada aún más, aplicándose a todos los bloques, pero se mantuvieron las dos transacciones duplicadas iniciales como excepciones.
El BIP34 activado en marzo de 2013 exige que las transacciones coinbase incluyan la altura del bloque, lo que en gran medida resuelve el problema de las transacciones duplicadas. Sin embargo, en algunos bloques anteriores a la activación del BIP34, el primer byte del scriptSig de las transacciones coinbase coincidía exactamente con la altura del bloque que sería válida en el futuro, lo que significa que todavía existe la posibilidad de duplicados.
El siguiente bloque donde podrían aparecer transacciones duplicadas es el 1,983,702, que se espera que se genere alrededor de enero de 2046. El costo de aprovechar esta vulnerabilidad es muy alto, posiblemente superior a 15 millones de dólares, y además apenas ofrece beneficios prácticos para el atacante. Los bloques con vulnerabilidades potenciales posteriores no aparecerán hasta 2078.
Considerando la dificultad y el costo de aprovechar esta vulnerabilidad, así como la escasez de oportunidades, el problema de las transacciones duplicadas no constituye una amenaza principal para la seguridad de Bitcoin. Sin embargo, dado el tiempo involucrado y la singularidad del problema, sigue siendo un tema que invita a la reflexión. Es posible que los desarrolladores de Bitcoin busquen resolver este problema de manera exhaustiva antes de 2046, lo que podría requerir la implementación de un soft fork. Una posible solución es hacer cumplir el compromiso de SegWit.