快捷搜索:

洒脱喜一周评 | 6年磨剑,ETHPoS魔法的前世今生

1.2.2  信息和视图(View)

在Gasper模中,验证者V通过广播消息(某种语言的字符串)与互联网进行交互。当诚实的验证者V广播消息M时,大家假设M被发送到互联网上的所有验证者。

消息的主要类向互联网建议一个数据块,其它消息可以是记账公告,比如为区块投票(“证明”),在区块链上设置新的验证者(“激活”),证明其它验证者存在错误操作(“罚没”)等,这取决于特定的协议。大家假设每条消息都经由一个验证者进行数字签名,这意味着大家可以准确地跟踪每条消息的作者,而像冒充诚实验证者如此的攻击则是不可能达成的。

因为可能存在互联网延迟和恶意验证者(即延迟消息或转发不正确的信息),对于提供给互联网的整套消息,验证者可能具备不一样的认知状况。而每则消息,可能有一个或多个依靠项,其中每一个依靠项,则是另一则消息。在任何时候,只须消息的所有依靠项都被同意并递归概念,大家就同意该消息。目前,大家概念验证者V在给定时间T的视图为iew,其作为验证者迄今看到的所有已同意消息的集合。大家还有一个“上帝之眼视图”,大家称之为互联网视图,其概念为假定验证者的同意消息集合,该验证者在任何时候都能看到任何验证者广播的所有消息(包括恶意验证者发送到互联网子集的消息)。

大家把互联网视为一个“虚拟验证者”,因此大家用iew 来表示时间T时的互联网视图。对于任何验证者V和任何给定时间Tiew(NW,T)包括iew中的所有消息,尽管时间戳可能不匹配。

图1 :视图的可视化图形(仅可视化区块,而不包括其它消息)

如上图所示,视图中的区块形成了一颗树,其中C区块和D区块是冲突的(E区块和D区块也冲突),E有最长链,即链(E)=

1.2.6  时间和Eh3och周期

在Gasper的模中,有一个被叫做时隙(slot)的时间定义,每一个slot代表恒定的秒数(比如ETH2.0 phase 0规范设定的12秒),然后大家概念一些常数C为一个epoch周期(暂定为64个时隙(slot))。Epoch周期的主要目的,是把时间分割成碎片,它们之间的界限可以被觉得是“检查点”(checkpoint),这允许用Casper FFG中的定义,大家将在下文中看到。

1.2.3  权益证明(Proof-of-stake)

区块链协议第一个,同时也是最具影响力的达成,就是BTC,它用的是工作量证明(PoW)模,这种办法用的是容易、直观的分叉选择规则,即矿工(与验证者类似)会选择在最重链(计算工作量最大的链)上构建区块,这在数学上并不可以保证任何非创始区块是“正确”的,但这提供了一个概率上的保障,由于一旦其它矿工在其之上构建了区块,那它就愈加不可能和区块发生冲突。也就是说,PoW区块链的共识历史,便是工作量最大的链, 理想状况下,该区块链会一直增长。

而在本文中,大家探讨的是一个权益证明(PoS)区块链,其中验证者的投票权与其在系统中质押的权益(或资金)成正比。与PoW用计算能力来建议区块相比,PoS建议区块本质上是不收费的。

然而,这也给PoS系统的设计带来了其它挑战,大家需要一个额外的数学理论层,以预防区块建议变得“容易”时产生的不正当勉励,目前,大家就把重点转移到设计权益证明。大家进一步假设每一个验证者的平均持有权益量为1个单位,所以总持有权益的总和为N。大家假设验证者集和质押数目大小是固定的,以便集中于协议的理论要素。

ETH2.0研发更新内容:

本期的推荐就到这里啦,下周再见~

则大家需要的主要组成成分有:

而大家用来概念这部分组成成分的重要定义,就是证明(attestation),它本质是一种投票(嵌入在消息中),用于确定什么区块应该是区块链的head。

为了预防验证者以破坏协议的方法进行双重投票或投票,Gasper强制用可用于销毁验证者质押权益的罚没条件,以勉励验证者遵守协议。

图2 : 一个既有区块,又有证明(attestation)的理想视图

