木星链 木星链
Ctrl+D收藏木星链
首页 > 火必APP > 正文

CAS:Casper FFG:以实现权益证明为目标的共识协议

作者:

时间:1900/1/1 0:00:00

编者按:本文来自以太坊爱好者,作者:JuinChiu,Odaily星球日报经授权转载。前言

2017年,VitalikButerin与VirgilGriffith共同发表了CaspertheFriendlyFinalityGadget。CasperFFG是受PBFT启发并经过改良的共识协议,它虽然被设计得很简洁,但其对安全性的证明却不简单。笔者将于本文解析CasperFFG的原理,读者可以一窥权益证明共识所尝试解决的问题及其设计理念。此外,CasperFFG是以太坊2.0的共识机制,理解其运作也能帮助研究员与开发者进一步理解以太坊2.0的设计。最后要特别感谢以太坊研究员Chih-ChengLiang提供重要素材并与笔者共同大量讨论及给予回馈,没有他的协助便不会有这篇文章的诞生。CasperFFG是怎么开始的?

以太坊对权益证明的研究最早可追溯至2014年的这篇文章。从此之后,以太坊研究员们便一直朝「实现基于PoS的共识协议」此一目标前进。PoS共识的设计是一个跨领域且相当复杂的问题,其包含计算机科学/经济学/密码学等方面。以太坊拥有区块链生态系中最跨领域的团队,对PoS的研究可以说是相当透彻。笔者于日前翻译了一篇关于CasperFFG发展脉络的重要文献:CasperFFG与CasperCBC的瑜亮情结CasperFFG受到PBFT的启发,并可以被视为改良后的PBFT——它继承了PBFT的重要设计,同时添加新的机制与简化若干规则。若读者对PBFT感到陌生,可以参考笔者日前针对PBFT的解析文:若想搞懂区块链就不能忽视的经典:PBFT简而言之,PBFT是一个具有二轮投票机制的共识协议,且具有下列特性:许可制的:只有被「允许」的节点能参与共识。基于领袖的:只由主导节点负责「提案」,其他节点只负责投票,因此需要视域变换机制来节制不诚实的主导节点。基于通讯的:使用决定性的多数决来形成共识,而不是非决定性的算力解谜赛局。安全性重于活跃性的:无论网络是否延迟,协议都能保证共识的安全性,这赋予协议即时敲定的特性。其中PBFT所具备的即时敲定性,或许是其受到Vitalik青睐的主要原因。Vitalik在熟读PBFT后也特撰文总结,并于其中提出日后演变成CasperFFG的重要想法。CasperFFG的前身:砍押金的4条规则

Sturdy Finance攻击者将大部分盗取资金转入Tornado Cash:6月12日消息,据 MetaSleuth 监测,无息借贷协议 Sturdy Finance 攻击者从 Tornado Cash 获得初始资金进行合约攻击,盗取的 442 枚 ETH 大部分资金流入 Tornado Cash,小部分流入 ChangeNOW 交易所。[2023/6/12 21:31:16]

