Ataque de 51%
Reescribir la blockchain construyendo una cadena más larga
Un ataque de 51% se refiere al acto de construir intencionalmente una nueva cadena más larga de bloques para reemplazar bloques ya presentes en la blockchain. Esto permite reemplazar transacciones que ya han sido minadas en la blockchain.
Este tipo de ataque es más fácil de realizar cuando tienes la mayoría del poder de minería, y por eso se llama "ataque de la mayoría" o "ataque de 51%".
Método
¿Cómo funciona un ataque de 51%?
Los nodos siempre aceptan la cadena conocida más larga como la versión válida de la blockchain. Entonces, si quieres "deshacer" una transacción, basta con construir una nueva cadena de bloques más larga sin esa transacción.
Cuando los nodos reciben esa nueva cadena más larga, hacen una reorganización de la cadena para desactivar los bloques de la cadena antigua y activar los bloques de la nueva cadena que construiste. Así, efectivamente reescribes la blockchain, revirtiendo transacciones que antes parecían permanentes.
Querrías incluir una transacción sustituta en la nueva cadena para enviar los bitcoins a un nuevo destino (por ejemplo, a tu propia dirección, y no al vendedor del coche). De lo contrario, la transacción original podría volver a minarse en la nueva cadena.
Prevención
¿Qué impide un ataque de 51%?
Cada minero está incentivado a construir sobre la cadena más larga actual. Así, si el poder de minería combinado de todos los demás mineros es mayor que el tuyo, resulta increíblemente difícil superarlos para construir una cadena más larga y reemplazar la existente.
Para evitar que eso ocurra, queremos hacer difícil que un solo minero obtenga la mayoría del poder. Esto se logra permitiendo que cualquier persona en el mundo mine y ofreciendo una recompensa de bloque como incentivo para construir sobre la cadena conocida más larga.
Mientras la mayoría del poder de CPU esté controlado por nosotros que no cooperamos para atacar la red, ellos generarán la cadena más larga y superarán a los atacantes.
Practicidad
¿Qué tan difícil es realizar un ataque de 51%?
La parte más complicada sería conseguir todo el hardware necesario, lo cual sería increíblemente caro. Sin embargo, si consiguieras la mayoría del poder de minería, sería solo cuestión de tiempo hasta construir una nueva cadena más larga.
Dicho esto, se necesita más trabajo para reemplazar un número mayor de bloques que solo unos pocos. Así que, cuanto más profunda entra una transacción en la blockchain, más tiempo y energía se requieren para revertirla.
Probabilidad
¿Puedes reescribir la blockchain con menos del 50% del poder?
Es posible reescribir la blockchain sin la mayoría del poder de minería, pero vas a necesitar suerte. La minería es impredecible, así que, incluso con poco poder, nada te impide tener suerte y minar los próximos 2 bloques seguidos. Es improbable, pero no imposible.
Cuanto más profunda está una transacción, más suerte vas a necesitar para minar X bloques seguidos. Si nadie tiene la mayoría del poder, se vuelve exponencialmente más difícil reemplazar una transacción cuanto más profunda entra.
Aquí tienes una tabla con tus probabilidades exactas:
| Bloques | 50%+ | 40% | 30% | 20% | 10% |
|---|---|---|---|---|---|
| 1 | 100% | 73,6% | 44,6% | 20,4% | 5,1% |
| 2 | 100% | 66,4% | 32,5% | 10,3% | 1,3% |
| 3 | 100% | 60,3% | 23,9% | 5,3% | 0,4% |
| 4 | 100% | 55,0% | 17,7% | 2,7% | 0,1% |
| 5 | 100% | 50,4% | 13,2% | 1,4% | 0,02% |
| 6 | 100% | 46,2% | 9,9% | 0,7% | 0,006% |
| 10 | 100% | 33,2% | 3,1% | 0,06% | 0,00003% |
Los números de arriba suponen que intentas reemplazar bloques construyendo una cadena alternativa un bloque más larga que la cadena actual.
Ecuación
La probabilidad de lograr reescribir bloques es una función de cuánto poder de minería tienes y cuántos bloques quieres reemplazar. La ecuación está en el Whitepaper de Bitcoin (Sección 11).
La ecuación calcula la probabilidad de alcanzar la cadena más larga (estando un número de bloques por detrás). Para reemplazar bloques, necesitas ir un bloque más allá.
Gráfico
Preguntas frecuentes
¿Alguien ha realizado con éxito un ataque de 51% en Bitcoin?
No, todavía no. Algunos mineros se acercaron a 50% o más del poder total a lo largo de la historia de Bitcoin (GHash.io se acercó en 2014), pero nadie ha realizado un ataque de 51% exitoso.
Incluso si un minero supera el 50% del poder, eso no significa necesariamente que vaya a atacar; solo significa que podría. De hecho, con tanto poder, probablemente sea más rentable seguir minando bloques y cobrando recompensas que revertir una sola transacción (y hundir el valor de bitcoin por culpa del ataque).
¿Cuánto poder de hash necesito para un ataque de 51%?
Puedes usar el valor actual de objetivo para estimar cuánto poder de hash necesitarías para obtener el control de la mayoría. El objetivo se mueve hacia arriba y hacia abajo según la rapidez con la que todos los mineros pueden minar nuevos bloques, así que podemos usarlo para descubrir qué tan rápido necesitamos hashear para superar la velocidad actual de la red. El proceso: obtener el objetivo actual (del campo bits del bloque más reciente), calcular los hashes esperados por bloque y dividirlos por los 10 minutos del intervalo de bloque.