来源|ethresear.ch
作者|VitalikButerin
翻译|EthereumCN
原标题:《Vitalik:两个slot的提议者/构建者分离方案》
译者注:目前新的分片方案Danksharding融合了PBS(提议者/构建者分离方案)和crList的设计。其中,PBS方案的构造设计采用的是两个slot的PBS,这也是crList的设计基础。关于这种“混合式PBS”的抗审查分析,可以参见《Vitalik:如何提高PBS方案的交易抗审查性》。本文是两个slot的PBS方案的具体设计。
在一个slot对里的事件顺序
就在0秒之前—发布执行头部发布:任何人都可以发布一个执行头部,它包含一个执行哈希,一个出价,和一个构建者的签名。
0秒—信标区块期限:信标区块必须打包胜出的执行头部
0—2.67秒—对信标区块做证明:只有一个委员会对信标区块做证明投票
8秒—中间区块的期限:胜出的区块构建者发布一个中间区块,由执行区块主体和他们可以找到的对信标区块尽可能多的证明组成。
8—10.67秒—对中间区块的证明:剩下的N-1委员会对中间区块做证明投票
ZK-EVM Kakarot完成pre-seed轮融资,Vitalik、StarkWare等参投:6月2日消息,zkEVM 开发平台 Kakarot 完成Pre-Seed 轮融资,StarkWare、LambdaClass 和天使投资人 Vitalik、Nicolas Bacca、Rand Hindi 等参投。
Kakarot zkEVM 是 Cairo 实施的 EVM,利用 STARK 证明来证明交易和区块,确保透明度和安全性。据介绍,Kakarot zkEVM 发展分为三个阶段:1、作为 EVM 存在于 Starknet L2 上;2、和 Starknet 定序器 Madara 合力创建第 3 层 zkEVM;3、Kakarot 和 Madara 组合启用类型 1 zkEVM。[2023/6/2 11:54:47]
10.67—13.33秒—聚合中间区块的证明
13.33—16秒—发布下一个执行头部
如果错失了一个信标区块,下一个slot会被换为信标区块而不是中间区块。
图表解释
Terra Classic独立开发团队TerraCVita完成100万美元融资:1月10日消息,Terra Classic独立开发团队TerraCVita宣布完成100万美元融资,投资者未知。本轮融资旨在推动旗下去中心化金融项目Terraport发展,该项目计划推出一个社区去中心化交易平台Terra Community DEX,预计将在2023年一季度上线。[2023/1/10 11:04:30]
关键的特性
从分叉选择的角度来看,该系统可以被描述为就像现在的信标链,只是委员会的规模是不平均的,且会有一个(区块,slot)分叉选择。唯一的区别是有些区块只是用来选择为紧随其后的区块选择提议者。这就简化了分析。
每个步骤之间的委员会有助于确保每个步骤都是“安全的“,并且减少被单个行动者滥用带来的影响。
构建者的安全特性
在发布出价那一步,构建者看到执行头部,并知道它是否安全(如果有很多反对票或缺失的证明,这个执行头部可能是不安全的)。
如果执行头部是安全的,除非出现大于45%的攻击、非常大量的罚没,或非常严重的网络延迟,执行头部才可能被回滚。在这种情况下,构建者可以放心进行安全出价。
Vitalik Buterin销毁410万亿枚SHIB,占SHIB总供应量的约41%:5月17日消息,今日5点45分,以太坊创始人Vitalik Buterin将其钱包中超410万亿枚SHIB打入黑洞地址进行销毁,价值约73亿美元,占SHIB总供应量的约41%,目前其钱包中仍有46万亿枚SHIB。
此前报道,5月13日,Vitalik Buterin将包括6600亿枚ShibaInu代币SHIB等的大量meme代币换为ETH捐助给慈善机构,还向印度新冠加密救济基金会捐赠50万亿枚SHIB。[2021/5/17 22:09:41]
如果执行头部是不安全的,在他们发布他们的主体后区块链还是有重组的风险,以“偷走”他们的MEV机会。在这种情况下,构建者看到这个风险后可以调低他们从这个风险获得风险溢价的出价。
在发布中间区块时,会有两种情况:
信标区块还未被发布。在这种情况里,证明委员会已经对该区块投反对票,因此中间区块产生者(即构建者)可以安全地不发布,也不会受到惩罚。
信标区块已经发布。在这种情况下,中间区块会有“提议者得分激励(proposerboost)',这个激励会比整个证明委员会幅度的大,因此如果构建者发布了,他们的区块将在其余N-1证明委员会的证明里获胜。
Diginex与Itiviti扩大合作 以采用后者的Tbricks自动化解决方案:全球金融机构技术和服务提供商Itiviti宣布扩大了与数字资产金融服务和咨询公司Diginex的合作关系,后者将实施Itiviti的Tbricks自动化解决方案。Diginex选择Tbricks为其机构客户提供风险、损益表和投资组合管理。值得一提的是,该公司将使用Tbricks推出Diginex Access,这是一种针对数字资产的多地点交易、投资组合和风险管理服务,将由Tbricks自动化技术提供支持。(Finance Magnates)[2020/7/16]
这确保了如果证明委员会是诚实的,且网络延迟没有非常严重的情况下,构建者就能保证:
如果他们发布了区块就能被打包
如果他们因为信标区块头缺失而不发布区块是不会被惩罚的
构建者有大约5.33—8秒的时间发布区块。在他们看到信标区块时可以放心马上发布;但是,他们可能会想等看到更多证明时再发布,因为他们打包证明会得到奖励(被打包的证明者也会得到奖励)。他们可以自由地在这段时间内(即5.33秒的窗口,获得打包证明奖励与第8秒的窗口没能获得打包证明奖励)协商权衡。
信标链规范变更的概要?
Vitalik Buterin发布新的概念验证:本周一以太坊设计者Vitalik Buterin发布了一个新的概念验证,演示了如何将分片扩展解决方案“栓在”Ethereum主链上。并发推表示“分片即将来临”。该演示遵循Ethereum联合创始人最近推出的“最小分片协议”计划,旨在显着提高以太坊区块链的事务吞吐量和可扩展性。[2018/5/1]
提议者索引定义
把get_random_proposer_index(state:State)设为现在get_beacon_proposer_index(state)返回的内容。
添加状态变量chosen_builder_index和chosen_exec_block_hash。如果slot是空的,设state.chosen_builder_index=NO_BUILDER(一个等于2**64-1的常量)。如果slot包含一个信标区块,它会包含BuilderBid,设:
state.chosen_builder_index=builder_bid.message.builder_index
state.chosen_exec_block_hash=builder_bid.message.exec_block_hash
get_beacon_proposer_index(state:State)的定义如下:
如果state.chosen_builder_index==NO_BUILDER,返回get_random_proposer_index(state)
否则,返回state.chosen_builder_index
携有出价区块的条件
如果state.chosen_builder_index==NO_BUILDER,这个区块需要包含一个BuilderBid,且可能不包含一个ExecBody。builder_bid需要通过以下检查,且其中val=state.validators:
bls.Verify(val.pubkey,compute_signing_root(builder_bid.message),builder_bid.signature)
val.activation_epoch==FAR_FUTURE_EPOCHorval.withdrawable_epoch<=get_current_epoch(state)
val.balance>=builder_bid.bid_amount
在处理逻辑中添加余额转账:
val.balance-=builder_bid.bid_amount
state.validators.balance+=builder_bid.bid_amount
把get_committee_count_per_slot改为接受输入(state:BeaconState,slot:Slot)(而不是epoch)。如果一个slot出现state.chosen_builder_index==NO_BUILDER,委员会数应该返回1。
携有执行主体的区块的条件
如果state.chosen_builder_index!=NO_BUILDER,区块需要包含一个ExecBody且可能不包含BuilderBid。ExecBody需要通过以下的检查:
hash_tree_root(exec_body)==state.chosen_exec_block_hash
eth1_validate(exec_body,pre_state=state.latest_exec_state_root)
在处理逻辑中添加:
state.latest_exec_state_root=exec_body.post_state_root
get_committee_count_per_slot应该返回(get_epoch_committee_count(epoch)-state.committees_in_this_epoch_so_far)//(slots_remaining_in_epoch)
如果state.chosen_builder_index!=NO_BUILDER,设state.chosen_builder_index=NO_BUILDER,无论是否有区块。
请注意
slot时间减少到8秒(请记住:执行区块会是每2个slot出现一个)。
所有信标区块,包括携有出价和执行主体的,在分叉选择时都应该有proposerboost。
分叉slot应该改为(block,slot)
可能的延展:通过一项费用延迟发布
如果中间区块的构建者在slotN不发布区块,在slotN+1就没有交易捆可选。整个提议者序列会被往后推一个slot(因此slotN+1的构建者会变成slotN+2的提议者,以此类推),且slotN+1需要选出一个新的随机提议者。构建者会获得另一个机会(即额外的12秒作为松弛空间)来发布。该slotN+1执行区块不能包含任何高价值的共识交易(例如罚没)。但是,他们会被罚款block.basefee*block.target_gas_limit。
原因是他们的执行区块被延迟了一个slot,并前置了一个空的执行区块,因此他们需要为这个slot付费。提议者序列被延迟确保延迟某个提议者的执行区块对于当被提议的区块是高价值时窃取未来的提议权是没用的。
对分片可能的延展
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。