如上图所示,大家可以看到一个理想化的PoS协议版本,在每一个时间段中,都会创建一个新区块,其中父区块是链的最后一个head(理想状况下,这只不过创建的最后一个区块),并且相应委员会中的验证者都完美地证明了该新区块。在不太理想的状况下,区块可能会有分叉,大家可能会缺少证明(attestation)等等。而证明(attestation)将通过帮验证者确定正确的链head来发挥用途。

写在前面:

在将来的几个月内,除去BTC产量减半这一确定性事件,还有一件事,也将成为区块链行业人士的关注焦点,这便是ETHPoS链的上线。对于Vitalik Buterin而言,ETH从PoW转向PoS的原因有不少,比如防止51%攻击、节能、提升可扩展性等,而这一计划从ETH诞生之初便已存在,6年间其经历了数个版本的改进,并在最近迎来了最新的版本—— Gasper,一个结合了Casper FFG和LMD GHOST分叉选择规则的理想版本PoS共识协议,而这也是本周要推荐的学术内容。

而在硬核技术文章甄选部分,大家还会看到关于多项式承诺策略、反51%攻击、BTC新买卖重播逻辑等内容。

另外,在过去的一周当中,BTC和ETH相继迎来了一些新的技术研发进展。

1.2.5 安全性与活性(Lieness)

诚实验证者的最后目的是进步一条最后链,其中所有区块彼此形成“逻辑一致”的状况转换(尽管验证者可能会离线、遭受延迟问题,或恶意提出有冲突的状况更改)。而这就转化为两个期望属性:

乍一看,后者好像包含前者,但状况会更微妙一些。前者是关于协议逻辑的纯非概率性质,而后者需要关于达成上下文的假设,以保证协议“一般按预期工作”(注:关于两者的进一步对比,读者可看原论文的第7.3节)

1.2.4  拜占庭验证者和PBFT

在协议中,假如验证者遵循协议,大家将其称为诚实验证者,不然就称为拜占庭验证者。大家一般会严格假设小于1/3的验证者是拜占庭式的,这一常数可追溯到实用拜占庭容错(PBFT)协议,只须系统少于1/3的副本(和Gasper的验证者同义)是拜占庭的,则PBFT就能确保系统正确运行。在不少基于PBFT基础的协议中,这种1/3容错是常见存在的(主要思想是鸽子洞原理),而Casper FFG是和Gasper协议最直接有关的。

而PBFT非常重要的一个方面,在于它是在异步条件下工作的,这意味着大家对接收消息的时间没限制。因此,PBFT对于区块链和数字货币而言是很适用的。

1.3.2  LMD GHOST分叉选择规则

贪婪最重察看子树规则(GHOST)是由Sompolinsky和Zohar提出的分叉选择规则,直观地说,GHOST是一种贪婪的算法,其在“最活跃”的分支上增长区块链。而Vlad Zamfir在探索Casper CBC共识协议时,引入了一个GHOST的自然适应版本,其恰好很合适Gasper的设置,大家称这种变体为最新消息驱动的贪婪最重察看子树(LMD GHOST)。

LMD GHOST的思想是,在任何分叉中,大家用分叉创建子树的网站权重作为启发式,并假设网站权重最大的子树是“正确的”子树,其概念了一条规范链。

图3 :LMD-GHOST分叉选择规则的示例

如上图所示,每一个区块B中的数字代表网站权重(按质押量算),在该示例中,所有证明(圆)的网站权重为1。用此视图的验证者将把蓝色链视为规范链,并输出左边最新的蓝色区块(网站权重为3)作为链的头部(head)。

下面,大家来正式认识ETH将使用的共识协议Gasper,它是GHOST和Casper FFG思想的结合体,其主要定义有:

1.4.1  混合LMD GHOST分叉选择规则(HLMD)

因为最后的设计乍一看是相当复杂的,大家先介绍一个“原”版本的HLMD,容易地说,它是从视图中最后一个辩护区块开始,然后运行LMD GHOST。

然而,用这一原会遇见一些微妙的问题,由于证明(attestation)的“FFG部分”是epoch界限对之间的投票,而LJ只依靠于ffgiew(B),大家可以觉得“链中最后辩护对”在每一个epoch周期的开始都是“冻结”的,这与“非冻结的”(BJ,j)不太协调,由于后者的概念在一个epoch周期中会发生变化。因此,大家需要一个(BJ,j)的版本,它在一个epoch周期中不会发生变化。

