风险提示:理性看待区块链,提高风险意识!
引介 | Casper FFG 的可审计安全性和近似活性
首页 > 币界资讯 > 矿业前瞻 2020-04-17 11:17:02
币界网报道:

感谢 Carl Beekhuizen 的审阅。

区块链需要向用户提供两种保障—— 1)区块的确定性(finality)和 2).区块链的活性(liveness)—— 区块链的底层共识机制就负责提供这两种保障。以太坊 2.0 中 ,共识过程只在信标链(beacon chain)上发生,并使用 Casper Friendly Finality Gadget (FFG) 机制来帮助达成共识。本篇文章旨在描述基本的 FFG 机制,并证明它能提供上述两种保障。

Casper FFG 是一种“确定性工具”,这意味着 Casper FFG 规范了区块的确定性规则,并能在事件发生之后检查区块的确定性。FFG 机制与链的增长脱钩,可以作为独立组件附加在任意可用的区块链协议上来提供区块确定性。因为 Casper FFG 机制没有能够保证区块链活性的策略,因此从这个角度来看,它并不算是完全成熟的共识协议。(也许之后我会再写一篇关于以太坊 2.0 信标链的活性注意事项的文章!) 让我们先从 Casper FFG 的结构开始,然后深入 Casper FFG 机制的规则,最终了解它提供的安全性 & 活性保证。

投票

验证者通过提交见证消息(表明自己认为的 “有效转换(valid transitions)”)来对链上的区块投票。投票的格式为(S, T),包含两部分信息:来源区块(S)目标区块(T)—— 目标区块必须是 S 的派生区块具体来说,投票所包含的信息包括验证者的数字签名、用于确认区块的区块哈希和块高。

合理化(Justification)与确定性达成(Finalization)

合理化(Justification)与确定性达成(Finalization)是 Casper FFG 共识过程的两个阶段,可以和传统拜占庭容错(BFT)共识的 “prepare” 和 “commit” 阶段做横向对比。

- 因具备 2/3 以上的验证者投票,区块 A & 区块 B 得到合理化 -

合理化:只要某区块 B 满足下列条件,则该块就被合理化:

  • 区块 B 是创世区块,或
  • 超过 2/3 以上的验证者将选票投给 (A, B),其中 B 是 A 的后代区块,且 A 在此前已被合理化。

确定性:只要区块 B 满足以下条件,即获得确定性:

  • 区块 B 是创世区块,或
  • B 已满足合理性,且有超过 2/3 的验证者选票投给 (B, C),其中 C 是 B 的直系子块(即,区块高度(C) = 区块高度(B) + 1 )。

注意:关于确定性的定义,在以太坊 2.0 中 Casper FFG 有更一般化的定义,详见此文。使用上文这种表述是为了保证通俗易懂。

Casper FFG 规则

Casper FFG 只有两条简单的限制规则,应用这两个规则就能防止验证者同时给 (S1, T1) 和 (S2, T2) 投票:

(Casper FFG 不允许:)

  • 区块高度(T1) = 区块高度(T2),或
  • 区块高度(S1) < 区块高度(S2) < 区块高度(T2) < 区块高度(T1)

- Casper FFG 规则违反情况一 :区块高度(T1) = 区块高度(T2) (译者注:即所谓的 “双重投票”)-

- Casper FFG 规则违反情况二 :区块高度(S1) < 区块高度(S2) < 区块高度(T2) < 区块高度(T1) (译者注:即所谓的 “环绕投票”)-

安全性 & 活性

Casper FFG 的设计目的,是提供共识安全性和针对区块敲定过程的活性。讲得具体点,Casper FFG 提供以下保证:

  • 可追责的安全性:如果两个相互冲突的区块都达成了确定性,则至少有 1/3 的验证者违反 Casper FFG 规则,而 Casper FFG 可以识别出这些验证者。
  • 近似活性:无论协议运行处于什么状态,验证者都能继续履行职责、能在不违反 Casper FFG 规则的前提下敲定新区块。

尽管和传统的 BFT 文献相比,这里提到的安全性和活性定义不是那么规范,但这种诠释是非常适合用于分析区块链的确定性工具的!

事实上,熟悉 BFT 文献的人可能会觉得 “近似活性” 的概念简直异想天开;不过因为 Casper FFG 只是“确定性工具”,整个机制只要确保诚实的验证者能在不违反 FFG 规则的情况下推动推进协议,而不会被卡在任何一个环节,即可。

至于可追责安全性的定义,我们的重点是可追责性(即能够识别出违反规则的验证者),然后这部分信息能够被权益证明机制沿用、用于在区块链上处罚恶意验证者。最终目的还是为权益证明机制提供信息,使后者的激励机制能生效,促使共识过程形成协议一开始设想的均衡状态。

安全性证明

