CarDano 基金会技术总监 Matthias Benkort(又名 @KtorZ)已成功将整个比特币区块链封装在 Cardano 区块链上的单个区块中。此消息通过 X(原 Twitter)发布,在区块链社区引起轰动,凸显了区块链之间高级数据管理和互操作性的潜力。
卡尔达诺和区块链技术的突破
Benkort 的启示伴随着 GitHub 上发布的新开源库“Merkle Patricia Forestry”的发布。该库引入了一组链上和链下工具,旨在与 Cardano 上的 Merkle Patricia Tries 配合使用。正如发布文档中所述,Merkle Patricia Trie 是“一种持久且经过身份验证的数据结构,用于在任意键和值之间进行映射”。本质上,它充当高效且安全的哈希图。
文档详细说明了该结构,指出“项目以空间优化的 16 基数 trie(又称前缀树)表示。其键的哈希摘要提供了 trie 中值的路径。”这种方法提供了许多用例,例如维护大型链上注册表(例如域),或提供大量内部数据(例如委托人/受托人的地图)或外部数据(例如与项目生态系统相关的 GitHub 数据)的预言机数据集。它特别适合以缓慢速度增长的长期运行数据集,例如工作量证明 (PoW) 区块链。
Merkle Patricia Forestry 库的主要功能包括快速加入、插入和删除大型存储中的任何键/值项,这得益于根哈希摘要(32 字节)和简洁证明(<1KB)。该库采用了以太坊改进的 Merkle Patricia Trie (MPT) 启发的多项优化,但引入了一种将节点组织为微小稀疏 Merkle 树的新方法。这项创新使证明大小大大减小,这也是该库名称“Merkle Patricia Forestry”的基础。
Benkort 解释了性能权衡,并指出优化会牺牲一些内存和 CPU 执行单元来实现更小的证明大小。尽管如此,该库在证明大小、内存使用率和 CPU 效率之间取得了良好的平衡,如文档中包含的性能表所示。这些表总结了各种 trie 大小所需的证明大小、内存单元和 CPU 单元,突出了该库在不同场景中的效率。
详细解释和演示
在关于 X 的一系列详细帖子中,Cardano 基金会的 Benkort 进一步深入介绍了该库的实现和功能。他解释说,该库由两部分组成:一部分在 AIken 中实现,用于智能合约的特定用途,另一部分在 Node.js 中实现,用于链下操作。这种经过修改的 Merkle Patricia Tries 的全面实现,具有独特的变化,就是 Benkort 所说的“Merkle Patricia Forestry”。
Benkort 表示:“从根本上讲,这是一个经过验证的数据结构,用于将任意键映射到任意值。然而,它以这样的方式实现,即可以仅通过一个小的哈希和一个简洁的证明来执行一些操作,而无需携带整个数据结构。”
对于熟悉区块链技术的人来说,Merkle 树是一种类似的结构,尽管更简单,主要用于表示项目列表并使用根哈希验证其成员资格。然而,Merkle Patricia Tries (MPT) 扩展了此功能,不仅允许成员资格验证,还允许插入和删除键/值对。以太坊使用 MPT 来存储其区块链状态和交易,使轻客户端无需存储整个区块链即可查询余额。
传统 MPT 的一个重大问题是证明的大小过大,对于大量数据存储来说,证明的大小可能达到数 KB。这对于链下操作来说不是问题,但在链上,每个字节都很宝贵。Benkort 的实现解决了这个问题,它在每个级别使用 16 个项目的微小稀疏 Merkle 树,有效地在树中创建树。这种结构大大减少了证明的大小,以牺牲一些计算步骤换取 Cardano 的效率提升。
Benkort 通过最近的一笔交易展示了这一功能,该交易使用了一个 UTxO,其中包含代表整个比特币区块头哈希的 Merkle Patricia Forestry 的根哈希,压缩为仅 32 个字节。该交易证明了通过在 trie 中插入新区块来延续链条的能力,以最小的数据开销维护了超过 850,000 个区块的经过验证的链条。
“我刚刚链接的交易正在做一些意想不到的事情,”Benkort 解释道。“它花费了一个 UTxO,其中包含代表整个比特币区块头哈希的 Merkle Patricia Forestry 的根哈希,映射到它们的交易。这大约是 850,000 个区块,压缩为 32 个字节。”
要使用这个 UTxO,必须在链上提供证明,通过在 trie 中插入新块来显示链的延续性。链上存储的更新后的根哈希必须代表前一个链加上一个块。此操作的整个验证器仅包含在 Cardano 的 Aiken 中的 26 行代码中。
未来影响和用例
Benkort 强调了这项技术的潜在应用,从无需信任的桥梁到完全在链上管理的任意大小的键/值存储。“想象一下如此庞大的数据集的可能性,”他建议道。“域名注册?金融市场数据提要?GitHub 统计数据?我确实看到了这样一个世界,机构或委员会以简单的根哈希形式在链上发布大型数据集,有效地充当各种智能合约的预言机。”
Benkort 最后回顾了这个项目的历程,该项目始于去年年底的一个副业。“终于发布它感觉很好,”他说。“它最初是我去年年底开始的,有点像副业。考虑到最近关于这个问题的讨论很多,我想我应该重新开始并妥善打包该代码。开源是为了胜利。”
截至发稿时,Cardano(ADA)的交易价格为 0.455 美元。
特色图片由 DALL·E 创建,图表来自 TradingView.com
#Cardano #技术负责人将比特币链打包成一个区块