NoticiasCriptoEscaneé toda la cadena de bloques de Bitcoin en busca de imágenes. Esto fue lo que encontré

Escaneé toda la cadena de bloques de Bitcoin en busca de imágenes. Esto fue lo que encontré

Autor: Bitcoin Magazine·

Puntos clave

  • El autor sincronizó un nodo completo de Bitcoin Core en una unidad de disco duro de 4 terabytes, un proceso que tomó alrededor de 72 horas.
  • PhotoRec analizó más de un terabyte de datos de la cadena de bloques durante más de 11 horas y no recuperó ninguna imagen significativa.
  • El análisis produjo una pequeña cantidad de falsos positivos, incluidos 8 archivos ICO y 4 archivos PNG idénticos que no mostraban imágenes reales.
  • El artículo afirma que Bitcoin Core usa XOR para mezclar los datos de la cadena de bloques y el conjunto UTXO mientras están almacenados en el disco.
  • Según el texto, los operadores normales de nodos de Bitcoin generalmente no encontrarán datos arbitrarios ni imágenes identificables en sus datos almacenados de la cadena de bloques.
Escaneé toda la cadena de bloques de Bitcoin en busca de imágenes. Esto fue lo que encontré

Bitcoin Magazine Escaneé toda la cadena de bloques de Bitcoin en busca de imágenes. Esto fue lo que encontré

Escaneé la cadena de bloques de Bitcoin en busca de imágenes, y el resultado fue inesperado. Mucho se ha dicho en línea sobre los datos arbitrarios y el contenido que se pueden encontrar en la cadena de bloques de Bitcoin. Esa posibilidad ha contribuido al surgimiento de una escena artística de nicho, y también ha impulsado un movimiento contra las “transacciones no monetarias” en la red Bitcoin. Por cómo lo describen sus defensores y detractores, uno podría imaginar la cadena de bloques como una pared cubierta de grafitis.

Decidí poner a prueba la afirmación directamente: ¿realmente hay imágenes en la cadena de bloques, y qué significa eso para los Bitcoiners que quieren ejecutar su propio nodo completo y maximizar su soberanía financiera? Mi enfoque fue sencillo. Compré un disco duro nuevo para almacenar la cadena de bloques y luego ejecuté software clásico de recuperación de imágenes sobre los datos, el tipo de herramienta que se usa para rescatar imágenes de discos duros dañados y detectar datos de imagen en bruto.

Elegí PhotoRec, un programa de recuperación de imágenes de código abierto que existe desde hace más de 20 años. El software está diseñado para encontrar archivos de imagen en datos en bruto. Puede recuperar imágenes y otros formatos de archivo de discos duros que han fallado o se han corrompido. También se usa con frecuencia para recuperar archivos wallet.dat perdidos de los primeros días de las billeteras de Bitcoin, antes de que las seed words se adoptaran ampliamente.

Sincronización del nodo completo de Bitcoin

Para almacenar la cadena de bloques completa de Bitcoin, compré una unidad de disco de 4 terabytes por un par de cientos de dólares. Luego instalé la última versión de Bitcoin Core en ella y comencé a sincronizar la cadena. El proceso, que implica descargar y verificar la integridad contable de todas las transacciones en la historia de Bitcoin, tomó alrededor de 72 horas, o tres días, con Bitcoin Core ejecutándolo automáticamente en segundo plano. Hice esto en una máquina de juegos por lo demás potente; el principal cuello de botella fue la unidad de disco, que es lenta para leer y escribir datos durante la sincronización de la cadena de bloques de Bitcoin.

La parte más lenta del proceso implica el conjunto de salidas de transacción no gastadas, o UTXO. Cuando alguien sincroniza la cadena de bloques, cada valor de transacción no gastado, o saldo positivo, se organiza en el conjunto UTXO. A medida que esos valores se gastan, se eliminan del conjunto, y se agrega la nueva dirección que recibe el satoshi.

En una unidad de disco, este proceso de indexación UTXO podría haber tomado tres semanas según algunas estimaciones, así que para acelerar las cosas, mi clanker, un agente de IA, sugirió indexar primero los datos en RAM y luego moverlos de nuevo a la unidad de disco de 4 terabytes. Aunque el proceso completo tomó tres días mientras se ejecutaba en segundo plano, una SSD podría haber completado el trabajo en aproximadamente un día. Las SSD son mucho más rápidas que las unidades de disco, pero también son más caras: con frecuencia cuestan cuatro veces más, o más.

Una vez que la cadena de bloques estuvo completamente descargada y validada, moví el índice UTXO de la RAM de vuelta al disco e inicié el software de Bitcoin. La cadena quedó completamente sincronizada y la billetera estuvo lista para usar. En ese punto, la pregunta ya no era tanto encontrar arte oculto como si los operadores de nodos normales alguna vez necesitarían preocuparse por datos arbitrarios que aparecieran en la propia cadena almacenada. El siguiente paso era recuperar cualquier imagen almacenada en la cadena de bloques.

