Como ya hemos hablado en «¿Qué es minar Bitcoin?«, los mineros son una pieza esencial de Bitcoin. De ellos depende que las transacciones se validen y, en buena parte, la seguridad de Bitcoin. Pero no son los únicos sobre los que recae la increíble tarea de cuidar la seguridad de la red. ¿De qué seguridad hablamos? ¿Quién son los guardianes de Bitcoin? ¿Qué es lo que puede ocurrir?
Para explicar de esto y mucho más, hablaremos de que es un ataque del 51% y que peligro supone para el Bitcoin.
Empieza en Bit2Me y salta al mundo de las criptomonedas con ventaja. Regístrate fácilmente y consigue 15€ GRATIS en tu primera compra con este enlace. ¡No esperes más para unirte a la revolución cripto! Registrarme
Un poco de contexto
En primer lugar, Bitcoin y el resto de criptomonedas se basan en un principio fundamental: la descentralización. Debido a este principio, todos los participantes de la red tienen una copia del libro de cuentas, de la blockchain. A los participantes se les llama comúnmente «nodos«.
En cada copia se refleja el mismo histórico completo de todas las transacciones ocurridas desde el principio de los tiempos. En Bitcoin esto significa que toda transacción desde el 3 de enero del 2009, está dentro de la blockchain de esta red. Pero debido a que en Bitcoin no existe ningún nodo central, todos los nodos necesitan tener su copia. De esta forma, ellos validan las transacciones y nuevos bloques de forma matemática para comprobar que está todo bien.
Estas validaciones son muy sencillas. Pero hay que tener en cuenta una cosa, validar transacciones / bloques no es minar. Por el contrario, esta tarea significa validar que el trabajo de minado ha sido correcto y es una operación matemática muy sencilla. Si la operación de validación es correcta, los nodos suman la nueva transacción a su copia del libro y si no la desechan. Tras esta acción la red está programada para seguir la cadena de bloques más larga (si, constantemente hay intentos de bifurcación que sin apoyo se quedan huérfanos).
Todo esto se maneja de forma autónoma gracias a los protocolos de consenso. Y es que si más del 51% de los nodos toman por cierto algo, al ser la mayoría, se decide que eso es «la verdad», de forma democrática. De esta forma, se convierte en la cadena más larga aquella cadena que recibe el apoyo del 51% de la red.
¿Dónde está el problema?
Pero seguramente te preguntarás: ¿Donde está el problema en este esquema de trabajo? ¿Qué pasa si más del 51% de los nodos deciden mentir porque están asociados y se benefician de esa mentira?
Esto que en teoría es posible, se ha vuelto imposible de llevar a la práctica, debido a su complejidad técnica y el coste. Además tampoco son tantas las ventajas que se pueden obtener por lo que vemos como se pone en acción la Teoría de Juegos (Ver Equilibrio de Nash).
Como habrás podido entender, cada nodo hace de la red una red más segura, lo cual hace posible evitar que se falseen las cuentas del Blockchain. Cuando mencionamos «nodos» es importante entender que los nodos no son mineros necesariamente, los nodos son todos aquellos ordenadores que están unidos a la red P2P Bitcoin. Los mineros también son nodos, pero con una funcionalidad activada para resolver problemas de minado, por lo que para ser un nodo no necesitas gastar electricidad más allá de lo que supone tener un ordenador encendido con conexión a Internet.
La seguridad de Bitcoin (y todo sistema distribuido) es directamente proporcional a la descentralización de sus nodos.
Origen
Un ataque del 51% se produce en el momento en que una persona o grupo controla el 51% del poder computacional de la red. Es decir, dispondría de más de la capacidad de cálculo que todos los demás mineros y más participantes para las «votaciones» que el resto junto. Una situación que podría llegar a afectar de forma negativa a este sistema electrónico distribuido, alterando el funcionamiento de la red de forma temporal. Esa es la teoría. Incluso, el propio whitepaper de Bitcoin menciona de forma directa el escenario de un ataque de 51%. De hecho, viene siendo un mal necesario con el que convivir en este tipo de infraestructuras.
Estos debates no son tan sólo cosa del presente, en el pasado también se vivieron épocas de muchas dudas relacionadas con el “fantasma” del ataque del 51% en Bitcoin. Desde principios de 2014, la empresa de minado en la nube Ghash.IO se acercaba peligrosamente al 50% de porcentaje total de hash (o potencia) de minado de la red Bitcoin. Esta situación generó inseguridades en todos aquellos usuarios que acababan de descubrir Bitcoin. Sin embargo, la empresa en la actualidad ya no se encuentra operativa y el poder de hash de Bitcoin está más distribuido.
Pero, ¿podría haber hecho algo? Vamos a verlo con un ejemplo más sencillo.
Soy el Malo Maligno y quiero destruir Bitcoin
¿Odias que la humanidad camine hacia la libertad? ¿Tu felicidad depende de controlar el planeta? Seguramente seas amante del fiat, y por ende, odias Bitcoin.
Pues bien, desde Bit2Me te vamos a explicar cómo destruir Bitcoin: te animamos a que hagas un ataque del 51%.
La receta es muy sencilla, solo has de:
- Hacerte con el 51% de la red, es decir, unos 6000 nodos.
- Además necesitas tener una red de mineros lo suficientemente potente como para que siempre seas tú quién mine el bloque.
De esta forma, siempre que mines un bloque, tus 6000 nodos validarán lo que haces, y no lo que hacen otros.
Eso sí, deberás hacerlo todo muy rápido, ¡en segundos!
¿Significa esto el fin de Bitcoin?
Lamentablemente para Malo Maligno, y para tranquilidad de todas aquellas personas buenas: la respuesta es que no. En la práctica es imposible ejecutar esto actualmente.
Tal vez los nodos sean «baratos», pero los mineros no, y su electricidad tampoco.
«Pero un banco imprime dinero gratis, puede comprar lo que quiera» pensarás.
Es cierto. Pues además te decimos que debido al escenario basado en competencia, Malo Maligno está obligado a que su ataque deba ocurrir constantemente y en segundos, algo imposible, pues cada bloque se mina en 10 minutos, y en apenas unos segundos serías detectado.
No obstante, imaginemos que lo consigue en otro momento o contexto.
El resultado final sería que Malo Maligno controlaría la red, a golpe de un talonario muy grande. ¿Para qué? Por ejemplo, para hacer doble gastos que eventualmente podrían salir bien, y que sería detectado por la red (la cual le eliminaría haciendo una bifurcación y dejándole fuera).
Son muchas las entidades financieras que se atrevieron a decir que Bitcoin era fácilmente atacable y meses después han tenido que rectificar.
El propio Banco de Canadá, entre otros, ha tenido que rectificar ante una primera «burla» que hizo a la seguridad de Bitcoin. Tras adentrarse a conocer en profundidad el funcionamiento de Bitcoin sacó un estudio donde asegura que es prácticamente imposible, actualmente, vulnerar la red bitcoin a través de un ataque del 51% exitoso.
Situación actual red
Actualmente existen más 15.000 nodos: Ver mapa de nodos.
No obstante el escenario no es perfecto. ¿Por qué?
Bitcoin tiene millones de usuarios. Pero únicamente existen unos 15.000 nodos. Esto significa que casi todas las personas que usan Bitcoin no tienen un nodo propio, usan nodos de terceros: por ejemplo los usuarios de monederos online, monederos ligeros, casas de cambio, …
Por otro lado, como hemos explicado, los mineros son una parte muy importante. Son los que crean bloques, los únicos que pueden, y los bloques son necesarios para que las transacciones se validen, sin bloques no hay transacciones seguras.
Los nodos solo pueden validar el trabajo, es decir, en este caso el de los mineros.
El problema es que dentro del poder de minería no sabemos cuantos nodos hay, y más del 60% del poder de minería está solo 5 grandes Pools actualmente: Ver distribución de minería.
No obstante se estiman que son muy pocos nodos los que hay tras los mineros en comparación con el total de la red, y aunque fuesen muchos tampoco debemos alertarnos más de la cuenta.
Coste y consecuencias
En el supuesto caso mencionado anteriormente, esta entidad podría llegar a utilizar esa ventaja para realizar operaciones:
- Revertir transacciones y producir un doble gasto con sus bitcoins
- Evitar las confirmaciones de transacciones que deberían validarse de forma normal
- Prevenir a los demás mineros de minar bloques válidos
Pese a ello, tanto el tiempo como la inversión que se necesitarían para realizar un ataque de estas características es tan elevado y complejo que no sería óptimo para la persona o entidad interesadas. Veamos algunos actos que el atacante no podría llegar a realizar:
Revertir las transacciones de otras personas pero sí prevenir que se hagan transacciones o nuevos bloques de alguien que no sea él mismo. (mostrándose como ‘no-confirmadas’).
- Cambiar el número de monedas generadas por cada bloque
- Crear monedas de la nada
- Enviar monedas que nunca le pertenecieron
Entra en el siguiente enlace si aún no conoces como funcionan las transacciones Bitcoin.
No obstante, desde hace años se lleva debatiendo sobre escenarios hipotéticos en el ataque del 51% en Bitcoin, y son muchas las soluciones que se han propuesto. Por ejemplo la de Gavin Andresen.
Gavin Andresen (desarrollador del proyecto Bitcoin), añadió algunos detalles y aclaraciones sobre este ataque en su web GavinTech:
Something like «ignore a longer chain orphaning the current best chain if the sum(priorities of transactions included in new chain) is much less than sum(priorities of transactions in the part of the current best chain that would be orphaned)» would mean a 51% attacker would have to have both lots of hashing power AND lots of old, high-priority bitcoins to keep up a transaction-denial-of-service attack. And they’d pretty quickly run out of old, high-priority bitcoins and would be forced to either include other people’s transactions or have their chain rejected.
Según Gavin, defender la red ante un ataque del 51% sería relativamente sencillo obligando al atacante a contar con una potencia de hash y BTC antiguos de alta prioridad muy elevada.
El tiempo en el que el ataque perduraría sería relativamente bajo y el atacante se quedaría rápidamente sin BTC de alta prioridad viéndose obligado a incluir transacciones de otros o bien sufrir el rechazo de su cadena.
¿Cómo ayudar a evitar el ataque del 51%?
Si una cosa se ve clara es que cada vez hay más nodos, pero debemos seguir potenciando más la descentralización desde Bit2Me y desde cada uno de vosotros.
¿Qué puede hacer una simple persona como yo? Tal vez te estés preguntando.
No eres una simple persona. En Bitcoin tú tienes el poder.
Como hemos dicho, la salud de Bitcoin va vinculada a los nodos que la componen, no a su precio. Su precio es consecuencia directa de ello.
Si crees en Bitcoin puedes hacer dos cosas:
- Participa en la red. Únicamente necesitas instalarte un programa y te convertirás en nodo: Cómo montar un nodo Bitcoin.
- Comparte este post a todos los que puedas para que entiendan la importancia de la descentralización para Bitcoin.
Bitcoin es una revolución tecnológica, financiera, política y social increíble, pero depende de cada uno de nosotros para que cada vez sea más fuerte.
¿Crees que la red de minado actual tiende a la centralización o a la descentralización? ¿Se te ocurren más ideas para mejorar esta situación?