okx

Vitalik:提案者与构建者分离方案的具体设计

时间:2023-07-02|浏览:142

来源: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委员会对中间区块进行证明投票。 - 10.67-13.33秒:聚合中间区块的证明。 - 13.33-16秒:发布下一个执行头部。

如果错失了一个信标区块,下一个slot会被换为信标区块而不是中间区块。

图表解释关键的特性: 从分叉选择的角度来看,该系统可以被描述为就像现在的信标链,只是委员会的规模是不平均的,且会有一个(区块,slot)分叉选择。唯一的区别是有些区块只是用来选择为紧随其后的区块选择提议者。这就简化了分析。

每个步骤之间的委员会有助于确保每个步骤都是“安全的“,并且减少被单个行动者滥用带来的影响。

构建者的安全特性: 在发布出价那一步,构建者看到执行头部,并知道它是否安全(如果有很多反对票或缺失的证明,这个执行头部可能是不安全的)。

如果执行头部是安全的,除非出现大于45%的攻击、非常大量的罚没,或非常严重的网络延迟,执行头部才可能被回滚。在这种情况下,构建者可以放心进行安全出价。

如果执行头部是不安全的,在他们发布他们的主体后区块链还是有重组的风险,以“偷走”他们的MEV机会。在这种情况下,构建者看到这个风险后可以调低他们从这个风险获得风险溢价的出价。

在发布中间区块时,会有两种情况: 1. 信标区块还未被发布。在这种情况里,证明委员会已经对该区块投反对票,因此中间区块产生者(即构建者)可以安全地不发布,也不会受到惩罚。 2. 信标区块已经发布。在这种情况下,中间区块会有“提议者得分激励(proposerboost)",这个激励会比整个证明委员会幅度的大,因此如果构建者发布了,他们的区块将在其余N-1证明委员会的证明里获胜。

这确保了如果证明委员会是诚实的,且网络延迟没有非常严重的情况下,构建者就能保证: - 如果他们发布了区块就能被打包 - 如果他们因为信标区块头缺失而不发布区块是不会被惩罚的

构建者有大约5.33-8秒的时间发布区块。在他们看到信标区块时可以放心马上发布;但是,他们可能会想等看到更多证明时再发布,因为他们打包证明会得到奖励(被打包的证明者也会得到奖励)。他们可以自由地在这段时间内(即5.33秒的窗口,获得打包证明奖励与第8秒的窗口没能获得打包证明奖励)协商权衡。

信标链规范变更的概要: - 提议者索引定义 - 把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[builder_bid.message.builder_index]: - bls.Verify(val.pubkey,compute_sign

热点:ETH

欧易

欧易(OKX)

用戶喜愛的交易所

币安

币安(Binance)

已有账号登陆后会弹出下载

« 上一条| 下一条 »
区块链交流群
数藏交流群

合作伙伴

非小号交易所排名-专业的交易行情资讯门户网站,提供区块链比特币行情查询、比特币价格、比特币钱包、比特币智能合约、比特币量化交易策略分析,狗狗币以太坊以太币玩客币雷达币波场环保币柚子币莱特币瑞波币公信宝等虚拟加密电子数字货币价格查询汇率换算,币看比特儿火币网币安网欧易虎符抹茶XMEX合约交易所APP,比特币挖矿金色财经巴比特范非小号资讯平台。
非小号行情 yonghaoka.cn 飞鸟用好卡 ©2020-2024版权所有 桂ICP备18005582号-1