Header Ads Widget

Ticker

6/recent/ticker-posts

¿Son seguras las transacciones de confirmación cero de Bitcoin?

Las transacciones se comprometen con la cadena de bloques aproximadamente cada 10 minutos. 

Bitcoin

Las transacciones de confirmación cero aún no residen en un bloque. En cambio, residen en el grupo de memoria de los mineros. Hasta que se extraiga un bloque que incluya la transacción, se dice que tiene "cero confirmaciones". Una vez incluido en un bloque y escrito en la cadena de bloques, la transacción tiene una confirmación.


El tiempo de confirmación es una medida de la profundidad o antigüedad de una transacción, en la cadena de bloques; cuanto mayor sea el número de confirmaciones, más antigua será la transacción. Cuando las transacciones se transmiten por primera vez a la red, son transacciones de confirmación cero. Algunos intercambios y comerciantes no aceptan estas transacciones. En cambio, los pagos de Bitcoin se sientan en el limbo esperando confirmaciones.

Seis sesgos de confirmación de Bitcoin

Hoy, pero más aún en el pasado, los intercambios y los comerciantes requieren un número mínimo de confirmaciones antes de aceptar una transacción. Típicamente este número es seis. ¿Por qué?

Bueno, después de la transmisión, las transacciones de confirmación cero podrían esperar desde unos segundos hasta horas o días para la confirmación. Aunque no hay forma de rescindir una transacción una vez emitida, existe un sesgo hacia la aceptación de transacciones de confirmación cero.

La primera razón es el miedo a un ataque de doble gasto. Es posible transmitir múltiples transacciones en diferentes puntos de la red Bitcoin. La transacción propagada al primer mayor número de mineros, gana. Es posible que un atacante doble el gasto al transmitir dos transacciones de confirmación cero. Si se programa correctamente, el software comercial acepta la transacción falsa antes de recibir la transacción de doble gasto.

El comerciante está técnicamente aceptando una transacción no válida. La falla existe debido al tiempo que toma las transacciones para propagar la red. Las dos transacciones están compitiendo con otra en todo el mundo.

Por ejemplo, si mi cliente está directamente conectado a su nodo completo, mis transacciones se retransmitirán primero a través de su software. Su cliente almacenará la transacción y la transmitirá a sus nodos conocidos. Si creo otros cuatro clientes y los conecto a nodos completos bien conectados, podría mentirle a su nodo.

Si cada uno de mis clientes ejecuta el mismo software de billetera, con las claves pueden construir dos transacciones separadas que gastan los mismos bitcoins. Para que te mienta, programo la transmisión de las transacciones. Mi cliente que se conecta a la red a través de usted enviará una transacción a una de sus direcciones. Mis otros cuatro clientes transmitirán una transacción diferente que reclama los mismos bitcoins a una de mis direcciones.

Durante un breve período, no estará sincronizado con la red. Esa es la ventana de oportunidad para un posible ataque.

¿Qué riesgo representa un doble gasto? Bueno, servicios como Bitpay aceptan transacciones de confirmación cero porque monitorean nodos clave en la red. Una vez que una transacción pasa por estos mineros, no hay una posibilidad significativa de que la transacción no sea válida. Después de unos 30 segundos, la posibilidad de un doble gasto desaparece. La transacción se ha transmitido a la mayoría de la red. Cualquier intento de transmitir una nueva transacción para los mismos bitcoins fallará.

La ventana de tiempo es muy corta. Cualquier pago a través del proceso de pago Bitpay demuestran que la mayoría de las transacciones son seguras para aceptar, después de sólo unos pocos segundos. Además, para la mayoría de las transacciones, el coste de realizar un doble gasto es mucho mayor que las ganancias. No es tan lucrativo para las transacciones de bajo valor, el doble gasto. Las compras de menos de $1.000 son probablemente segura. Sin embargo, esperar 30 segundos para que la transacción relé, no es irrazonable.

Las transacciones de confirmación cero no están solas

El segundo temor es que un mal actor que controla una parte significativa de la tasa de hash podría explotar en una cadena bifurcada y huérfanos de bloques pasados. En este escenario, el atacante mina un bloque. En lugar de transmitir el bloque, el minero comienza una cadena de bloques bifurcada y transmite una transacción que gasta bitcoins.

La red podría confirmar la transacción, extrayéndola en un bloque. El atacante continuará minando en su cadena de bloques bifurcados. Si se vuelve más largo que la cadena de bloques principal de Bitcoin, liberan sus bloques. En Bitcoin, la cadena más larga siempre gana. El bloque que confirmó la transacción de doble gasto se convierte en huérfano y se invalida. Los bloques del atacante incluyen una transacción para ellos, que gastan las monedas que gastaron antes.


La posibilidad de un ataque de fuerza bruta como este también es muy baja. El costo de este tipo de ataque de Bitcoin es mucho más alto que un gasto doble. Si bien las transacciones de confirmación cero siempre estarían en riesgo de este tipo de ataque, la probabilidad de éxito disminuye a medida que crece el tiempo de confirmación. Un atacante que controla el 10% de la red tendría una probabilidad de 0.1% de revertir una transacción de seis confirmaciones.

Publicar un comentario

0 Comentarios