PBFT虽然具有即时敲定性,但并不具有抵抗共谋的能力,因此需要一个惩罚机制来遏止作恶的行为,只要节点做出逾越规则的行为,便必须承受经济损失——透过经济学法则来调节节点的行为正是PoS的设计理念。任何支付押金的节点,都可以加入网络参与共识,无需任何人的许可,因此基于PoS模型的共识都是非许可制的。在这里要澄清一下「许可」这件事。我们会说他「非许可制」,是因为任何验证节点可以加入和退出。但如果在他加入的时候,链要维持一个验证节点清单,从这个角度看又有点是「许可制」。从PBFT的角度看,投票的验证节点也必须从许可的清单中挑选。那么下一个问题是:哪些行为该被惩罚?Vitalik仔细推敲PBFT后发现,PBFT只需4条规则便能确保共识运作良好:最少的砍押金条件Vitalik在这篇文章中总结了这4条规则,并把它们称为PBFT的「最少的砍押金条件」,任何违反此4条规则的行为都要被取走押金。这4条规则如下:1.提交:收到2/3节点的预备讯息后才能提交。2.预备:每个预备讯息只能指向某个也具有2/3节点预备讯息的高度,且这些预备讯息也必须都指向同一个高度。3.预备提交一致性:任何新的预备讯息只能指向最后一个已提交的或其他比其更新的高度。4.不重复预备:不能在同一个高度送出两次预备这4条规则可以进一步简化为2条:某验证节点v必不可发出两个相异的投票:<ν,s1,t1,h(s1),h(t1)>及<ν,s2,t2,h(s2),h(t2)>,且使下列任一条件成立:1.h(t1)=h(t2)验证节点必不可对某高度发出两个相异投票。2.h(s1)<h(s2)<h(t2)<h(t1)验证节点必不可投出高度围绕/被围绕于另一投票高度的投票。这2条规则便是CasperFFG的最少砍押金条件。CasperFFG如何运作?-CasperFFG:检查点树-CasperFFG是一个将出块机制抽象化的覆盖链,只负责形成共识。出块机制由底层链实现,而来自底层链的出块称为检查点。检查点组成检查点树,例如:把高度为0、50、100、150的区块哈希值取出,形成一棵新的树,如上图所示。最底部的检查点则称为根检查点。每个节点都必须对检查点送出投票,投票的内容是由两个不同高度的检查点组成的连结,连结的起点高度较低,称为源头;连结的终点高度较高,称为目标。节点会将投票广播到网络中,并同时收集来自其他节点的投票。其中若投票给某连结L的节点押金总和超过全部押金的2/3,则称L为绝对多数连结,以s→t表示。例如上图中,b1/b2/b3之间都形成了绝对多数连结,分别以b1→b2、b2→b3表示。由根检查点开始,若两个检查点之间形成绝对多数连结,则该连结的目标进入「已证成」状态;而在连结建立当下已处于「已证成」状态的源头,则进入「已敲定」状态;根检查点则预设为「已证成」及「已敲定」状态。由此可知,每个检查点在经过两次投票后,会先「证成」而后「敲定」,几乎等同于PBFT的「预备」与「提交」。例如在上图右边的分支中,r/b1/b2皆为「已敲定」状态,只有b3为「已证成」状态。那么验证节点该对哪些检查点建立连结?每个节点都必须遵循分叉选择规则来选择下一个要连接的检查点,CasperFFG的规则是:选择最高的「已证成」状态的检查点。-CasperFFG:验证节点集合的大幅变化引起的分叉-由于CasperFFG能让任何存入押金的节点成为验证节点,因此验证节点集合会动态地随着时间变化。节点从退出网络至取出押金需要等待一段期间,该等待期间称为提领延迟。每个检查点C都有其对应的朝代数,其定义为:从根检查点开始至C为止的已敲定检查点数量,例如上图中,b3的朝代数为3。每一代检查点都对应两种验证节点集合:前端验证节点集合以及后端验证节点集合。理论上每代检查点的前端/后端集合会高度重复,但难保节点共谋造成前端/后端集合的大幅变化,若此情形发生,则出错时可能会砍不到坏节点的押金导致安全性受到威胁。例如上图中,验证节点A可以退出,代表对C'分叉来说A退出了,可是对C分叉来说,A却从来没退出过。因此A有办法继续投旧链C,但新链C'砍不到A的押金。为了让每代检查点在出错时都能确实归责,因此需要缝合机制将检查点的前端/后端集合「缝」起来,确保每个错误都必定能归责。综合以上,CasperFFG几乎针对PBFT的所有方面都做出改进:经济上的制约:PBFT是许可制的,它仰赖原本就存在信任基础的组织共同运行协议;CasperFFG则是非许可制的,它引入最少砍押金条件,利用经济损失的风险来制约节点的行为,节点之间不需要任何信任基础也能共同运行协议,实现真正的去中心化。抽象的出块机制:PBFT仰赖诚实的主导节点产生区块并需要视域变换机制节制拜占庭节点;CasperFFG无需理会底层的出块机制,只需负责形成共识。出块抽象的好处是:底层链的出块频率不必与覆盖链的共识频率一致,如此可以增加效率并降低网络的负担。例如:每100个底层区块只产生1个检查点。流水线化的投票:PBFT具有<Prepare>、<Commit>、<View-change>等数种投票讯息;CasperFFG仅有<Vote>一种,且投票的内容并不是单一的区块/请求,而是两个形成连结的检查点,这使CasperFFG能够在不牺牲太多表达力的前提下变得简洁许多。这些形成链式结构的检查点,会于两个不同高度分别经历两轮投票,由于每一轮投票都会敲定源头与证成目标,因此共识能如流水线般不断推进。相似的设计理念也出现于Hot-Stuff,有趣的是,该论文作者DahliaMalkhi还撰文比较Hot-Stuff与CasperFFG,其相似程度可见一斑。强健的抗攻击性:PBFT不具备对远程攻击以及灾难性崩溃的抗性;CasperFFG则具有特别的机制来防御这两种攻击:针对远程攻击,节点必须定期同步区块及禁止回朔已敲定的区块;针对灾难性崩溃,CasperFFG则引入「离线溢金」机制来应对。关于这两种攻击的说明,笔者将于日后另撰文论述。由于CasperFFG相当简洁,以太坊研究员一度实现了合约版本的CasperFFG:ethereum/casper然而,这个合约版的CasperFFG后来被弃用了!在合约版中原本假设投票能够被并行处理,但在计算投票报酬有很多中间状态,不同投票处理的先后顺序将会影响最后得到的状态,这代表并行化将无法达成共识。而要修正这个问题则必须要在合约与客户端做大量修改,失去了「逻辑用合约实现,避免修改客户端」的精神。因此,为了能够更好地整合CasperFFG与其他优化提案,全新的以太坊2.0磅礴登场了。以太坊2.0中的CasperFFG

