Un rompecabezas concebido en 2015 por los artistas Rob Myers y @coin_artist y que daba acceso a un monedero con 4,87 bitcoines, ha sido resuelto tres años después.
El acertijo era el último de una serie de adivinanzas y estaba basado en el cuadro creado por @coin_artist y titulado 'TORCHED H34R7S'.
El portal Motherboard informó la semana pasada que un programador, cuyo nombre real no ha revelado, logró descifrar el rompecabezas y obtener la llave privada del monedero 1FLAMEN6. El valor de los bitcoines en el momento de la transacción ascendía a unos 50.000 dólares.
Solución
Para obtener la llave, había que combinar el dato escondido en las llamas de los márgenes del cuadro y el dato oculto en las cintas atadas en la llave de la esquina inferior derecha.
Las seis cintas atadas a la llave se corresponden con un código de seis bits que funciona como una llave para el resto del rompecabezas. Hay dos tipos de cintas en la llave—cortas y largas—y cada tipo se corresponde con el valor del bit. Las cortas representan un 0 y las largas un 1, lo que significa que la clave escondida es 011010.
El siguiente paso para @coin_artist y Myers consistía en esconder la llave del monedero en las llamas. Empezaron con la llave privada del monedero, codificada en el formato WIF (Wallet Import Format): era una serie de 52 caracteres que incluía números y letras codificadas en Base58. Tras convertir cada caracter de la llave privada en su equivalente binario, @coin_artist and Myers añadieron la frase "b34u7y, truth, and rarity" a la cadena binaria para indicar que la persona que estaba trabajando en el rompecabezas había encontrado la llave.
De este modo, la cadena completa incluía 76 caracteres que se correspondían con 608 bits. Después fue dividida en trozos de 6 bits, cada uno de los cuales fue sometido a la operación XOR: el código de seis bits escondido en las cintas se combinaba con cada uno de los trozos de seis bits de la cadena escondida en las llamas. Después de que la operación XOR se aplicara a la cadena entera, la nueva cadena fue dividida en trozos de 4 bits, cada uno de los cuales representaba una llama en la imagen.
Cada bit en estos trozos de 4 bits representaba una característica de la llama y cada grupo de características se podía representar como un bit: corta (0) o larga (1) / roja (0) o amarilla (1) por fuera, estrecha (0) o ancha (1) / morada (0) o verde (1) por dentro, en este orden. En este caso, por ejemplo, un trozo de bits con valor 0110 sería una llama corta, amarilla por fuera, ancha y morada por dentro. Las llamas se tenían que 'leer' desde el lado interno izquierdo y en el sentido de las agujas del reloj, mientras que las llamas externas se leen en dirección contraria.