网赚论坛

 找回密码
 免费注册
查看: 374|回复: 0
打印 上一主题 下一主题

对Casper一脸懵逼? V神连发75条推文为你一一道来

[复制链接]

4

主题

4

帖子

68

积分

Ⅰ级财主

Rank: 1

积分
68
跳转到指定楼层
楼主
发表于 2018-9-10 16:27:20 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
对Casper一脸懵逼? V神连发75条推文为你一一道来

原创: Unitimes



今早,V神在其推特上突然宣布要刷屏,就Casper的研究历史和当前状态,包括FFG和CBC的斗争以及设计机制等一系列问题进行解答。以下为推特全文:

01

今天,我将发布大量推文来阐述以太坊Casper研究项目的历史及现状。内容包括Casper FFG项目和Casper CBC项目的竞争、从混合状态到完全切换状态、随机机制的作用、机制设计问题等。

02

以太坊早在2014年1月就已经启动了权益证明机制的研究,具体内容可见:

https://blog.ethereum.org/2014/0 ... of-stake-algorithm/。

尽管这一算法不是最优的,但确实引入了许多重要的思路,尤其是通过惩罚机制成功解决无利害问题,关于无利害问题见此:

https://ethereum.stackexchange.c ... ng-at-stake-problem

03

早期Slasher的惩罚非常轻,只是对签名奖励进行没收。Vlad Zamfir在2014年中加入研究,随后其便提出让验证者抵押保证金的要求,这些保证金的额度远高于验证者所能获得的奖励。一旦验证者作恶,那么这些保证金将被没收。

04

关于Casper的研究历史,Vlad Zamfir也曾在其Medium中书写过相关回忆,具体内容可参见:

https://medium.com/@Vlad_Zamfir/ ... part-1-59233819c9a9

05

2014年年底,我们花费了大量时间来处理“长程攻击”的问题。所谓长程攻击,是指攻击者将抵押在主链上的保证金撤回,并据此创建一条比主链拥有更多签名的替代“攻击链”,从而欺骗客户端切换到该链上。

06

如果攻击链从主链上分叉的时间点距今较近的话,那么问题不大。因为如果验证者同时为两条冲突的链签署两条冲突的信息的话,那么这一结果可以作为验证者作恶的证据从而罚没其保证金。

07

但是,如果分歧出现的时间点过于久远(即长程攻击),那么攻击者就有可能取出保证金并全身而退。

08

最终,我们认为长程攻击——正如PoW的倡导者所言,具体内容见此:https://download.wpsoftware.net/bitcoin/pos.pdf,这是不可避免的,但我们没有接受这些倡导者的结论。

09

我们意识到,我们可以通过引入额外的安全假设来处理长程攻击:让客户端每四个月至少登录一次(保证金需要四个月才能撤出),并且客户端只需拒绝跨度大于四个月的数据回滚就行。

10

这种做法对于PoW支持者来说简直就是一种诅咒,因为它感觉像是一种信任假设:当你第一次同步时,你就需要从某些可信的来源来获取区块链信息。

11

但对我们这些主观主义者来说,这并不是什么大不了的事。 你只需要某些可靠的来源来告诉你区块链的共识规则到底是什么(并且不要忘记更新软件),因此这一PoS假设所需的额外信任并不多。

12

这是Vlad的复述。

https://medium.com/@Vlad_Zamfir/ ... pter-2-8e09b9d3b780

13

既然我们已经解决了保证金和惩罚的问题,那么我们必须明确保证金和惩罚的含义。我们清楚我们需要一个可达成“经济最终化”的属性。

14

也就是说,验证者将会遵守这样的方式在区块上进行签名:一旦某个区块被“最终化”,其余冲突区块在没有大部分验证者签名的情况下无法被敲定。一旦验证者对与其此前签署的信息相矛盾的信息进行签名,那么区块链会检测出来并对其进行惩罚。

15

我把大量精力偏离在我称之为“通过打赌达成共识”的方向上,但最终一无所获。关于“通过打赌达成共识”的内容,请参见:

https://blog.ethereum.org/2015/1 ... nity-part-2-casper/。

16

通过打赌达成共识是一种有趣的构造,验证者判断哪个区块会被最终化并对其下注,而赌注本身决定了共识支持哪条链。

17

通过打赌达成共识是一种有趣的构造,验证者判断哪个区块会被最终化并对其下注,而赌注本身决定了共识支持哪条链。

18

在初始打赌时,验证者下注的几率会很低,但是当验证者看到大家对某个区块越来越有信心的时候,每个人下注的几率都会呈指数级增长,直到最后他们把所有的保证金都押在了该区块上。这就是“最终化”。

19

与此同时,Vlad开始投入机制设计的研究工作,尤其是着眼于增强Casper对寡头垄断的抵御能力。我们还开始研究受传统拜占庭容错理论启发的共识算法,比如Tendermint。

20

Vlad认为,传统的BFT是站不住脚的(他尤其不喜欢硬性阈值,比如PBFT和Tendermint的2/3)。他决定用其称之为“建构修正(Correct by Construction,CBC)”的方法,从零开始,有效地改造BFT理论。

21

这是Vlad对CBC的阐述:

https://medium.com/@Vlad_Zamfir/ ... pter-5-8652959cef58

