FIN:详解信标链的替代性方案:基于累计式委员会的最终确定性模型_AXI

来源|?ethresear.ch

作者|VitalikButerin

这是对信标链提议的一个替代设计方案,信标链可以在比较远的未来切换到这个模型(替代现在计划的CBC),它试图提供以下一些关键特性:

??在正常情况下,提供有意义的单个slot的经济确定性(即类似于Tendermint的特性)

使得即使大多数验证者参与合谋进行单个slot的重组,执行的成本也比现在高得多,从而减少共识可提取价值(consensus-extractablevalue,CEV)

??摆脱对LMDGHOST分叉选择的高度依赖,避免那些已知的缺陷,并需要引入复杂的混合分叉选择规则,以修补这些缺陷。

??有可能会使更低的最低存款额度(depositsize)和更高的验证者数变得可能

??保留经济确定性(economicfinality)最终接近于一个非常大的数值(数百万个ETH)这一特性

安全的共识算法(例如,Tendermint、CasperFFG等)。我们假设共识算法的设计是涉及slot和view(查看视图)的,即它在每个固定时间段尝试达成共识时。我们还假设它把加权的验证者集(现有的拜占庭容错共识算法要增加这一特性是很容易的)作为输入。

韩国交易所Daybit因难以满足新规要求,将于6月1日前自愿关停:韩国当地加密货币交易所Daybit周日表示,由于反法的收紧,该公司将自愿关停业务。运营Daybit的Chain Partners表示,由于监管因素,该平台计划在6月1日前关闭。今年早些时候,区块链技术开发商Coinplug运营的CPDAX也决定关闭。

Daybit表示:“在《报告和使用特定金融交易信息法》最近生效后,由于监管环境变得更加严厉,我们无法提供正常的交易服务,因此Daybit将在6月1日前分阶段停止运营。”Daybit与新韩银行的合同将于6月前到期。业内专家表示,其他许多本地交易所在满足新法规要求方面也面临着类似的障碍,可能会决定效仿Daybit的做法。

一名不愿透露姓名的消息人士称:“目前有10多家交易所完成了(信息安全管理系统)要求,这是希望在韩国金融情报局注册的交易所需要满足的要求之一,但他们很难从当地银行获得实名账户。”该消息人士补充称,“在100多家交易所中,很可能会有更多交易所关闭。”(The Korea Herald)[2021/4/25 20:56:54]

在下面的设计里,我们修改CONSENSUS,使得在每次的查看中,要求做最终敲定的验证者集都是不一样的。也就是说,是把CONSENSUS而不是验证者集作为函数get_validator_set(view_number:int)->Map?(其中int代表验证者余额)的输入,该函数可以生成验证者集的新查看视图。get_validator_set应该具有这样的特性,验证者集从一个视图到下一个视图最多变化1/r,其中r(r=65536)是复原周期长度。更形式化来说,我们希望是这样:

动态 | 区块链安全公司BitGo:计划未来几个月推出加密保险产品:据CoinDesk消息,在美国获批的区块链安全公司BitGo称,公司的下一步计划是在未来几个月推出加密保险产品,保险将覆盖如盗窃等风险。据悉,加密安全初创公司BitGo已在美国获得批准,可以作为数字资产的合格托管人。[2018/9/28]

其中,|x|返回的是x值的绝对值之和,而diff返回的是每个键值相减后的值(例如,diff({a:0.1,b:0.2},{b:0.1,c:0.3})={a:0.1,b:0.1,c:-0.3})。

在实践中,相邻的两个验证者集间的差值会包括现有验证者被扣除的余额,而新加入的验证者的比率与被扣除余额的比率相等。

请注意,只有在之前的验证者还未做最后敲定时,1/r的最大验证者集差值函数才可用。如果之前的验证者集已经最终敲定了,CONSENSUS的实例会改变,因此get_validator_set函数的内部随机性会也会完全改变;在这种情况里,两个相邻的验证者集会变得完全不一样。

请注意,这意味着,如果两个最终敲定视图上的数值相差足够大,CONSENSUS函数现在是可能两个一起敲定的,且不会发生罚没;这是故意如此设计的,而协议的处理方法就与今天CasperFFG处理怠工惩罚一样。

动态 | Bithumb被迫今日起暂停为新用户开立虚拟账户:据ccn援引Business Korea的报道,由于缺乏银行合作伙伴,韩国四大加密货币交易所之一的Bithumb从8月1日起暂停开立新的KYC银行关联虚拟账户。已有账户的客户存取服务不受影响。报早先道称,Bithumb与新韩银行的合约已到期自动终止。目前该交易所正寻求与另一家韩国“四大”银行农协银行签署一份单独的合同,但却遭到拒绝。农协银行的一位官员称,不续约是因为Bithumb仍然存在保护消费者和信息,以及防止方面的问题。鉴于该交易所最近因黑客攻击损失189亿韩元(约合1688万美元),Bithumb的数据处理系统存在漏洞。[2018/8/2]

机制

我们使用两级分叉选择:

??S选择?LATEST_FINALIZED_BLOCK?(最新被敲定的区块)

