原文作者:?Ethereum
创作者:Xinyang
审核者:DAOctor
原文:?TheRisksofLSD
背景
自从ETH2提上日程后,人们就sharding讨论了很长时间。danksharding提出后,社区似乎对数据分片达成了共识,将执行权留给了L2,而最初的多委员会执行分片设计由于其复杂性而很少被谈论。但我认为执行分片仍需深入研究,它的一些属性仍然可以使用,尤其是它的安全模型。
在这篇文章中,将提出CollaborativeRollup,一种新型的Rollup,它基于从执行分片方案派生的多委员会,因此具有相同的安全模型。与ZKRollup相比,它可以轻松地完全兼容EVM,而zkEVM仍然很难解析一些操作码。与OptimisticRollup相比,CollaborativeRollup不需要一段长时间的挑战期。
Web3 内容发布平台 Mirror 由于负载而遭到中断:5月16日消息,Web3 内容发布平台 Mirror 表示,Mirror 应用当前由于负载而遭到中断,团队正在调查根本原因。[2023/5/16 15:06:43]
概述
CollaborativeRollup的关键组件包括生产者节点、背书节点、管理合约和状态合约。
人们可以质押代币并将其公钥注册到MC,成为PN或EN。我们将根据质押数量选择前N个EN,并通过RANDAO或VRF等可信任的随机来源将它们随机分发到M个委员会中。委员会的信息也由MC管理。
PN以数据包的形式收集L2交易,通过在EVM中运行交易生成执行结果,并将结果发送给EN委员会进行背书。EN通过在其本地EVM中实际执行交易来验证结果。如果结果有效,EN签署结果作为背书并广播它们。委员会中收集到至少2/3EN的背书的,可以将这些BLS签名聚合为证明,并像其他Rollup一样将执行结果、证明和交易提交到链上。
Cronos计划于1月17日完成主网升级,升级后节点启动时间或减少约50%:12月30日消息,Layer1区块链Cronos宣布将于2023年1月17日将主网络升级到Cronos V1.0 “Galileo”。Cronos v1.0中引入的主要改进如下:内存池优先级进一步扩展TPS;优化节点存储:全节点存储减少30%;GRPC查询并发响应等节点性能提升;节点启动时间普遍减少约50%;新的Cosmos功能为EVM/Cosmos互操作性(IBC激励、IBC代币转移备忘录字段)提供更好的便利。目前开发人员已经可以在Cronos测试网上测试Cronos V1.0。[2022/12/30 22:16:29]
安全模型
如上所述,CollaborativeRollup的安全模型依赖于随机委员会的背书,就像ETH2原来讨论的执行分片一样。众所周知,单个节点不能被信任,而一组随机选择的节点却可以。如果我们假设少于1/3的节点是恶意的,并且委员会的多数是2/3,那么只有当恶意节点无法在单个委员会中获得多数时,才能保持安全。
美参议员:如果SBF不参加12月14日举行的FTX相关听证会就准备发出传票:12月8日消息,美国参议员Sherrod Brown和Patrick Toomey表示,如果SBF不参加参议院银行、住房和城市事务委员会在12月14日举行的FTX崩溃相关听证会,他们就准备发出传票。
注,美国众议院金融服务委员会也将于12月13日举办FTX崩溃相关听证会,SBF已被要求在12月13日的听证会上作证。(彭博社)[2022/12/8 21:30:44]
接下来,我们将估计恶意节点在委员会中获得多数席位的概率。设N是总节点的大小,其中K个是恶意的。n是委员会大小,k是对手大小,因此一个委员会中恶意节点数量的概率分布可以建模为超几何分布:
所求的概率
以太坊网络当前已销毁超258.49万枚ETH:金色财经报道,据Ultrasound数据显示,截止目前,以太坊网络总共销毁2,584,945.22枚ETH。其中,ETHtransfers销毁238,536.21枚ETH,OpenSea销毁230,049.97枚ETH,UniswapV2销毁136,047.10枚。注:自以太坊伦敦升级引入EIP-1559后,以太坊网络会根据交易需求和区块大小动态调整每笔交易的BaseFee,而这部分的费用将直接燃烧销毁。[2022/8/15 12:25:10]
遵循累积超几何分布,当很大时,它会降级到二项分布:
其中p是1/3。我们可以看到,当n足够大时,恶意节点在委员会中获得多数席位的概率可以忽略不计。这里,“多数”可以理解为POS中的质押份额。下面列举一些概率情形:
另一方面,如果一个包含非法验证的背书被某个故障节点签名,无论它是否可以获得足够的签名来提交给L1,签名的无效背书本身都可以被视为欺诈证明并提交给L1以惩罚签名节点,这是一种1-of-N信任模式。
背书和验证
L2中的状态可以组织为一棵Verkle树,它使用KZG作为其状态承诺,也像MPT一样实现trie。因此,状态根是整棵树的承诺。我们在这里使用Verkle树,因为它的proof比Merkle树小。给定N个叶子的k-ary树,则是
PN在其本地EVM中执行交易后,我们可以获得输入状态、输出状态和输出状态根。那么执行结果可以作如下呈现:
执行结果包括背书费用信息,最后状态根,结果的状态根,交易的Merkle根,以及相关的输入状态和Verkle证明,属于最后状态根输出状态的Verkle路径,需要执行的交易,以及上面三个根的签名和背书费用信息。
当EN接收到一个合格的PN产生的执行结果时,它首先检查它是否具有最后状态根,然后验证输入状态的Verkle证明以及输出状态的路径。如果以上所有内容都有效,我们将拥有一个包含所有所需状态的部分状态树。之后,检查交易的Merkle根并在该状态树顶部使用本地EVM运行所有交易以生成输出状态树。最后,检查输出状态树的根是否与执行结果中的根相等。如果为真,则通过对执行结果中三个根的数据进行签名来生成背书,并且值为1。否则,EN只对与上述内容相同的数据签名,但值为0。
任何签名的EN,收到来自2/3委员会的背书的,可以将背书中的签名聚合为一个以形成最终背书,并将其提交给L1,由合约调用交易,就像其他rollup一样。L1链通过验证签名以及背书中交易的Merkle根来检查背书。如果它们都有效且状态为1,则将接受rollup交易并将状态根设置到状态合约SC。
费用和激励
如上所述,承诺到L1的交易费用将由EN支付。还有一点需要说明的是,在发送给EN进行背书的执行结果中有背书费用信息。SC中的每个PN都有一个背书费用帐户,用于支付该费用。EN将检查账户余额以确定是否足以支付要背书的执行结果中设定的费用。一定比例的背书费用会被支付给成功将背书交易发送到L1的EN,所有签署背书的EN将平分剩余的费用。
背书费用信息也可以设计为包括GAS_PRICE和GAS_LIMIT。无论执行结果是否有效,SN都可以收集委员会2/3的签名,承诺到L1,并收取背书费。
另外,如上所述,这里有一个渔夫机制。任何无效的背书,无论是否已承诺到L1,都可以作为恶意证明并由任何节点发送到L1。支持错误背书的EN的质押将被削减,一部分削减的质押将作为激励提供给证明发送节点。
来源:金色财经
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。