另一个问题发生在算法分叉时:分叉区块可以有完全不一样的最后辩护对,即便它们彼此相邻。

为知道决这部分问题,Gasper的最后解决方法如下:

1、Gash3er:结合GHOST和Cash3er

在PoW共识环境成长下的ETH,马上迎来一段新的旅程,尽管权益证明(PoS)被寄予了厚望,然而到今天并没出现一个很成功的PoS系统,节能而高效的PoS魔法,好像依然只存在于故事当中。

而擅长考虑的Vitalik,则联合ETH2.0协调员Danny Ryan,与来自圣荷西州立大学(SJSU)的多位研究者,一同提出了一种名为“Gasper”的PoS共识协议,它是ETH2.0 信标链理想版本的共识协议。研究者们表示,该协议结合了终局性工具Casper FFG和分叉选择规则LMD GHOST,并且在不一样的假设条件下,其安全性与活性(lieness)均得到了证明。

原论文链接:https://arxi.org/pdf/2003.03052.pdf

所谓Gasper,它是由Casper FFG和LMD GHOST(分叉选择规则)组合而成的。

Casper FFG算法负责将区块链中的某些区块标记为已完成,以便具备部分信息的参与者,仍可完全确信区块是规范区块链的一部分。

Casper并非一个完全指定的协议,它被设计成了一个“小工具”,其对于区块链是是工作量证明(PoW)还是权益证明(PoS)是不可知的。而LMD GHOST则是一个分叉选择规则,其中验证者(参与人)证明区块以表示对这部分区块的支持(比如投票)。而Gasper,则是一个完全的权益证明(PoS)协议,它是建议ETHPoS达成的理想版本协议。

Gasper的目的是成为一种具备肯定安全性和活性(lieness)的权益证明(PoS)协议。而在知道它之前,大家先来认识一下共识协议和区块链的一些背景。(注:因为论文当中用了很多学术词语,因此本节内容的主要为了挑选一些特定的词语,以便大伙对Gasper可以有一个好的认识)

1.2.1  共识协议、验证者和区块链

对于共识协议而言,它的目的在于,即便互联网是不靠谱的,或者有不少验证者是恶意的,也有一组实体(节点、人等)可以遵守一套被公认的算法,以获得互联网状况的共识历史。

大家把参与协议的实体(人、程序等)称为验证者(alidator),并用集合V表示。因为它们在ETH2.0信标链中的数据验证用途,因此将它们称为“验证者”,这一角色不止是ETH抽象协议独有些,其它区块链当中也有类似的定义(只不过用了不一样的术语),比如经典PBFT文献中的“副本”,DPoS和柚子币中的“区块生产者”,PPC币和NXT中的“对等节点”或者Tezos中的“烘培者”(baker)。

验证者在对等式互联网中相互连接,这意味着它们可以相互广播消息(基本上是数据包)。

而互联网的第一个区块,大家称之为创始区块,并将其作为初始“空白板”状况。其它区块则是状况转换的描述,并带有指向父区块的指针。而区块链便是共识协议的实例化(即具备特定的互联网条件、验证者等),在其中,大家用区块来构建整个状况。

然而,大家并不期望互联网上出现的所有区块都被同意为公共历史,由于区块之间可能会发生冲突。这部分冲突可能是因为诚实是什么原因(如互联网延迟),或恶意缘由(如拜占庭验证者想要双花买卖)导致的。这里的拜占庭,指的是分布式系统中的一个经典问题——拜占庭将军问题(本文中该词用于描述不遵循协议的验证者),而可能是什么原因有,验证者是恶意的,或者它们正在经历互联网延迟。从理论上讲,大家可以把历史的选择,看作是从创始区块到特定区块的“链”的选择,这就是为何大家把这种协议的实例化称为“区块链”

1.3.1  Cash3er FFG

Vitalik和Griffith提出了Casper FFG这种工具,其被设计用于处置具备树状结构的广泛区块链协议。

除此之外,Casper FFG还引入了justification(辩护)和finalization(最后)的定义,它们像PBFT文献中的阶段定义,如筹备(prepare)和提交(commit)。