BonqDAO攻击者已向Tornado Cash转入约700枚ETH:金色财经报道,据PeckShield监测,非托管借贷平台BonqDAO攻击者已向Tornado Cash转入约700枚ETH,并将约53.4万枚DAI交易为326枚WETH。

金色财经此前报道,BonqDAO和Alliance Block在攻击事件中损失8800万美元。[2023/2/3 11:45:35]

-以太坊2.0:分片-以太坊2.0是一个基于EVM并整合CasperFFG与众多优化提案的分布式帐本。以太坊2.0除了想实现PoS,还试图将每秒交易数扩展到10000笔的量级,使区块链成为如网际网络一般的基础设施,并且让任何存入32个以太币的押金的节点都能成为验证节点。分片即是为了增加可扩展性的重要设计,也是以太坊2.0最重要的目标。分片就是分工合作,我们可以用一个简单的例子来说明分片的概念:2人写2题作业,2人各写不同的1题再合起来一定比2人都各写完2题来得更有效率。目前的以太坊只有1条区块链,所有节点必须各自处理所有交易;在以太坊2.0中,网络会分成1024个片,每片分别运行1条分片链,它们将各自处理一部分的交易后再将结果交由1条信标链统整。因此,以太坊2.0预计会有1条信标链以及1024条分片链。值得注意的是:片是一个抽象层,并不特指某一群节点。为了更了解这个概念,笔者扩充一下上文的例子:假设写作业有找答案及抄答案两个步骤,那么A/B2人写2题作业,由读速快的A找第1题答案,读速慢的B找第2题答案;由手速快的B抄第1题答案,手速慢的A抄第2题答案。如此,A/B便可以依照读/写的快/慢来分别负责不同题目的不同步骤。同样地,在以太坊2.0中,除了有1024个片,还会有1024个持续委员会与1024个交联委员会:每个片都会对应1个持续委员会与1个交联委员会,如同上例中每个题目可以依照读/写的步骤来对应不同的个体。使用链上随机数决定各委员会的分派,如同上例中依照读/写的快/慢来分派题目。持续委员会负责维护分片链与产生分片区块、交联委员会负责维护信标链与产生信标区块,如同上例中读速快的负责找答案、手速快的负责抄答案。各区块的出块节点也交由链上随机数决定。换句话说,每个验证节点都需维护1条唯一的信标链及1条所属片的分片链,也都会隶属于与该分片对应之1个交联委员会与1个持续委员会。CasperFFG是运行于以太坊2.0之上的覆盖链,这个覆盖链同样由检查点构成,各检查点之间的跨度称为时期,1个时期切成64个时段,每个时段对应16个片,因此每片在每时期中都有对应的时段,并只能在轮到自己时才广播其对检查点的投票,且每分片只能1个时段中投出1票——也就是说,各分片需要先对投票内容形成共识,不过各片内部形成共识的方法仍尚未定论,近期最新的提案是使用聚合签名。另外,CasperFFG在以太坊2.0中的分叉选择规则是最新消息驱动GHOST。理论上,CasperFFG于每个检查点的投票应该要与底层出块机制的投票分开;实际上,以太坊2.0的底层投票内容会同时包含顶层投票内容,如同顶层投票搭了底层投票的便车,借此优化效能。如此在每个时期结束时,每个片都会收到所有其他片在该时期的投票,CasperFFG活跃性得以维持。结语

