在Eth2.0中,共识过程只在信标链中进行,而Casper FFG机制则保证其运行。本文主要描述了Casper FFG机制的基本概念,举例阐释其在信标链上的作用。
译者序:Eth 2.0信标链的共识协议将逐渐从PoW向PoS过渡,在这条全新的链上,如何保障其安全性和活性呢?Casper FFG 作为区块最终确定工具,为eth2带来了福音。通过这篇文章,我们可以对Casper FFG的运行规则、安全性证明和活性证明有一个初步的了解。
为了对用户负责,任何区块链都必须保证链上区块的最终确定性和链的活性,而区块链共识机制的根本就是提供这些保障。在Eth2.0中,共识过程只在信标链中进行,而Casper FFG机制则保证其运行。本文主要描述了Casper FFG机制的基本概念,举例阐释其在信标链上的作用。
Casper FFG作为一项“最终确定性工具”(finality gadget),为区块的最终确定制定了规则,并对已被确定的区块进行检测。FFG独立于区块链本身的增长过程,可以作为一个叠加层为任何有效的区块链协议提供区块最终确定性。
就这方面而言,Casper FFG并非一项成熟的共识协议,因其本身并没有相关设置,以保证链的活性。(或许我会择时再写一篇文章阐释影响Eth2.0信标链活性的相关因素)
让我们先来看看Casper FFG机制的结构,然后深入了解其规则,从而理解FFG如何保证信标链的安全性和活性!
验证者通过验证区块间的交易是否有效,给链上的区块进行投票。每记投票的格式为(S, T),包含以下信息:
实际操作中,一记投票需包含以下内容:验证者的数字签名以及相应区块信息(包括区块哈希和区块高度)。
“证明”(Justification) 和“最终确定”(finalization) 是Casper FFG机制下的两个共识执行阶段,可以类比于更为传统的拜占庭容错共识协议 (BFT) 的“准备”和“执行”阶段。
2/3验证者投票证明了区块A和区块B
证明:区块B如果满足以下条件,则已被证明:
最终确定:区块B如果满足以下条件,则已被最终确定:
注意:关于Eth2.0 Casper FFG机制的最终确定规则,还有更加全面的阐释,详情请参阅此论文。上文所给的具体阐释,只是为了让本文更加通俗易懂。
Casper FFG机制有两条简单的规则:
验证者不可以进行以下任何一种情况中的 (S1, T1) 和 (S2, T2) 投票 1.区块高度(T1) = 区块高度(T2),或者 2.区块高度(S1) < 区块高度(S2) <区块高度(T2) < 区块高度(T1)
(译者注:这两种情况在Eth2中被描述为“双重投票”和“环绕投票”,恶意验证者会因此受到罚没。)
Violation of Casper FFG Rule 1: height(T1) = height(T2)
Violation of Casper FFG Rule 2: height(S1) < height(S2) < height(T2) < height(T1)
Casper FFG的目的是保障区块最终确定这一共识执行过程的安全性和活性,下面两点具体阐述了其安全性和活性:
尽管和传统的拜占庭容错共识机制 (BFT)文献相比,本文对FFG安全性和活性的阐释显得有些业余,但是对于大家理解区块链的最终确定机制,却刚好合适。
事实上,如果读者对BFT相关文献非常熟悉,会认为对于“plausible liveness”的解释十分荒谬。然而,由于Casper FFG只是最终确定性机制,因而说到保证系统的活性,其只需要避免以下情况的出现:诚实验证者为了继续提议或证明区块,不得不违反FFG规则。
至于安全性,可靠的安全性尤为重要,如违反规则的验证者会被标记下来,并将标记信息发送到PoS的机制上,从而对恶意验证者进行惩罚。这样做有助于协议的实现,以达到系统的平衡。
使得两个相斥的区块A和B最终确定(且互不为对方的子区块),有两种情况:
\安全性证明,区块高度******A****<****B****
还要注意的是,仅通过检查所有投票集合,找到有冲突的投票并检查相应的验证者签名,我们很容易确定违反Casper FFG规则的验证者。
因此,至少2/3的诚实验证者总是能够对一个新区块进行最终确定,这就保证了共识机制的活性。
来源 | adiasg.me
作者: Aditya Asgaonkar
感谢Carl Beekhuizen对本文的审校
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!