??从?LATEST_FINALIZED_BLOCK?开始,使用其他的分叉选择(例如LMDGHOST)来选择区块头

在每个slot都能查看一次CONSENSUS算法,将基于get_post_state(LATEST_FINALIZED_BLOCK)?产生的数据的验证者集生成函数作为一项输入。一个有效的提议必须包含一个LATEST_FINALIZED_BLOCK的有效子孙区块。只有当该部分在分叉选择中胜出,成为区块链的一部分时,验证者才会准备并给区块提议投票。

如果CONSENSUS在某个视图中胜出了,那么该视图中被提议的区块就会成为新的LATEST_FINALIZED_BLOCK,改变未来几轮的验证者集。如果它失败了,它需要在下一个slot或view里进行下一次尝试。

注意:slot应该总是等于当前的视图编号加上之前每个成功最终敲定的验证者集的视图编号之和。

我们有以下的惩罚:

??由共识算法决定的常规罚没惩罚

??怠工惩罚:如果区块链无法做最终敲定,每个没有参与最终敲定的验证者都会受到惩罚。这个惩罚是在r/2个slot后将余额减半。

FFG替代方案:单个-slot-epoch的CasperFFG

上述设计的一个替代方案是使用CasperFFG,但要让epoch的长度等同于slot。CasperFFG的工作机制是不一样的,因为它不试图防止同一个委员会对一个区块及其子孙区块做最终敲定。为了适应这种差异,我们需要执行(i)1/4的安全阈值而不是1/3,(ii)这样一条规则:如果一个slot做最终敲定,验证者集最多替换1/4而不是完全替换。

请注意,在这样的设计中,实现一个slot(但不超过一个slot)的重组在理论上是无成本的。另外,在图表最后“直到最大最终确定性的slot"数需要增加4倍。

特性

如果一个区块被最终敲定了,其竞争区块如果要被最终敲定的话,需要发生以下其中一种情况:

??某个委员会(committee)出现问题了,≥1/3的验证者因为双重最终敲定另一个区块而被罚没

??最新近的委员会离线了,在经过r/3个slot后,委员会经过充分混洗能够最终敲定另一个区块而不会被罚没。但是,这带来了严重的怠工惩罚(≥1/3的攻击者余额)

在任何一种情况下,即使要回滚一个被最终敲定的区块也需要至少有DEPOSIT_SIZE*COMMITTEE_SIZE/3(存款额*委员会人数/3)个ETH被烧毁。如果我们设置COMMITTEE_SIZE=131,072(Eth2委员会每个slot的验证者数,理论上最大值为400万),那么这个数值就是1,398,101个ETH。

方案里的一些其他重要特性包括:

??无论有多少验证者存款了,在处理每个slot的?COMMITTEE_SIZE(委员会大小)交易时验证者的负载都很稳定

??验证者的负载会变得更低,因为当他们没有被要求加入委员会时,它们可以休眠

??休眠中的验证者可以快速退出和提款,而不会牺牲安全性。

扩展:用小型委员会进行链确认

如果为了提高效率,我们不得不缩小COMMITTEE_SIZE,我们可以作出下列调整:

??我们把“finalization(最终敲定)”更名为“confirmation(确认)”,以反映单个确认不再代表真正的最终确定性

??不同于选择最新的被确认区块,我们选择的是被确认区块最长链链头的被确认区块(但拒绝回滚由?COMMITTEE_LOOKAHEAD?确认以外的区块,因此?COMMITTEE_LOOKAHEAD?的确认就代表真正的最终确定性)

??get_validator_set?应该只能使用状态的信息,而不是?COMMITTEE_LOOKAHEAD?确认之前的信息

??view的编号应该就是slot的编号(这使得同一个验证者集试图在不同链上达成共识的情况变得更易于被推导出来,这种情况只有在打破一些确认的时候才可能发生)

这个方案保留了以上所有的特性,但它也引入了一个新特性:如果一个区块获得多个确认(例如,该区块被最终敲定了,且一条链的子孙区块又获得k-1个确认,因为共连续获得k个确认会影响该区块),那么回滚该区块就需要在多个委员会违反共识保证。这会使得来自多个委员会的安全水平得以堆积起来:回滚k个确认需要COMMITTEE_SIZE*DEPOSIT_SIZE*k/3个ETH,要达到k=COMMITTEE_LOOKAHEAD,委员会才会出现分歧。

还要注意的是,无论如何,为了p2p子网的安全,前瞻机制(lookaheadmechanism)是值得使用的,因此用它来设计是个好主意,而且如果有需要的话,可以留给客户端来决定他们要如何处理确认回滚问题。

请注意,“打破最终确定性所需的ETH"数假设了攻击者控制的验证者数相当于控制了超过总质押的ETH的一半(即数百万个ETH);这个数字是攻击者将失去的ETH。但这不等于任何拥有2,730,174,762个ETH的人都可以通过随便烧毁这些ETH就能回滚单个slot的确认。

原文链接:https://ethresear.ch/t/a-model-for-cumulative-committee-based-finality/10259

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

大币网

[0:15ms0-10:262ms