22

建构修正的理念与传统的BFT大不相同,其“最终化”是完全主观的。

23

在CBC理念中,验证者会签署消息,但如果他们签署的消息与之前的消息冲突的话,他们将需要提供一份“辩词”来证明,在相关意义上,他们投票支持的新事物比他们支持的旧事物获得更多支持,因此他们有权转向支持新事物。

24

为了检测最终化结果,客户端需要寻找一种信息模式以证明大多数验证者都可靠地投票给B区块——除非有很大一部分的验证者“非法”切换投票,否则他们必须支持B区块。

25

例如,假设每个人都投票给B,那么每个人都要对一个包含每个人给B的投票的区块进行投票,以证明他们支持B并且知道其他人也都支持B,所以他们没有合法的理由去支持B以外的区块。

26

我最终放弃了通过打赌达成共识的想法,因为这种方法从根本上来说似乎风险太大。因此,我转而尝试理解像PBFT这样的算法到底是如何工作的。这确实花费了我一些时间,但几个月后我弄明白了。

27

我设法简化了PBFT,详见:

http://pmg.csail.mit.edu/papers/osdi99.pdf

并将其转换为区块链场景。我称之为四个“削减条件”,即规定哪些消息组合是矛盾且非法的一系列规则,详见:

https://medium.com/@VitalikButer ... itions-20f0b500fc6c

28、29

我定义了一个确定区块何时可被看作“最终化”的规则,并证明了关键的“安全性”和“貌似合理的”活性性质:(i) 某个区块一旦最终化,那么只有在大于等于1/3验证者违反削减条件的情况下,冲突区块才有可能最终化;(ii) 一旦某个区块最终化,那么2/3的诚实验证者可以携手敲定新的区块。因此,只要网络中存在超过2/3的诚实验证者,那么这个算法不存在“食言”或者“死锁”的状况。

30

最终,我将最小削减条件从4个简化为2个,从而导出Casper -友好的最终化工具(Casper the Friendly Finality Gadget,FFG)版本。该版本被设计成可用于任何PoW、PoS或其它区块链之上的覆盖层,以添加最终化保证。

31

最终性是一个非常重要的改进:一旦某个区块被最终敲定,即便是发生网络延迟,它都是安全的(不像PoW中的确认机制)。与此同时,回滚区块需要大于等于1/3的验证者实施欺诈,而欺诈的后果是,系统会检测出他们作恶并罚没相关人员的保证金。

32

因此,回滚最终性的成本可能高达数十亿美元。Casper CBC和Casper FFG尽管在技术上有所不同,但都实现了这一点。

33

请注意,尽管Casper CBC和Casper FFG的原理不同,但两者都是需要应用于现有的分叉选择规则之上的“覆盖层”。

34

请注意,尽管Casper CBC和Casper FFG的原理不同,但两者都是需要应用于现有的分叉选择规则之上的“覆盖层”。

35

Vlad最初对分叉选择规则的偏好是“由最新消息驱动的GHOST”,这是将GHOST朝着权益证明修改后的版本(详见https://eprint.iacr.org/2013/881.pdf),而我最初是希望从混合PoS开始,使用工作量证明作为基本的分叉选择规则。

36

在Casper FFG的初始版本中,工作量证明会逐块“运行”区块链,而权益证明则紧随其后以使区块最终化。Casper CBC从一开始就完全由权益证明主导。

37

这时,我和Vlad在共识激励理论上提出了各自的观点。

38

在此,我们需要明确“单一可归因错误”和“非单一可归因错误”之间的区别,前者意味着你会知道谁该为此负责,并对其施以惩罚,后者则意味着犯错的可能是多个团体中的一个。

39

一个典型的“非单一可归因错误”案例是离线与审查制度,也可称之为“说-听错误等价(speaker-listener fault equivalence)”。

40

惩罚单一可归因错误(比如Casper FFG的削减条件)很简单,但惩罚非单一可归因错误非常困难。

41

如果区块停止最终化进程,你又无法判断到底是因为少数人离线还是大多数人在审查少数人所导致的,那你该怎么办?

42

关于这个问题,当时基本上有三种观点:(i) 对双方进行惩罚,但力度较轻;(ii) 对双方都进行严厉惩罚(Vlad偏好这种做法);(iii)把链条分叉成两部分,只惩罚每条链条上的一方,并让市场决定哪条链条更有价值(我更偏好这一做法)。

43

在这一方面,我的详细阐述可见:

https://vitalik.ca/general/2017/07/16/triangle_of_harm.html。


V神剩下的32条推文后续将继续更新。

看了这么多的解释,各位对Casper有没有一个更清晰的认识呢?欢迎在下方留言和大家讨论!

【文章版权归原作者所有,其内容与观点不代表Unitimes立 场。翻译文章仅为传播更有价值的信息,合作或授权联系请发邮件至 contact@unitimes.media或添加微信unitimes2017】


UNITIMES

网址 : unitimes.media

新浪微博:@Unitimes
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

广告合作|Archiver|手机版|小黑屋|财富吧

GMT+8, 2024-5-18 23:52 , Processed in 0.514800 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.1

© 2014-2021 财富吧

快速回复 返回顶部 返回列表