想象一下你正在经营一家数字图书馆,人们通过这里来登记新书。每当有人添加一本书时,图书馆都必须更新其主列表。这篇论文探讨的核心问题是:随着图书馆从几本书增长到数百万本书,更新这个列表最有效率的方式是什么?
作者对比了两种不同的组织图书馆方式:增量默克尔树 (Incremental Merkle Tree, IMT) 和 父哈希有向无环图 (Parent-Hash DAG, PHDAG)。
以下是他们利用简单的类比得出的研究结果。
1. 两种方法
增量默克尔树 (IMT): “积木塔”
把 IMT 想象成一座巨大的、完美对称的积木塔。
- 运作方式: 每当你添加一本新书(一个叶子节点)时,你必须沿着塔向上爬,更新它正上方的积木,然后是再上一层的积木,一直爬到最顶端(根节点)。
- 代价: 塔越高,攀爬的过程就越长。如果图书馆有 1,000 本书,你爬得比较短;如果有了 100 万本书,你就得爬得高得多。
- 问题: 随着图书馆规模的扩大,成本(以“Gas”表示,类似于执行更新时的能量费)也会随之上升。这就像打车时,路程越远,费用就越高。此外,成本是波动的:根据你放置新书的具体位置,有时你可能需要爬很多级台阶,有时则较少。
父哈希有向无环图 (PHDAG): “信件链”
把 PHDAG 想象成朋友之间传递的一串信件。
- 运作方式: 当你添加一本新书时,你只需写下书的详细信息,并附上一张便条说:“这本书紧随在某本特定旧书之后。”然后你将这张便条投入公共邮箱(区块链事件日志)中。你不需要爬塔,也不需要更新中央根节点。你只需要写好便条并将其与过去建立联系即可。
- 代价: 无论图书馆里有 10 本书还是 1,000 万本书,你的成本都一样。你始终编写相同长度的文字,并将它投入同一个邮箱。
- 优势: 它的成本是恒定的。无论图书馆变得多么庞大,成本都不会改变。这就像寄明信片的固定费用,无论之前已经寄出了多少封明信片,费用都一样。
2. 重大发现:何时发生转变?
作者进行了数学计算,并在测试网络(Base Sepolia)上进行了实测,以确定“信件链”(PHDAG)何时比“积木塔”(IMT)更便宜。
- 转折点: 他们发现,只有当图书馆非常小(深度小于约 7 层)时,“积木塔”才更便宜。
- 现实情况: 几乎所有使用这类注册表的真实世界系统(如隐私工具或身份系统)都比这深得多。它们通常有 20 到 40 层深。
- 结果: 在现实世界中,“信件链”(PHDAG)总是更便宜,且总是可预测的。
3. 为什么这很重要?(“波动性”问题)
想象你是一家负责更新图书馆的快递服务商,按次收费。
- 使用积木塔 (IMT): 有时更新很便宜,有时很贵。你必须猜测价格。如果你猜错了,可能会在昂贵的更新任务中亏损。成本会上下“跳动”。
- 使用信件链 (PHDAG): 价格始终完全相同。无需猜测。作者发现,成本的波动仅为 6 个 Gas 单位(极小的量),实际上几乎可以忽略不计。这使得它对于商业应用来说极其可靠。
4. “重建”超能力
还有另一个主要的区别。
- 积木塔 (IMT): 要证明一本书的存在,你需要一份特定的“证明”(显示通往塔顶路径的收据)。如果中央索引损坏,你可能会失去轻松验证整个塔的能力。
- 信件链 (PHDAG): 整个历史都记录在公共邮箱(事件日志)中。即使运行图书馆的计算机崩溃了,任何人都可以走入邮箱,按顺序阅读这些信件,并从头开始重建整个图书馆。它是“不可摧毁的”,因为历史信息散布在公共记录中,而不是锁在一个存储槽里。
5. 核心结论
论文得出结论,对于任何需要记录事件历史的大规模现实世界系统(例如证明谁拥有哪些数字艺术品或追踪供应链):
- 停止将“积木塔” (IMT) 用于此类特定工作。 随着规模增长,它会变得过于昂贵且难以预测。
- 开始使用“信件链” (PHDAG)。 它更便宜,价格永不改变,而且由于数据可以随时从公共记录中重建,因此更加安全。
作者建议,区块链社区应该将这种“信件链”方法作为所有未来溯源注册表的标准规则,因为这是处理大量数据最有效且最稳健的方式。
技术摘要:链上注册表常数时间追加操作的成本分析
问题陈述
溯源树(Provenance Trees, PTs)是用于算子门控溯源基础设施的数据底层,属于追加式有向无环图(DAG)。尽管此前的研究声称 PT 的底层追加操作在 Gas 成本上为 O(1)——即与注册表大小和树深度无关——但这一主张缺乏作为独立原语的形式化隔离、明确的常数界限,以及针对行业标准:增量默克尔树(Incremental Merkle Tree, IMT)的实证基准测试。
IMT 在零知识协议(如 Tornado Cash、Semaphore)和 Rollup 状态承诺中占据主导地位,它提供了简洁的 O(logN) 成员证明,但其追加成本随树深度呈对数级增长(Θ(logN))。对于那些成员证明并非主要查询需求的应用场景(例如溯源注册表),IMT 的成本权衡并不理想,然而,另一种方案在何时变得更具优势的交叉点尚未得到严格建立。
研究方法
本文将 父哈希有向无环图(Parent-Hash Directed Acyclic Graph, PHDAG) 隔离为一个独立的原语,并通过三个维度将其与 增量默克尔树(IMT) 进行对比:
- 形式化复杂度分析: 作者将 PHDAG 的追加操作形式化,证明其执行的 EVM 操作数量与注册表大小 (n) 或深度无关。他们将此与 IMT 的前沿更新循环(frontier-update loop)进行了对比,后者随深度 (d) 线性缩放。
- 随机成本建模: 考虑到 IMT 的追加成本会根据叶子索引的二进制表示(汉明重量)而变化,作者将单次插入的 Gas 成本建模为一个随机变量。他们在均匀分布的叶子索引下,推导出了 IM 成本均值和方差的闭式表达式,并区分了“写入层”(更新前沿)与“读取层”(仅遍历而不写入)。
- 实证验证: 论文在 Base Sepolia 测试网上部署了两种原语的独立合约。实验覆盖了从 1 到 25 的树深度。
- IMT: 通过执行 max(d,2) 次追加的“比例深度扫描”进行测试,以捕捉方差。
- PHDAG: 通过 200 次追加运行来表征成本分布和方差。
- 指标: Gas 消耗通过交易收据进行测量,排除了初始冷存储初始化成本,以专注于稳态性能。
核心贡献
1. PHDAG 的形式化复杂度
论文确立了 PHDAG 的追加操作在 Gas 成本上严格为 O(1)。
- 机制: 每次追加都会向三个此前未触及的存储槽(由唯一标识符键入的冷 SSTOREs)写入数据,外加一个对计数器的热写入(warm write)。
- 不变性: 成本对于全局注册表大小 n 以及任何关于树深度的概念都是不变的。由于交易的访问列表在每笔交易开始时都会重置,且 PHDAG 每次都写入新的存储槽,因此其成本仅取决于固定的操作数量,而非合约的状态。
- 重构: 论文证明,完整的注册表可以通过公开事件日志在 O(∣V∣) 时间内完成重构,且不依赖于链下数据,因为事件流携带了规范的历史记录。
2. IMT 的随机模型
作者推导出 IMT 的单次插入成本是一个依赖于叶子索引 i 的随机变量 g:
- 均值: E[g]=c0+2d(cL+cR),其中 cL 和 cR 分别是写入层和读取层的边际成本。
- 方差: Var[g]=(cL−cR)24d。
- 启示: 虽然相对方差(变异系数)随深度增加而减小,但绝对标准差随 Θ(d) 增长,这为高深度注册表引入了操作上的不可预测性。
3. 实证交叉点与验证
- PHDAG 性能: 测得每次追加的成本恒定为 76,276 Gas(标准差 ≈6 Gas),证实了深度不变性。
- IMT 性能: 成本随深度线性增长。
- 交叉点: PHDAG 比 IMT 更便宜的深度被确定在 d≈6 至 $7.2$ 之间。
- 在 d=6 时,测得的 IMT 成本(≈78,000 Gas)超过了 PHDAG 成本。
- 计算得出,基于均匀索引分布的终身平均交叉点为 d∗≈7.2。
结果
实证数据验证了理论模型:
- PHDKG 在所有测试深度下均表现出极低的方差和恒定的成本。
- IMT 表现出线性成本增长和随深度增加而增长的绝对方差。
- 生产环境背景: 调查的每个生产级注册表(Tornado Cash, Semaphore, zkSync, Scroll, Linea)都运行在深度 d≥20 的环境下。因此,所有此类系统目前都处于 PHDAG 严格更便宜 且提供可预测成本的区间,前提是应用不需要简洁的成员证明。
意义与主张
论文声称,对于满足以下条件的追加式溯源注册表,PHDAG 原理是更优的选择:
- 不需要简洁的成员证明: 溯源查询通常涉及父链遍历或通过唯一 ID 进行存在性检查,这些可以通过 O(∣V∣) 基于日志的重构来支持,而非 O(logN) 的默克尔证明。
- 成本可预测性至关重要: 对于管理高吞量追加服务的算子而言,PHDAG 近乎为零的方差消除了为最坏情况 Gas 尾部进行预算的需求,相比于在高深度下的 IMT,这具有显著的操作优势。
- 鲁棒性是首要考量: PHDAG 的对数规范设计确保了注册表历史的不可毁灭性和可重构性,仅凭公开事件日志即可完成,而不依赖于任何链下索引服务或当前的合约存储状态。
作者总结道,PHDAG 是作为以太坊溯源基础设施统一接口的有力竞争者,为非 ZK 应用提供了一种相对于依赖深度的 IMT 而言、具有常数成本且深度不变的替代方案。
每周获取最佳 computer science 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。