两全其美的 zk rollup 预共识机制_ROL:akro币背后团队

1)太长不看:

本文概述了一种预共识机制,可以实现即时终局性并减少验证gas成本,同时不影响zkRollup的即时资金退出。

2)背景和动机:

在承诺间隔足够短的情况下,zkRollup可以实现即时终局性。在这个方案中,聚合者的信任风险会随间隔时间增长而增加,实现终局性的成本会随间隔时间延长而降低。

首先说明zkRollup的配对验证成本超过20万gas。也就是说,在zkRollup的每个承诺间隔期内,聚合者都需要花费这么多gas来验证并敲定承诺。

我们不能忽略这一成本,因为zkRollup的承诺间隔很短。我们需要承诺来实现即时退出的终局性。只要承诺间隔很短,且恶意聚合者回滚交易的积极性不高,我们就可以实现即时终局性。

基于账户抽象的智能合约钱包Clave已正式推出:8月26日消息,智能合约钱包Clave发推称,正式推出由账户抽象提供支持的智能钱包平台 Clave,支持使用手机、平板电脑或笔记本等安全元件与生物识别身份验证技术实现无密钥或助记词登陆。Clave 将通过“意图”、会话密钥模块与安全模块等交易模拟器等改变用户与区块链交互方式,支持社交恢复。Clave 将首先支持 zkSync,现已开放白名单。[2023/8/26 10:03:34]

尽管我们可以使用递归零知识证明和高效的证明计算系统来聚合多个交易,我们也很难改变承诺间隔。如果我们盲目延长承诺间隔,就会影响安全性。

然后,我们需要思考如何在zkRollup中实现安全的即时终局性和较长的验证间隔。

3)方法:

聚合者的运行成本源自合约上零知识证明验证的gas成本高且承诺间隔短。

因此,我们可以在不影响安全性和可用性的情况下延长验证间隔。

3.1)第一步:跳过零知识证明配对验证

首先,我们最容易想到的解决方案就是跳过配对计算,并引入针对承诺的简单欺诈证明。

聚合者向合约提交证明或验证zkRollup承诺所需的任何东西,但这时不执行配对计算,也就不需要支付20万gas。一段时间过后,这个承诺就会得到验证;这个承诺中的每个状态将成为下一个承诺的公共输入。聚合者需要锁定一些以太币来激励验证者。一旦验证者发现欺诈行为,聚合者就会受到惩罚。

承诺就是公共输入、零知识证明数据、上一个状态根、下一个状态根、交易哈希和聚合者地址这几项的哈希值。

原像由链上事件提供,承诺保存在合约存储内。

这种方法具有很大的优势。

每个人都可以成为瞭望塔,等同于OptimisticRollup中的“验证者”,无需运行全节点或进行任何特殊的起步设置。

数据可得性问题不会发生,因为验证或执行欺诈证明所需的一切数据都在链上发出的事件中。执行欺诈证明时,我们不需要Layer2交易数据及交易结果,因为这些数据全都包含在了零知识证明的公共输入和证明中。

如果恶意聚合者提交了恶意默克尔根,并放弃了所有交易数据和默克尔树数据,我们不需要运行全节点来进行欺诈证明。我们只需检查零知识证明数据,并执行配对验证函数,即可发现这类恶意行为。

但是,上述方法存在安全性问题。

如果Layer1上发生51%攻击,将恶意默克尔根合法化,我们很难阻止。

由于51%攻击的执行成本随底层区块链的出块时间增加而增加,我们需要足够长的验证期限,才能有效提高51%攻击的难度。理想的验证期限是7天,因为ORU的退出期限也是7天,这可以根据挖矿成本和实际的攻击奖励计算得到。

在这种情况下,我们没有理由舍ORU而取上述方案。

3.2)第二步:无需零知识证明验证的预共识承诺,通过递归零知识证明配对实现终局性

我们可以通过以下方式解决上述安全性问题。

我们将这个没有经过零知识证明验证的承诺视为预共识。预共识会通过零知识证明验证限制终局性。

(consensuscommit)=>(pre-consensuscommit)=>(pre-consensuscommit)=>….=>(pre-consensuscommit)=>(consensuscommit)

所有预共识承诺都会通过配对来限制共识。因此,Layer2用户可以享受安全的即时交易终局性。我们需要使用带有递归零知识证明的所有预共识承诺来验证共识承诺。这里有两个电路:预共识电路和递归电路。预共识电路包含采用zkRollup方案的dApp的逻辑。递归电路只需要从Layer1中获取预共识数据作为公共输入。

递归零知识证明可以用来对一段时间内的预共识进行水平合并:与此同时,它也可以用来将大量交易垂直聚合到预共识承诺中。

如果说任何虚假的预共识承诺都会影响带有配对的共识验证,我们总是可以通过零知识证明配对其进行欺诈证明。一旦证明成功,聚合者就会使用零知识证明验证者函数将该承诺删除,然后重新开始进行交易聚合并创建预共识承诺。

如果急的话,资产持有者可以花20万gas通过预共识来达成共识,然后就可以立即退出。正如“第一步”中提到的那样,他们不需要任何特殊设置,即可实现共识终局性,因为所有输入都已聚合,而且可以通过链上事件搜索到。无论验证多少预共识承诺证明,递归验证的gas成本都不会增加,因为这些证明将被哈希到条目哈希中。

51%攻击者无法敲定恶意默克尔根,因为每个根最终都会通过由zk电路实现的合约代码逻辑在链上进行验证。

4)总结:

这种带有欺诈证明的预共识协议及相关数据可访问性可以让zkRollup拥有较长的承诺间隔。这种方法可以大量节省验证计算所需的gas成本。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金宝趣谈

[0:0ms0-8:274ms