假设两个相互冲突的区块(都不是对方的子块)A 和 B 都被敲定了,那么可能有两种情况:

  • 区块高度(A) = 区块高度(B)
    • 因为 A 和 B 在得到确定性之前先要获得合理性,则它们各自都要收到至少 2/3 的验证者投票,这意味着一旦它俩都达到要求,则至少有 1/3 的验证者违反了 Casper FFG 规则。
  • 区块高度(A) < 区块高度(B) (具备普适性)
    • 为了让 A 达成确定性,需要超过 2/3 以上的验证者将选票投给 (A, C),其中 C 是 A 的子块。
    • 为了让 B 达成合理性,则在 B 之前必须存在连续升序的区块(创世块、B_0、 B_1、 ... 、B_n、B),且每个区块都已经被它的后一区块合理化(即,至少 2/3 的验证者投票给(G, B_0)、(B_0, B_1)、...... )。假设区块 B_m 是这串连续区块中的首块,区块高度(A) < 区块高度(B_m)。
    • 注意,这串连续的区块不存在与区块 A 或 C 相同的块高,不然就变成了上一种情形(块高相等的冲突区块情形,违反 Casper FFG 规则一) 。
    • 现在假设我们将票投给 (B_n, B_m) (其中 n = m-1) ,使得 B_m 获得合理性。则因为区块高度(B_m)、区块高度(B_m) 皆不等于区块高度(A) /区块高度(C),因此情况一定是区块高度(B_n) < 区块高度(A) < 区块高度(C) < 区块高度(B_m)。
    • 这样一来我们就能说——至少有 2/3 的验证者违反了 Casper FFG 规则二。

- 安全性证明,情况:区块高度(A) < 区块高度(B) -

而且只要确认票证集合、找出冲突选票、检查验证者签名,就能轻易揪出违反 Casper FFG 规则的验证者。

活性证明

  • 假设 P_0 是最新的合理区块,Q 是曾得到过验证者投票的最新区块。
  • 接下来,任何属于 P_0 子块的区块 P_1(区块高度(Q) < 区块高度(P_1) )都能在不违反 FFG 规则的情况下收到 2/3 验证者的的投票(P_0, P_1),进而取得合理性。
  • P_1 也能在不违反 FFG 规则的情况下收到 2/3 验证者的的投票 (P_1, P_2),进而获得确定性,其中 P_2 是 P_1 的子块。

因此,至少有一组验证者(超过 2/3)能够敲定新块。

进阶阅读材料

  1. Casper FFG 初版论文 ——Casper the Friendly Finality Gadget
  2. 对 Eth2.0 应用 Casper FFG 方法的分析 ——Combining GHOST and Casper

原文链接:

https://www.adiasg.me/2020/03/31/casper-ffg-explainer.html

作者:Aditya Asgaonkar

翻译&校对:IAN LIU & 阿剑

本文作者使用了 CC4.0 自由创作协议,只要保留作者署名即可自由分发、改编。

上一篇: Second State 发布支持新一代以太坊虚拟机 Ewasm 的 SSVM 版本 0.5.0
下一篇: 科普:以太坊区块大小是如何确定的
推荐专栏
Boss Wallet Web3 Econom Pass
专注币圈最新资讯
通俗浅显地聊透Web3大事小情
读懂区块链生态与未来,尽在币界网!
热门币种
更多
币种
美元价格
24H涨跌幅
BTC比特币
60,963.61 USDT
¥435,103.38
-2.72%
ETH以太坊
3,368.69 USDT
¥24,042.67
-0.3%
BNB币安币
570.68 USDT
¥4,073.00
-0.28%
USDT泰达币
1.02 USDT
¥7.25
-0.19%
SOL
135.96 USDT
¥970.36
+7.66%
USDC
1.00 USDT
¥7.15
-0.01%
TON
7.59 USDT
¥54.14
+4.55%
XRP瑞波币
0.47720 USDT
¥3.41
+0.48%
DOGE狗狗币
0.12210 USDT
¥0.87140
+2.43%
ADA艾达币
0.39050 USDT
¥2.79
+3.88%
热搜币种
更多
币种
美元价格
24H涨跌幅
比特币
61223.99 USDT
¥445,024.94
-0.02%
Solana
138.89 USDT
¥1,009.56
+1.87%
Filecoin
4.3864 USDT
¥31.88
-0.36%
Curve
0.2912 USDT
¥2.12
-5.61%
Terra Classic
8.2E-5 USDT
¥0.00
+0.6%
Conflux
0.1583 USDT
¥1.15
+0.83%
柚子
0.5808 USDT
¥4.22
+0.78%
狗狗币
0.1226 USDT
¥0.89
-1.53%
Shiba Inu
1.715E-5 USDT
¥0.00
-1.89%
Livepeer Token
16.4791 USDT
¥119.78
-3.3%
Arweave
26.778 USDT
¥194.64
-3.99%
波场
0.1229 USDT
¥0.89
-1.29%
最新快讯
更多
摩根大通:Mt.Gox债权人预计将在下个月出售部分比特币应收款项
2024-06-27 18:41:34
Bitlayer头矿节二期活动正式上线,用户可登陆OKXCryptopedia参与活动
2024-06-27 18:41:11
Ripple首席法务官:法院裁定SEC撤销代理顾问公司规则违反程序法
2024-06-27 18:36:59
DMMBitcoin黑客地址已将500BTC转移到新地址
2024-06-27 18:33:53
DMMBitcoin黑客再次将500枚BTC转至新地址
2024-06-27 18:32:23
初创公司Stability.AI获得LightspeedVentures投资
2024-06-27 18:26:57
首尔高等法院判定Fantom基金会对SikSin胜诉,认定AC领导了Fatom的开发
2024-06-27 18:24:39
下载币界网APP