LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > ETH 2.0 Casper FFG 共识详解

ETH 2.0 Casper FFG 共识详解

2019-12-20 HashQuark 来源:区块链网络


随着信标链(Beacon Chain)发布日期的临近,ETH2.0 的技术与发展愈发受人关注。基于此,本文将从技术层面讲解ETH 如何由 PoW 共识平稳过渡到 PoS 共识

Casper FFG 介绍

Casper FFG 是 ETH2.0 使用的 PoS 共识算法,该算法对 ETH1.0 通过 PoW 产生的区块进行最终确定,从而提升 ETH1.0 的安全性。

Casper FFG 的共识过程


图1:Checkpoint tree

Casper 共识对 PoW 产生的区块进行 PoS 共识,但并非对每一个区块都进行共识,而是设置检查点(Checkpoints),而多个检查点组成了检查点树(Checkpoint Tree),如图1所示,高度为r、b1、b2、b3的 Checkpoint 组成了Checkpoint tree。

每个验证节点都要对检查点进行投票,投票的内容是由两个高度不同的检查点组成的连接(Link),连接的起点称为源头(Source),终点称为目标(Target),若投票给某个连接的票数超过2/3,则该连接被称为绝对多数连接(Supermajority Link)。


图2:Justified chain

由根检查点开始,若某连接为一个绝对多数连接,则该连接的目标进入为已证成(Justified)状态,该连接的源头进入已敲定(Finalized)状态。如图2所示,r、b1、b2都进入了已敲定状态,b3进入已证成状态。检查点的投票内容用以下表达式来表达:Vote=<v,s,t,h(s),h(t)>v: 验证人的信息s: 检查点的源头t: 检查点的目标h(s):源头的高度h(t):目标的高度已敲定的状态即我们通常所说的交易已被确认。

ETH2.0如何解决无利害关系和长程攻击

所有 PoS 类型的区块链都面临着两个最重要的安全问题:

  • 无利害关系 (Nothing-at-Stake)

无利害关系:在 PoS 共识机制中,矿工可以在所有分叉上进行挖矿而没有成本,从而达到收益最大化。

  • 长程攻击 (Long-Range-Attack)

长程攻击:攻击者首先获得一些私钥,只要这些私钥在历史上曾经获得了足够多的股权,便可以从这一时刻开始分叉进行 51% 攻击,制造一条分叉链。而由于 PoS 的出块不需要进行工作量证明,攻击者可以短时间内让重写历史的分叉链追赶上原本的主链,从而造成 PoS 链和安全性威胁。

针对区块链网络中的作恶行为,必须建立一个经济学上的惩罚机制来达到安全性。ETH2.0通过使用 Casper FFG 和 LMD GHOST 来解决这两个问题。

Vitalik 在文章Minimal Slashing Conditions中总结了四条规则,任何违反这些规则的行为都将受到惩罚:

  • 发送 Commit 消息必须是在接收到2/3的 Prepare 消息之后;

  • 对两个 Epoch 进行连接时,被指向的 Epoch 必须有2/3的 Prepare,且这些 Prepare 必须指向同一高度;

  • 任何新的 Prepare 消息只能指向最后一个已提交或更新的高度;

  • 只能对同一高度提交两次 Prepare 消息。

这四条规则可简化如下:

某验证人发出的两个投票 Vote=<v,s1,t1,h(s1),h(t1)和 Vote=<v,s2,t2,h(s2),h(t2),若存在以下两种情况则会遭受惩罚:

1. h(t1)=h(t2)对同一个目标高度进行两次投票

2. h(s1)<h(s2)<h(t2)<h(s2)两个投票的高度范围中一个包括另外一个


图3:LMD GHOST

为解决长程攻击,ETH2.0 引入了 LMD GHOST 分叉选择规则,如区块链网络中存在分叉,则选择当前 Checkpoint 中验证人投票最多的链。

至此,两个安全问题均被解决。


—-

编译者/作者:HashQuark

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...