当前位置:首页区块链以太坊 2.0:公开单领导人选举(PSLE)+秘密机率后备选举(SPBE)

以太坊 2.0:公开单领导人选举(PSLE)+秘密机率后备选举(SPBE)

以太坊 2.0:公开单领导人选举(PSLE)+秘密机率后备选举(SPBE)

公开单领导人选举(PSLE)+秘密概率后备选举(SPBE)(具体来说,还有其他不错的翻译,请给所有神灵留言)

为什么在ETH 2中只有一个领导者?

ETH 2的每个插槽(而不是多个插槽)中,对提议的块进行一次领导者选举有助于减少“额外工作”和p2p消息开销,并通过“多个”减少潜在的块头数量。叉子。

每个插槽都有多个潜在的负责人,这将导致委员会内的身份验证票数不同,从而降低可聚集性,增加p2p消息开销并增加请求者块大小。

在阶段1+中添加分片后,分片提案中的多个领导者将使此不同的证明问题(每个插槽的BEACON_PROPOSERS_PER_SLOT * SHARD_PROPOSERS_PER_SLOT选项)更加复杂,这不仅会增加成本,而且会降低成功进行交叉链接的可能性在给定的插槽中。如果插槽中的分片提议者数量为SHARD_PROPOSERS_PER_SLOT,并且每个选择器具有相同的选择概率,则证明将在不同的分片提议之间粗略划分,并且在大多数情况下,任何SHARD_PROPOSERS_PER_SLOTgt; 1将无法获得2/3交叉链接投票。

单领导人选举的弊端

公开或秘密的单一领导者选举(分别为PSLE和SSLE)都具有明显的缺点:在特定时间段内,活动存在单点故障。

这种主动故障可能有两种形式(通过共识协议无法区分):

验证节点是否脱机,连接不良或未生成块

验证节点已被恶意攻击者专门删除

(1)最基本-如果验证节点仅处于脱机状态,则没有办法。反对派(1)是一个大问题。有论点是,在总体提案中淘汰机会会产生巨大的机会成本(约占总奖励的1/8),但是由于这个原因,我们仍然希望有一定数量的空位。

考虑到验证节点信息的泄漏(即共识消息的频繁广播),在许多情况下,典节点的去匿名化是无关紧要的。 PSLE使集体提议者在指定的时隙附近容易受到有针对性的DoS攻击。

尽管有许多其他协议工具可用于阻止提议者(TOR,cloudflare / etc,使用哨兵节点体系结构等),但是其中许多解决方案都不令人满意(例如,更高的延迟,中心化的依赖性,更高的基础架构成本等),这对于爱好者/节点守护者来说尤其重要(我们拥有的验证节点的类对于去中心化ETH 2是必不可少的)。

(2)通常,可以通过使领导者选择一个秘密(SSLE)来解决,因此,如果您不攻击所有节点,则无法对特定节点执行有针对性的攻击,但是SSLE难以实施并且尚未准备好良好的生产。

建议的解决方案

鉴于目前秘密单身领导人选举目前难以执行且尚未准备就绪,并且(1)始终是一个边际问题,因此我们建议将公开单身选举(PSLE)+秘密概率后备选举(SPBE)设置为混合解决方案,以提高网络从攻击/脱机提议者中恢复的能力。即使SSLE准备就绪,SSLE + SPBE仍可以用作针对(1)的附加弹性。

PSLE组件的运行方式与今天的大提议者主持人选举完全相同,并且SPBE提供了备份,以防所选的大提议者不在其工作中出现。

SPBE会通过可在整体提案中证明的本地机密(例如广告位签名和时代的随机种子)来概率地选择一组备用提案人。可以采用与聚合选择(请参见is_aggregator)非常相似的方式进行选择,该聚合选择具有用于目标备份数量的可调参数-TARGET_BACKUPS_PER_SLOT。

如果在本地未看到来自公共负责人的阻止提议,则选定的备用提议者通过指定的时隙创建并广播部分阻止(例如ETH 2 stage 0配置中的1/6)。节点不考虑/广播早期备份。

当在LMD GHOST中打破平局时,公共领导者建议给与优先考虑,然后交替提议提案,然后按词典序排列。在正常情况下,公共领导者会按时提交提案。座位委员会将提案视为提案负责人,而不考虑任何备份。当公共领导块按时/可用时,自然会选择分叉点。 [请记住,在插槽S + 1之前,我们将不考虑插槽S的证明,因此,该建议是权重为0的叶节点,建议使用领导者块具有并列优势]

具体规格变更

将backup_proposer_proof:BLSSignature添加到BeaconBlock

修改process_block_header 1中的提议者断言以允许备份提议:

