Hechos clave:
-
Las monedas creadas superaban 8.800 veces el suministro máximo fijado para Bitcoin de 21 millones.
-
Fue el único fallo importante encontrado y explotado en lo que va de la historia de Bitcoin.
Se cumple una década del 15 de agosto de 2010, día en el que una persona aprovechó un bug en el código de Bitcoin (BTC) para crear 184.467 millones de BTC.
La criptomoneda, que tenía 1 año y 8 meses de vida, se encontraba todavía en su etapa inicial. Por esos años Satoshi Nakamoto y sus colaboradores trabajaban muchas veces a prueba y error, para que Bitcoin cumpliera los elevados estándares que ellos mismos se imponían.
El medio de comunicación que utilizaban entre ellos era el foro Bitcointalk, creado por el propio Nakamoto. Ese domingo de agosto, Jeff Garzik, quien colaboró en el desarrollo de Bitcoin desde los primeros años, escribió allí: «El valor de salida en el bloque 74.638 es bastante extraño».
Es que el bloque mostraba que, desde hace 1 hora y media, se estaban producido salidas que llegaban a un total de 184.467 millones de BTC. Esto es un valor casi 8.800 veces superior a los 21 millones, que es el suministro máximo fijado para esta criptomoneda.
¿Qué fue lo que pasó?
Otro usuario del foro, bajo el pseudónimo «LFM», explicó lo ocurrido. Dijo que una persona realizó una modificación personalizada del software para generar una transacción que explotara una vulnerabilidad presente en el código e inflar artificialmente el suministro.
Al parecer, el código usado para verificar la transacción antes de incluirla en el bloque, no contemplaba el caso de que los outputs fueran tan grandes que se excedieran al ser sumados.
LFM agregó a su explicación sobre esta debilidad del programa, que el código verificaba la salida de cada transacción en busca de números individualmente, pero «se olvidó» de verificar si la suma de dos salidas resultaba en un número negativo.
Entonces, si se colocaban dos valores grandes pero positivos en la transacción el desbordamiento solo se verificaba si era menor o igual que las entradas. Así, se logró emitir una cantidad de monedas que inflaban excesivamente el suministro.
Solución en tiempo récord
A la brevedad, Nakamoto y el desarrollador Gavin Andresen, comenzaron a trabajar para solucionar lo ocurrido. Tan solo 2 horas y 21 minutos después de que Garzik hiciera el anuncio, publicaron un parche para el código que solucionaba este problema en futuras transacciones. Una hora más tarde, el parche ya estaba subido al repositorio.
La función era rechazar las transacciones de desbordamiento de salida, como la que se había efectuado, y también cualquier transacción que pague más de 21 millones de BTC en una sola salida.
Además, en ese mismo foro se sugirió que todos los mineros dejaran de procesar transacciones hasta que se encontrara una solución. Se solicitó ignorar el bloque en que el error ocurrió y todos los bloques posteriores.
La solución fue una bifurcación suave (soft fork) de la blockchain mediante la cual se revirtió la transacción problemática y todas las posteriores. Los mineros aceptaron la propuesta y la nueva blockchain superó a la vieja en el bloque 74.691, 19 horas después del incidente.
Los ideales de la inmutabilidad fueron momentáneamente dejados de lado en pos de un bien mayor y un beneficio a largo plazo para la comunidad.
Actualmente no existe la transacción maliciosa ni los BTC creados, aunque sí los 0,5 BTC que consumió. No se usaron desde entonces y, según la wiki de Bitcoin, parecen provenir de un faucet.
Este fue el único fallo de seguridad importante encontrado hasta el momento en toda la historia de Bitcoin. A la fecha, la primera criptomoneda tuvo 48 vulnerabilidades detectadas, aunque ninguna tan grave como esta.
Después de la hazaña, vino la despedida
Pocos días antes de cumplirse los 4 meses del incidente aquí mencionado, Nakamoto publicó su último mensaje en Bitcointalk. Fue una corrección para evitar ataques de denegación de servicio (DoS).
Luego de eso el creador de Bitcoin desapareció de la escena pública y, desde entonces, su identidad es objeto de especulación en todo el mundo.