最后,Casper引入了罚没条件,这是关于诚实验证者的假设。当验证者V破坏这个规则时,另一个验证者W可以通过提供V违反条件的证明来罚没V (破坏V的质押权益,并可能获得某种“罚没奖励”)。

1.4.1  奖励和惩罚

验证者在其建议的区块中纳入有效证明,或者证明辩护区块和最后确定区块时,都要得到奖励,前者被叫做建议者奖励(proposer reward),后者被叫做证明者奖励(attester reward)。

同时,假如一个验证者违反了罚没条件,就应该遭到处罚(降低质押金)。

奖励和惩罚可依据需要达到的安全级别进行调整,除此之外,更复杂的勉励机制也是可以考虑的,比如勉励验证者捕获其它行为不当的验证者。为了容易起见,大家假设这部分奖惩机制提供了足够的勉励,从而将这一剖析抽象为:

(本文省略了关于Gasper共识协议安全性和活性属性的证明内容,感兴趣的读者可以看原论文。)

Vitalik等人为基于权益证明(PoS)的区块链提出了一个抽象的Gasper共识协议,其结合了LMD GHOST分叉选择规则和Casper FFG的定义,这是Casper FFG定义向完备区块链协议的第一个正式证明。

而这一设计的目的,是以简单、实用之间的平衡为指导,同时兼顾安全性与活性。

洒脱喜简评:尽管Gasper被Vitalik等人称为信标链的理想版PoS共识协议,然而ETH2.0 第0阶段的预期上线时间已很临近,因此短期内其会不会得到使用依然是一个未知数,而对于这一PoS魔法是不是真的有效,这还需要实践过后才能见分晓。

为了应付ETH的状况爆炸问题,ETH联合开创者Vitalik提出了新的解决方法,其建议用多项式承诺(polynomial commitments)策略来替代默克尔树(Merkle tree),以此大大降低无状况ETH推广客户端的见证数据(witnesses)。

文章链接:https://www.8btc.com/article/567865

历史上区块链世界曾多次发生51%攻击,而它们都发生在小币种的身上,而据哈佛大学和MIT的研究者表示,他们在察看到的40次重组攻击中,还看到了可能的反攻击案例,在2020年2月份,比特币 Gold区块链上疑似出现了攻击者与防御者的多轮对攻状况,对此,研究者提出了防御51%攻击的反击理论。

文章链接:https://www.8btc.com/article/568133

比特币 Core开发职员Amiti Uttarwar正致力于修改BTC的互联网重播逻辑,以在买卖重播过程中引入更多的隐私。

文章链接:https://www.8btc.com/article/569463

假如有一个 p2p 的 demo,大家要如何才能应用到区块链当中?作者VV一笑ヽ提供了一个课程。

文章链接:https://www.8btc.com/mepa/567921

3、BTCAMPLETH 开发更新进展

3、1 BTC开发更新进展

  1.  Pieter Wuille在BTC开发者邮件列表上发表了一封邮件,概述了一种通过在ECDSA或schnorr签名中用nonce来预防硬件钱包或其他离线签名设施向第三方传递机密信息的技术;
  2. BIP322的作者Karl Johan Alm指出,在过去的几个月里,他为通用signmessage协议添加的PR在合并方面没任何进展。假如钱包开发职员期望为P2SH、P2WPKH、P2WSH与以后激活的P2TR地址(等待taproot落地)启用此功能,建议他们查询Alm的电子邮件,并提供有关反馈;

3、2 ETH开发更新进展

ETH1.X更新内容:

(图片来自:tuchong.com)

1.4.2 罚没条件

Gasper中的罚没条件,像Casper中的罚没条件。

条件1 :没验证者用ep = ep作出两个不一样的证明α1和α2,注:该条件等于o aep ) = aep )

条件2 : 没验证者用aep ) lt; aep ) lt; aep ) lt; aep )作出两个不一样的证明α1和α2;

这使得协议具备一个很有用的性质:除非大家处于一个不太可能的状况,即大家有足够的证据,以至少1/3的总质押金来罚没验证者,不然在一个视图G中,大家可以假设J(G)中的所有元素都有唯一的证明epoch。

您可能还会对下面的文章感兴趣: