En resumen
- Con un atacante que controla el 10 % de la potencia y 6 confirmaciones, la probabilidad teórica de revertir un pago es de 0,0243 %: unos 2,43 de cada 10.000 intentos.
- Con ese mismo 10 % y solo 1 confirmación, la probabilidad sube al 20,46 %; con 0 confirmaciones es del 100 %.
- Si el atacante controla el 30 %, hacen falta 24 confirmaciones para bajar del 0,1 %; con el 10 %, bastan 5.
- Con el 50 % o más de la potencia, el atacante alcanza a la cadena honesta siempre. Es un modelo teórico, no una garantía.
¿Qué es la probabilidad de reversión de una transacción de Bitcoin?
Es la probabilidad de que alguien rehaga los últimos bloques de la cadena y deshaga un pago que ya parecía confirmado. Baja muy deprisa con cada confirmación, y sube mucho si el atacante controla gran parte de la potencia de cálculo de la red.
El cálculo viene de la sección 11 del documento técnico de Bitcoin, escrito por Satoshi Nakamoto. Allí se plantea una carrera entre la cadena honesta y una cadena secreta del atacante. Aquí lo tienes ya resuelto, sin tener que hacer la cuenta.
Una confirmación es un bloque añadido después del que contiene tu transacción. Algunas carteras cuentan como primera confirmación el propio bloque de la transacción; el modelo cuenta solo los bloques de encima.
Cómo usar la calculadora
- Cuota de potencia de cálculo del atacante: de cada 100 cálculos que hace la red, cuántos controla quien intenta revertir el pago. Si controla 10, escribe 10.
- Confirmaciones: bloques añadidos encima de tu transacción. Admite de 0 a 200.
Verás la probabilidad en porcentaje, cuántos intentos de cada 10.000 lo lograrían y cuántas confirmaciones hacen falta para bajar del 0,1 %. Debajo hay un gráfico y dos tablas.
Fórmula
p = 1 − q (probabilidad de que la red honesta halle el siguiente bloque) λ = z × q / p probabilidad = 1 − suma, de k = 0 a z, de [ e^(−λ) × λ^k / k! × (1 − (q/p)^(z−k)) ] si q ≥ p (q ≥ 50 %), la probabilidad es 1
- q es la cuota del atacante, en fracción (10 % = 0,1).
- z son las confirmaciones.
- λ es el avance medio que lleva el atacante mientras la red honesta añade z bloques.
- La suma usa la distribución de Poisson, que cuenta cuántos bloques puede haber minado el atacante en ese tiempo.
Ejemplo con un atacante del 10 % y 6 confirmaciones
| Dato | Resultado |
|---|---|
| Probabilidad de reversión | 0,0243 % |
| De cada 10.000 intentos | 2,43 |
| Confirmaciones para bajar del 0,1 % | 5 |
El resultado coincide con la tabla del documento técnico, redondeado a 4 decimales. Dicho fácil: de cada 10.000 intentos de un atacante así, unos 2 o 3 conseguirían deshacer el pago.
Cuánto baja con cada confirmación
Con una cuota del 10 %, la probabilidad cae por escalones muy claros:
| Confirmaciones | Probabilidad, % |
|---|---|
| 0 | 100,0000 |
| 1 | 20,4587 |
| 2 | 5,0978 |
| 3 | 1,3172 |
| 4 | 0,3455 |
| 5 | 0,0914 |
| 6 | 0,0243 |
Cada confirmación nueva divide la probabilidad entre 4 o más. Con el 30 %, en cambio, el descenso es mucho más lento: con 5 confirmaciones la probabilidad sigue en 17,74 % y con 10 baja a 4,17 %.
Qué cuota hace falta para que sea una amenaza
La amenaza real empieza cuando un solo grupo se acerca a la mitad de la potencia. Estas son las confirmaciones necesarias para bajar del 0,1 % según la cuota:
| Cuota del atacante, % | Confirmaciones |
|---|---|
| 10 | 5 |
| 20 | 11 |
| 30 | 24 |
| 40 | 89 |
Controlar tanta potencia es carísimo: requiere equipos y electricidad a gran escala. Aun con el 51 %, el atacante solo puede reescribir sus propias transacciones recientes; no puede crear bitcoin de la nada ni gastar el de otros. Lo explica el propio documento técnico.
Límites del modelo
- Supone que los bloques honestos tardan el tiempo medio esperado. En la práctica varía.
- No tiene en cuenta el coste del ataque ni su beneficio.
- No mira una transacción concreta ni consulta la red.
- Es un resultado teórico y educativo. No indica cuántas confirmaciones debes esperar tú.
Si te interesa el coste de enviar, mira la comisión de una transacción de Bitcoin. Para entender la potencia de la red, está el minado de Bitcoin por hashrate y dificultad y la página del halving.
Preguntas frecuentes
¿Cuántas confirmaciones hacen falta para que una transacción de Bitcoin sea segura?
No hay un número único. Depende de la potencia del atacante y del riesgo que aceptes. Con un atacante del 10 %, 5 confirmaciones bajan la probabilidad del 0,1 %. Con uno del 30 %, hacen falta 24.
¿Qué significa una probabilidad de reversión de 0,0243 %?
Que de cada 10.000 intentos de un atacante con el 10 % de la potencia, unos 2,43 lograrían deshacer la transacción tras 6 confirmaciones. Es un promedio teórico.
¿Por qué con 0 confirmaciones sale el 100 %?
Porque sin ningún bloque encima, el atacante no necesita alcanzar a nadie: la transacción aún no está en la cadena. Una transacción sin confirmar puede sustituirse o desaparecer.
¿Qué pasa con un ataque del 51 %?
Con la mayoría de la potencia, la probabilidad es del 100 %: el atacante siempre acaba alcanzando a la cadena honesta. Aun así, solo podría deshacer pagos propios recientes.
¿Esta probabilidad es la de mi transacción?
No. Es un modelo general. No sabe qué potencia tiene quien te pague ni lo que ocurre en la red en este momento.
