【bakkt交易平台】ETH 2.0 Casper FFG 共识详解
随着信标链(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): 目标的高度
已敲定的状态即我们通常所说的交易已被确认。
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=
1. h(t1)=h(t2) 对同一个目标高度进行两次投票
2. h(s1)
图 3:__LMD GHOST
为解决长程攻击,ETH2.0 引入了 LMD GHOST 分叉选择规则,如区块链网络中存在分叉,则选择当前 Checkpoint 中验证人投票最多的链。
至此,两个安全问题均被解决。
来源链接:mp.weixin.qq.com
- 免责声明
- 世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
- 风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
- 世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。