DeFis_alid_leader_proposal(状态:信标状态,块:信标块)-gt;布尔:返回(块.proposer_index == get_beacon_proposer_index(状态)和块.backup_proposer_proof == BLSSignature()#emptybytes)DeFis_alid_backup(ededed(当前状态)纪元,DOMAIN_BEACON_PROPOSER)+ int_to_bytes(state.sLoot,length = 8)signing_root = compute_signing_root(seed,get_domain(state,DOMAIN_BACKUP_PROPOSERstate)proposer#indexer()publicleadERCanmakebackupproposalblock.proposer_index()。propproper_index()。 ,block.backup_proposer_proof))DeFiprocess_block_header(state:BeaconState,block:BeaconBlock)-gt;无:#correct–index#correct .proposer_index == get_beacon_proposer_index(state)assert(is_alid_leader_proposal(state,block)oris_alid_backup_property …

记住要选择存储中哪些块是fork中的“ leader”块。例如,添加is_leader:Dict [Root,bool]存储在on_block中,并建议使用leader(True)或backup(False)跟踪每个块。

修改分叉选项的get_head,以使is_leader和第二个以字典顺序平均分配。

DeFiget_head(store:Store)-gt; Root:… whileTrue:…#Sortbylatestattestingbalancewithtiesbrokenleaderblocksthenlexicographicallyhead = max(children,key = lambdaroot:(get_latest_attesting_balance(store,root),is_leader [root],#tiebreakbyleaderroot,#tiebreakbylexicographic)

将其他职责添加到“验证过程”指南中。如果您未看到领导者的有效建议,则备份块将广播到SECONDS_PER_SLOT // 6的插槽中。

修改process_randao,process_attestation和slash_alidator以使用block.proposer_index(而不是get_beacon_proposer_index)进行提议者查找,因为get_beacon_proposer_index仅适用于领导者。这将需要更改每个功能的功能签名,以确保信息传输。

论坛

及时的替代提议者

我们可能会担心,对于备份提议者,请在任何选定时间段的开始时及时创建和广播备份建议,而不是等待是否确实需要备份。这主要是在每个插槽的带宽-〜1 + TARGET_BACKUPS_PER_SLOT块方面损害网络。由于前叉选项的修改,当领导者处于活动状态时,不会导致更高的前叉度。

可以在有关gossipsub beacon_block的主题中添加其他约束,以确保不传播早期备份块(在1/6时隙之前),并且如果看到前导块,则将其完全删除。在大多数网络遵循此传播规则的情况下,通常,当领导者处于活动状态且等待时间较短时,即使备用提议者尝试分发数据块,也会在一跳或两跳之内将其丢弃。

攻击者替代提议者

我们可能担心替代提议者攻击领导者以增加将替代提议者包括在规范链中的机会变得合理。

在验证器内部创建此额外的攻击媒介/诱因是合理的考虑。没有SPBE,想要破坏提议者的活动集通常仅限于外部攻击者,而SPBE则创建了新的验证者内部动机来进行分析。

有几件事要注意

1.对SPBE的这种攻击将退化为一条生命链,这是件好事。

2.进行这种攻击的动机可以说是非常低的,因为获得备份建议的实际机会只是TARGET_BACKUPS_PER_SLOT的一小部分,因此在实验中,这只是相对而言是部分的奖励小(相比于关税)。

3.为了进一步减少备份方案的额外攻击动机,我们可以使备份方案仅接受方案奖励// backup_DISCOUNT_FACTOR,其中backup_DISCOUNT_FACTORgt; = 2。随着数量的增加,备份建议将更多地成为一种利他行为,以帮助提高网络的生命力(我认为大多数诚实的验证者都愿意这样做),而不是仅靠获利行为,可能会损害正常运行。

也就是说,在PSLE + SPBE中,备份提议者可以执行的攻击是主要问题,应进一步讨论和分析。

共识的复杂性和第0阶段的交付

尽管我想在那里讨论这种潜在算法,但我仍然主张不要在阶段0中引入SPBE,以免干扰阶段0的交付。如果目标DoS成为主网上的一个实际问题,我们可以将其用作选项。此外,将PSLE + SPBE声明为公共选项可能从一开始就防止了此类攻击。

根据进一步的讨论,观察到的主网攻击和SSLE的进展,我们可以考虑将其集成到后续阶段/分支中。

温馨提示:

文章标题:以太坊 2.0:公开单领导人选举(PSLE)+秘密机率后备选举(SPBE)

文章链接:https://www.btchangqing.cn/52649.html

更新时间:2020年07月10日

本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。

以太坊 2.0:公开单领导人选举(PSLE)+秘密机率后备选举(SPBE)1
区块链

黑本科技首席执行官郭鹏:七月是Filecoin挖矿的黄金时间

2020-7-10 11:07:33

区块链

建安发布官方公告:生产经营正常完成,管理迭代完成,治理更加统一

2020-7-10 11:50:46

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索