
比特币杂志
我扫描了整个比特币区块链中的图像。我发现的将让你震惊
我扫描了比特币区块链中的图像;我发现的将让你震惊。关于比特币区块链上可以找到的任意数据和内容,网上已经有很多讨论。这种可能性不仅催生了一个小众艺术场景,还引发了对比特币网络上“非货币交易”的运动。如果你听到其中一个支持者或反对者的观点,你会觉得区块链基本上是一面满是涂鸦的墙。
好吧,我决定对这个问题进行测试:区块链上真的有图像吗?这对那些只是想运行自己的完整节点并最大化其财务主权的比特币用户意味着什么?
我的方法很简单:我打算购买一个新的硬盘来存储区块链,然后我将使用经典的图像恢复软件对数据进行处理——这是一种用于从损坏的硬盘中恢复图像的工具,旨在寻找原始图像数据。
我选择了PhotoRec来进行图像恢复工作,这是一款已经存在超过20年的开源图像恢复程序。该软件旨在从原始数据中查找图像文件。这可以用于从已损坏或失败的硬盘中恢复图像和其他文件格式。实际上,它通常用于恢复早期比特币钱包中的丢失的wallet.dat文件,在种子词格式普及之前。
同步完整的比特币节点
为了存储完整的比特币区块链,我决定花几百美元购买一个4TB的硬盘驱动器。然后我在上面安装了最新版本的比特币核心,并开始同步链。这个过程涉及下载和验证比特币历史上所有交易的会计完整性,花费了大约72小时或三天,由比特币核心软件自动在后台运行。
我是在一台功能强大的游戏机器上完成这个的;在时间上主要的瓶颈是硬盘驱动器,因为在同步比特币区块链时,它读取和写入数据的速度较慢。这个过程的慢部分涉及未花费的交易输出集,或称UTXO。当用户同步区块链时,每个未花费的交易值(输出)或正余额被组织到UTXO集中,随着这些值的花费,它们会从集合中移除,而那些比特币被发送的新地址则会被添加。
在硬盘驱动器上,这个UTXO索引过程根据一些估计可能需要三周时间,因此为了加快速度,我的助手(AI代理)建议我们先在RAM中索引数据,然后再将数据移回4TB的硬盘驱动器。虽然整个过程花了三天时间在后台运行,但SSD可以在大约一天内完成整个工作。SSD驱动器比硬盘驱动器快得多;它们更现代,但价格也通常是硬盘的四倍或更多。
一旦区块链完全下载并验证完毕,我们将UTXO索引从RAM移回磁盘,并启动了比特币软件;链条完全同步,钱包准备就绪。现在是下一步的时候了:恢复存储在区块链上的图像。
使用PhotoRec在区块链上恢复图像
在我的磁盘驱动器上有完整的比特币区块链后,我关闭了比特币核心,并让我的助手(Cursor AI代理)在驱动器上运行PhotoRec 7.2。默认的PhotoRec过程会查找jpg、png、gif、tif、bmp、ico、psd和raw格式。该过程在区块链数据上运行了超过11小时,最终发现……(鼓声)……什么也没有。
超过一TB的区块链数据和半天的扫描,没有找到任何图像。PhotoRec的维基页面给出了软件工作原理的简单示例:“PhotoRec在一个块以:0xff、0xd8、0xff、0xe0、0xff、0xd8、0xff、0xe1或0xff、0xd8、0xff、0xfe开头时识别JPEG文件。”换句话说,该程序查看磁盘上的数据,以寻找信号表明存在图像文件的字节。
该程序可能会产生误报;它保存了8个ICO和4个相同的PNG文件,打开时不显示任何图像,如下图所示。因此,实际上没有找到任何有意义的图像。
Jpeg去哪儿了?XOR魔法技巧
这怎么可能?多年来,加密圈的人们一直在讨论NFT以及如何将图像数据刻录到比特币区块链上。在这个细分市场中,数百万美元的资金已经流动,而关于这个问题的文化战争正在进行中。链上真的没有图像吗?
事实证明,涉及任意数据的风险在比特币核心开发圈中早在2011年就已经被讨论和规划。XOR,一种简单的数据混淆技术,用于在硬盘上静止时对所有区块链数据进行加扰。
你可能听说过计算机的基本语言由0和1组成。简而言之,XOR比较两个数字或位,如果位不同则返回1,如果位相同则返回0。在比特币的情况下,XOR将区块链数据的每个位与在初始安装期间生成的随机密钥进行比较,从而产生其他程序无法理解的静态数据。然而,当比特币软件运行时,它拥有解密这些数据的密钥并随意使用它。XOR也非常快速,因此不会对性能产生显著影响。以下是比特币创世区块在XOR处理前后的示例。
XOR 目前应用于区块链数据和 UTXO 集。XOR 最初在 2014 年被讨论,当时防病毒软件开始因将区块链数据误解为病毒代码而出现问题。防病毒软件随后会隔离一个区块,导致区块链数据损坏并使比特币崩溃,从而使同步变得不可能。到 2015 年底,XOR 已在静态的 UTXO 集数据上实施,而在 2024 年,它已在所有静态的区块链数据上实施。
顺便提一下,XOR 过程意味着没有任意数据可以从区块链中识别或提取,除非故意绕过 XOR,这一过程对于比特币的货币使用并不是必要的。由于比特币核心软件保持着每个混淆区块位置的简单数据库,它可以轻松获取数据、解混淆并以有针对性的方式使用。
以未混淆的方式同步比特币是一个自定义过程,可能需要与从头开始同步一样多的时间,因为它基本上必须以新的顺序重写整整一太字节的数据,对于只想获得正常隐私和安全好处的比特币节点用户来说,这并没有太大意义。因此,当涉及到大多数存储在全球普通比特币用户计算机上的比特币区块链数据时,实际上没有可以识别的任意数据或图像。令人震惊,我知道。欢迎您在自己的节点上自行运行 PhotoRec 测试!
这篇文章《我扫描了整个比特币区块链以寻找图像。我发现的将让你震惊》最初出现在《比特币杂志》,作者是胡安·加尔特。
来源:BitcoinMagazine