Recuperación de imágenes en la cadena de bloques con PhotoRec

Con la cadena de bloques completa de Bitcoin en mi unidad de disco, apagué Bitcoin Core y le pedí a mi clanker, el agente Cursor AI, que ejecutara PhotoRec 7.2 en la unidad. De forma predeterminada, PhotoRec busca formatos jpg, png, gif, tif, bmp, ico, psd y raw. El proceso se ejecutó durante más de 11 horas sobre los datos de la cadena y, al final, no encontró nada.

Después de analizar más de un terabyte de datos de la cadena de bloques durante medio día, no apareció ninguna imagen. La página wiki de PhotoRec ofrece un ejemplo sencillo de cómo funciona el software: “PhotoRec identifica un archivo JPEG cuando un bloque comienza con: 0xff, 0xd8, 0xff, 0xe0, 0xff, 0xd8, 0xff, 0xe1, o 0xff, 0xd8, 0xff, 0xfe.” En otras palabras, el programa examina los datos del disco en busca de patrones de bytes que indiquen que existe un archivo de imagen.

El programa puede generar falsos positivos. Guardó 8 archivos ICO y 4 archivos PNG idénticos que no muestran ninguna imagen al abrirse, como se ve en la imagen de abajo. En términos prácticos, no se encontraron imágenes significativas de ningún tipo.

¿A dónde fueron los Jpegs? Trucos de magia con XOR

¿Cómo es posible? Durante años, los usuarios de criptomonedas han hablado de los NFT y de la posibilidad de grabar datos de imagen en la cadena de bloques de Bitcoin. Han circulado millones de dólares en este nicho, y sigue en curso una guerra cultural en torno al tema. ¿De verdad no puede haber imágenes en la cadena?

Los riesgos de los datos arbitrarios han sido discutidos y previstos durante mucho tiempo en los círculos de desarrollo de Bitcoin Core, desde tan pronto como 2011. XOR, una técnica sencilla de ofuscación de datos, se utiliza para mezclar los datos de la cadena de bloques mientras permanecen almacenados en un disco duro.

En términos simples, las computadoras trabajan con 0 y 1, y XOR compara dos bits y devuelve 1 si son diferentes o 0 si son iguales. En el caso de Bitcoin, XOR compara cada bit de los datos de la cadena de bloques con una clave aleatoria generada durante la instalación inicial, produciendo datos en reposo que otros programas no pueden interpretar. Cuando el software de Bitcoin se ejecuta, tiene la clave necesaria para desenredar esos datos y utilizarlos. XOR también es muy rápido, por lo que no afecta de forma significativa al rendimiento. Aquí hay un ejemplo del bloque génesis de Bitcoin antes y después de un XOR.

Actualmente, XOR se aplica tanto a los datos de la cadena de bloques como al conjunto UTXO. XOR se discutió por primera vez en 2014, cuando el software antivirus comenzó a identificar erróneamente los datos de la cadena de bloques como código de virus. El antivirus entonces ponía en cuarentena un bloque, corrompiendo los datos de la cadena y provocando el fallo de Bitcoin, lo que hacía imposible la sincronización. A finales de 2015, XOR se había implementado en los datos en reposo del conjunto UTXO y, en 2024, se implementó en todos los datos en reposo de la cadena de bloques.

Por cierto, el proceso XOR significa que no se pueden identificar ni extraer datos arbitrarios de la cadena de bloques sin omitir deliberadamente XOR, un proceso que no es necesario para el uso monetario de Bitcoin. Dado que el software Bitcoin Core mantiene una base de datos simple con la ubicación de cada bloque mezclado, puede obtener sus datos, desenredarlos y utilizarlos de manera específica con facilidad. Sincronizar Bitcoin de forma no desenredada es un proceso personalizado que puede llevar tanto tiempo como sincronizar desde cero, ya que básicamente tiene que reescribir el terabyte completo de datos en un nuevo orden, y para alguien que solo quiere los beneficios normales de privacidad y seguridad de ejecutar un nodo Bitcoin no tiene mucho sentido hacerlo. Así que, en la gran mayoría de las copias de los datos de la cadena de bloques de Bitcoin almacenadas en las computadoras de Bitcoiners comunes de todo el mundo, en la práctica no hay datos arbitrarios ni imágenes que puedan identificarse. Sorprendente, lo sé. ¡Si quieres, ejecuta tú mismo la prueba de PhotoRec en tu propio nodo!

Esta publicación, I Scanned the Entire Bitcoin Blockchain for Images. What I Found Will Shock You, apareció por primera vez en Bitcoin Magazine y fue escrita por Juan Galt.