Jason @0xbbbb_eth
Account Abstraction Developer
MEV Researcher
Core Contributor of Panta Rhei
TLDR
序列器和证明器由同一实体运行被称为 In-house Prover,是中心化的。
不同于 In-house Prover,去中心化 Prover 网络中有多个 Prover(由不同实体控制)。
去中心化 Prover 网络相对于 In-house Prover 有以下好处
没有单点问题,没有审查问题
通过任务切分提高性能
通过竞争降低证明成本
引入更多的实体投入资源研究 ZK 加速技术
提出了去中心化 Prover 市场的设计框架,规范化了一个正向循环去中心化 Prover 市场的必备条件。
基于设计框架,可以设计出最低限度的正向循环去中心化 Prover 市场,然而这并不足够。需要选择恰当的设计目标进行优化。
去中心化 Prover 市场而言有一些希望达到的理想特性(高效市场,激励相容,抗 Prover 共谋,链下协议)。然而,这些特性很可能无法满足或者同时满足。
实际上,参与者可能会在去中心化 Prover 市场范畴外作恶,即参与者不是为了从去中心化 Prover 市场中获益。针对这样问题,我们需要设计额外的机制去处理。这是 ZKRollup Economics 另外的主题。
在下一篇文章,笔者会基于本文的设计框架对几种去中心化 Prover 市场的设计进行分析。
ZKRollup 交易处理流程
ZKRollup 的交易处理流程如下
用户向序列器(Sequencer)发送交易
序列器处理交易
序列器把交易打包为 L2 区块
序列器执行交易并产生执行路径(Trace),并把执行路径提供给证明器(Prover)。
证明器基于执行路径产生相应的有效性证明,并把有效性证明提供给 L1 的 Verifier 合约进行验证。
序列器把最新 L2 状态根提供给 L1 的 Core 合约(通过 Verifier 合约得知有效性证明已验证)。
值得注意的是目前序列器和证明器一般都由同一实体运行,是中心化的。在此场景下,证明器被称为 In-house Prover。
What
本节主要是为了说明什么是去中心化 Prover 网络。
In-house Prover 的设计中只有一个 Prover(只由一个实体控制)。不同于 In-house Prover,去中心化 Prover 网络中有多个 Prover(由不同实体控制)。L2 区块的有效性证明可以切分为不同的证明任务分发给不同的 Prover。最终,Prover 生成的子证明通过聚合得到完整的有效性证明。
Why
本节是为了说明为什么需要去中心化 Prover 网络。
去中心化 Prover 网络相对于 In-house Prover 有以下好处:
没有单点问题,没有审查问题
去中心化 Prover 网络中,单个 Prover 宕机也不会影响 ZKRollup 的新状态敲定。
去中心化 Prover 网络中,单个 Prover 无法审查交易,即拒绝为某笔交易生成证明
通过任务切分提高性能
In-house Prover 只能承接完整的有效性证明任务
去中心化 Prover 网络中,有效性证明可以切分为不同的证明任务分发给不同的 Prover,从而提高有效性证明生成的性能
通过竞争降低证明成本
In-house Prover 可以通过垄断得到超额收益
去中心化 Prover 网络中有多个 Prover,单个 Prover 无法得到超额收益
引入更多的实体投入资源研究 ZK 加速技术
In-house Prover 只能得到单个实体的资源投入研究 ZK 加速技术
不同的 Prover 实体为了提升收入会投入资源研究 ZK 加速技术
How
本节是为了说明如何设计去中心化 Prover 市场。
去中心化 Prover 网络要成为可能,需要一个正向循环的去中心化 Prover 市场。否则,无法吸引&留住网络参与者,去中心化 Prover 网络也只是个空中楼阁。读者可以想象一下,一个只有一个 Prover 的 “去中心化 Prover 网络”。
设计框架
笔者提出了去中心化 Prover 市场的设计框架,规范化了一个正向循环去中心化 Prover 市场的必备条件。基于设计框架,我们可以展开设计满足特定需求的具体的去中心化 Prover 市场。
去中心化 Prover 市场存在着以下的信号
Demand: 交易所需的证明资源数量
MaxPrice: 交易愿意支付的最高证明资源单价
Supply: Prover 提供的证明资源数量
MinPrice: Prover 愿意收取的最低证明资源单价
去中心化 Prover 市场机制主要为了确定
InputSet: 构建成 L2 区块的交易集合
OutputSet: 提供有效性证明的 Prover 集合
Input: 交易支付的证明资源单价
Output: Prover 收取的证明资源单价
Usage: Prover 需要消耗的证明资源数量
一个正向循环去中心化 Prover 市场的必备条件,需要满足以下条件
资金流约束
交易支付的证明资源单价需要小于等于愿意支付的最高证明资源单价
Prover 收取的证明资源单价需要大于等于愿意收取的最低证明资源单价
L2 区块收取的证明资源费用需要大于等于 Prover 集合收取的证明资源费用
资源约束
Prover 需要消耗的证明资源数量需要小于等于 Prover 提供的证明资源数量
L2 区块需要的证明资源总量等于 Prover 需要消耗的证明资源总量
设计目标
基于设计框架,我们可以设计出最低限度的正向循环去中心化 Prover 市场,然而这并不足够。实际上满足设计框架的中心化 Prover 市场有无数多种。因此,我们需要更具 ZKRollup 本身的需求以及设计偏好,选择恰当的设计目标进行优化,得到合适的市场机制。
笔者列举了一些潜在的设计目标供参考
最大化收到的交易手续费
最大化 Sequencer 利润
最大化处理的证明资源
最大化处理的交易笔数
最小化交易支付的资源单价
最大化 Prover 收取的资源单价
值得注意的是,设计目标没有对错之分,主要看 ZKRollup 本身的需求和偏好。不同的设计目标会引向不同的去中心化 Prover 市场的设计。
理想特性
去中心化 Prover 市场而言有一些希望达到的理想特性。然而,这些特性很可能无法满足或者同时满足,一般用于分析去中心化 Prover 市场而非设计。
高效市场(Efficiency)
高效市场指的是市场是否达到了均衡,可以简单理解为市场供给等于需求。(生产者剩余和消费者剩余之和最大)
在去中心化 Prover 的场景中,值的是交易对证明资源的需求等于 Prover 对证明资源的供给。
激励相容(Incentive-compatibility)
激励相容值得是用户和 Prover 的诚实策略至少是纳什均衡策略。类似于囚徒困境中,角色 A 和角色 B 会选择保持诚实。
在去中心化 Prover 市场中,User 和 Prover 作恶的一种值得注意的手段是女巫攻击。例如,Prover 伪造了很多个其他马甲,想提升被选中的概率。
抗 Prover 共谋(Collusion Resistance for Provers)
共谋的场景是激励相容没有覆盖的。类似于囚徒困境中,角色 A 和角色 B 共谋的情况下,角色 A 和角色 B 会选择欺骗而非诚实。
在去中心化 Prover 市场中只针对 Prover 而不针对用户的原因:
用户比较去中心化,比较难达成共谋
Prover 因其计算密集型的特性,天然没那么去中心化,比较容易达成共谋
链下协议(Off-chain Agreement Proofness)
链下协议指的是用户或者 Prover 绕开去中心化 Prover 市场协议作恶。
例如,Prover A 愿意收取的最低证明资源单价为 15。然而,Prover B 与 Prover A 达成链下协议牟利
Prover A 表明愿意收取的最低证明资源单价为 10
Prover B 通过链下给 Prover A 补贴 6
对于 Prover A 而言是划算的买卖
对于 Prover B 而言 Prover A 的假报价会使自身获益
去中心化 Prover 市场之外
去中心化 Prover 市场范畴内参与者的作恶主要是为了
降低自身的支出
提高自身的收入
实际上,参与者可能会在去中心化 Prover 市场范畴外作恶。例如,Prover 虽然得到了有利可图生成证明的生意,但他的目的是让链推迟敲定/无法敲定,因此拒绝产生有效果性证明,显然这是去中心化 Prover 市场无法涵盖的。
针对这些问题,我们需要设计额外的机制去处理,这是 ZKRollup Economics 另外的主题。
Next
在下一篇文章,笔者会基于本文的设计框架对几种去中心化 Prover 市场的设计进行分析。
参考资料
https://arxiv.org/pdf/2404.06495
https://en.wikipedia.org/wiki/Nash_equilibrium
https://medium.com/taipei-ethereum-meetup/introduction-of-starknet-account-abstraction-2c343b561d6e
https://zh.wikipedia.org/zh-cn/%E7%B6%93%E6%BF%9F%E5%89%A9%E9%A4%98#%E6%B6%88%E8%B4%B9%E8%80%85%E5%89%A9%E4%BD%99
https://en.wikipedia.org/wiki/Prisoner%27s_dilemma#:~:text=In%20casual%20usage%2C%20the%20label,expensive%20to%20coordinate%20their%20activities.