动态 | 巴黎圣日耳曼足球俱乐部与加密交易所CoinCasso达成合作:据bitcoinist 1月28日消息,法国巴黎圣日耳曼足球俱乐部(PSG)与加密货币交易平台CoinCasso达成合作,将促进CoinCasso在欧洲、亚洲和美国等主要地区建立加密交易平台。此前报道,巴黎圣日耳曼已与区块链平台Socios合作推出粉丝代币产品(FTO)。[2020/1/28]

CasperFFG是一个实现权益证明的大胆尝试,它在以太坊2.0的表现值得期待。然而以太坊2.0还有许多难题留待解决,例如轻节点/链上随机数生成器/跨片交易等等。与此同时,许多以太坊2.0的竞争者也提出新的共识协议与分片技术,例如RapidChain/Harmony/Chainspace等等。CasperFFG以及以太坊2.0是经过众多研究员/开发者不断激荡与迭代的重要结晶,但一直以来都缺乏提供系统性论述的中文材料,希望此文可以帮助中文世界的研究员/开发者快速理解CasperFFG与以太坊2.0的精要。

动态 | ECC拒绝与ZCash基金会共享ZCash商标所有权:9月2日,ZCash基金会发文称,上周在ZCash社区论坛上,Electric Coin Company(ECC)向社区和基金会宣布,与ZF长达数月的商标谈判失败了。ZCash基金会对此表示既惊讶又沮丧。 到目前为止,基金会在假设ECC将继续努力达成关于Zash商标的2对2控制协议的前提下,已经着手处理待决的NU4升级和社区情绪收集。基金会认为这是一个合理的假设,因为ECC过去发表了许多公开声明,特别是因为在精神上达成一项协议,并且已经开始重新制定一项法律协议。但是根据论坛帖子,这个看似合理的假设是错误的。如果ECC继续持有该商标,他们可以通过NU4任意执行新的开发基金。因此,基金会将推迟社区情感收集和关于NU4的任何决策,直到ECC重新承诺已经达成的2对2协议。具体来说,基金会希望双方签署一份公开的交易备忘录,或者更好的是签署法律协议。 对此,门罗首席开发者Riccardo Spagni评论称,“电子公司”决定不将ZCash商标交给ZCash基金会,这意味着如果他们没有获得新的Founder's Reward,他们可以决定分叉ZCash,并阻止原来的链自称ZCash。[2019/9/3]

声音 | V神连发几十条推文解释以太坊Casper研究的历史以及状态:以太坊创始人V神(Vitalik Buterin)今晨9:20发布推文称将于今日在推特上解释以太坊Casper研究的历史以及状态,问题包括FFG与CBC的战争、机制设计等。自9时21分开始,V神已经发布70多条推文。[2018/8/16]

标签:CASASPSPECasperPCASH价格CEASportsVesper Financecasper币释放

火必APP热门资讯
BIT:OKEx孔德云:日韩并不是一个好的海外市场拓展标的

2019年的牛市跟2017年的牛市已经有了很大的不同:17年主要是由ICO、智能合约来推动的,19年主要是由Facebook入场来推动的;17年大量的山寨币,19年除了一些模式币之外.

1900/1/1 0:00:00
比特币:观点 | 别光看 TPS,看交易结算的保证

主流区块链的状态达到最终性需要多长时间?我需要等多久才能确认一笔比特币交易真正完成结算?有哪些风险因素可能会导致我需要额外的交易确认?交易确认的数量是如何影响交易结算的?令人惊讶的是.

1900/1/1 0:00:00
区块链:为什么去中心化身份很重要?

编者按:本文来自蓝狐笔记,作者:Amentumcapital,编译:SIEN,星球日报经授权发布.

1900/1/1 0:00:00
区块链:星球日报 | 币安收编衍生品交易平台JEX;中石油等8家财团或正在为区块链平台筹资1亿元

头条币安收购数字货币衍生品交易平台JEX9月2日,币安官推发布消息,Windows系统PC客户端现已支持保证金交易。晚间,币安宣布收购数字货币衍生品交易平台JEX.

1900/1/1 0:00:00
LIBRA:捍卫数字主权,决战数字边疆

通证通研究院文:宋双杰,CFA;娄嘉铭导读Facebook发行Libra,受到了各种政府机关的“关照”,这是否意味着美国找到了新的“剪羊毛”机会?摘要美国通过“星球大战”计划建立空天边疆.

1900/1/1 0:00:00
加密货币:被多国交易所下架,匿名币还值得投资吗?

OKEx的韩国站宣布将于10月10日下架所有的匿名币,其中包括门罗币、达世币、大零币、horizen(ZEN)以及SBTC.

1900/1/1 0:00:00