来源|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委员会对中间区块做证明投票
Vitalik Buterin:已把2011年制作的游戏上传到IPFS:金色财经报道,以太坊联合创始人Vitalik Buterin在社交媒体上称,我把在加密前(2011年)做的一款游戏上传到IPFS。祝好运。
对此,Aave及LensProtocol创始人Stani表示,一件很酷的事情是,有一个哈希值,所以你可以随时找到游戏并玩它。不知道你用什么来创建它,但是带有Unity的webGL使得为IPFS渲染变得非常容易。[2023/5/23 15:20:23]
10.67—13.33秒—聚合中间区块的证明
13.33—16秒—发布下一个执行头部
如果错失了一个信标区块,下一个slot会被换为信标区块而不是中间区块。
图表解释
关键的特性
从分叉选择的角度来看,该系统可以被描述为就像现在的信标链,只是委员会的规模是不平均的,且会有一个(区块,slot)分叉选择。唯一的区别是有些区块只是用来选择为紧随其后的区块选择提议者。这就简化了分析。
V神、孙宇晨支持的生命科学组织VitaDAO拟设营利性公司推动长寿技术发展:4月6日消息,由以太坊创始人“V神”支持创立的生命科学研究去中心化组织VitaDAO在推特宣布,正在投票决定是否创建一家营利性公司来确保和分配长寿研究的资金。该公司将命名为 VitaTech,作为 VitaDAO 的子公司/附属公司运营,它将利用公共资金来授权美国大学开发的长寿技术,并支持它们的持续发展。除V神外,波场TRON创始人孙宇晨此前也曾大力支持VitaDAO的发展。
今年1月,VitaDAO宣布完成410 万美元融资,融资方包括Coinbase的前首席技术官 Balaji Srinivasan、全球最大的药企辉瑞的投资部门 Pfizer Ventures,这也是辉瑞在 Web3 领域的首笔投资。VitaDAO 表示将会利用这笔资金进一步资助长寿研究项目和将于明年从DAO中剥离出来的生物技术初创公司。
去年10月,孙宇晨向VitaDAO旗下“长寿奖基金”进行捐款,孙宇晨也因此次捐赠成为“长寿奖基金”的第二大捐赠者,仅次于以太坊创始人V神。[2023/4/6 13:47:30]
每个步骤之间的委员会有助于确保每个步骤都是“安全的“,并且减少被单个行动者滥用带来的影响。
Vitalik Buterin(V神)突然现身基辅科技峰会:金色财经报道,以太坊联合创始人Vitalik Buterin(V神)突然现身基辅科技峰会,Buterin 在基辅现身特别值得注意,因为目前距离以太坊备受期待的合并只有几天的时间。作为峰会闭幕发言人之一,Buterin表示区块链、以太坊、加密世界中的很多人在关心和支持乌克兰,其他峰会发言人包括Binance乌克兰总经理 Kiril Khomiakov、NEAR Protocol 联合创始人Illia Polosukhin和乌克兰创业基金董事 Pavlo Kartashov。(coindesk)[2022/9/11 13:22:08]
构建者的安全特性
在发布出价那一步,构建者看到执行头部,并知道它是否安全(如果有很多反对票或缺失的证明,这个执行头部可能是不安全的)。
如果执行头部是安全的,除非出现大于45%的攻击、非常大量的罚没,或非常严重的网络延迟,执行头部才可能被回滚。在这种情况下,构建者可以放心进行安全出价。
如果执行头部是不安全的,在他们发布他们的主体后区块链还是有重组的风险,以“偷走”他们的MEV机会。在这种情况下,构建者看到这个风险后可以调低他们从这个风险获得风险溢价的出价。
现场 | Vitalik Buterin:区块链可以被视作是一种促进各种经济协调的工具:金色财经现场报道,今日,由金色财经提供战略媒体支持的以太坊产业发展峰会在香港举办,会上以太坊创始人Vitalik Buterin及其团队接受了包括金色财经在内的中外媒体采访。在回答“区块链究竟能给我们这个社会带来些什么”这一问题时,Vitalik Buterin表示:“我认为你可以把区块链看作是一种促进各种经济协调的工具,就像其他不同种类的经济机制一样,人们可以在互联网上合作制作内容,然后再各自获得报酬,这样就会鼓励人们更具有责任心,他们在制作新闻的时候也会更负责,不会出现虚假新闻。现阶段,人们正在提出各种不同的工具、或是不同的经济机制,鼓励大家以更广泛的受益形式来工作。传统支付方式很难满足这种协作工作模式,因此区块链能够创建全新的经济机制。我写论文的时候,也得到了开发者们的支持。”[2018/9/8]
在发布中间区块时,会有两种情况:
信标区块还未被发布。在这种情况里,证明委员会已经对该区块投反对票,因此中间区块产生者(即构建者)可以安全地不发布,也不会受到惩罚。
信标区块已经发布。在这种情况下,中间区块会有“提议者得分激励(proposerboost)',这个激励会比整个证明委员会幅度的大,因此如果构建者发布了,他们的区块将在其余N-1证明委员会的证明里获胜。
以太坊创始人Vitalik:若区块链沦为富人的工具 整个行业将变得无趣:Vitalik近期在采访中分享了自己对区块链的看法,他说:“如果只有富人才能使用区块链,那么整个行业就会变得很无趣。”另外,他还对PoW和PoS进行了对比,他认为前者很容易造成硬件中心化,而后者通过适当的奖惩机制将更具优势。[2018/1/5]
这确保了如果证明委员会是诚实的,且网络延迟没有非常严重的情况下,构建者就能保证:
如果他们发布了区块就能被打包
如果他们因为信标区块头缺失而不发布区块是不会被惩罚的
构建者有大约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:
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付费。提议者序列被延迟确保延迟某个提议者的执行区块对于当被提议的区块是高价值时窃取未来的提议权是没用的。
对分片可能的延展
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。