ETH2.0 都要來了你還不知道Casper 嗎?
二級標題
二級標題
Casper FFG ——PoW+PoS
Casper 其實有兩個版本,一個是Vitalik 領導的Casper FFG,另一個是Vlad 領導的Casper CBC,他們的不同之處就在於FFG 更多的是作為一個過渡協議,使得以太坊能夠從PoW 成功過渡到PoS;而CBC 則是以太坊切換到PoS 後一個更好的版本,但從目前來看CBC 仍有很多細節需要進一步研究和探討。
圖片描述
圖片描述

圖片描述
圖片描述

圖2: checkpoint 高度函數
二級標題
二級標題
其中:
其中:
vote=
其中:
v :Validator的身份信息;
s :任意一個justified的checkpoint的hash,可以理解為源checkpoint。關於justified的定義我們之後會詳細講解;
t :任意一個的子孫節點的hash,可以理解為目標checkpoint;
二級標題
二級標題
checkpoint 的兩種關係
在定義了投票規則之後,定義任意兩個checkpoint之間的關係:
圖片描述
圖片描述

二級標題
二級標題
checkpoint兩種狀態
在有了checkpoint 之間關係的定義之後,定義checkpoint——c 的兩種狀態:
- c是justified:
1)c = root :checkpoint c是根;
2)或存在(c'→c),即c' 到c 的supermajority link,並且c'是justified;
-c 是finalized:
a)c 是justified;
二級標題
c) c , c' not conflicting;
d) h(c')=h(c)+1;
二級標題
懲罰機制
為了防止Validator 在運行的過程中作惡,Casper 制定了一套懲罰機制如下:對於相同的Validator,發布了兩個不同的投票vote=和vote=,如果存在以下兩種情況則罰抵押的stake。
二級標題
2、h(s1)
圖片描述

二級標題
分叉選擇機制
二級標題
二級標題
Validator的更換
抵押:
抵押:
用戶想要成為Validator 需要抵押一定的stake,當用戶v的抵押交易被包含在一個dynasty=d的區塊中,那麼定義一個Start Dynasty,寫作SD(v) = d+2。
贖回:
Validator v想要取回抵押的stake,需要發起一個贖回交易,當這個交易信息被包含在一個dynasty為的區塊中, 那麼定義一個End Dynasty,寫作ED(v) = +2。為了避免處理多個SD 和ED,一個用戶在贖回之後不能再抵押成為Validator。同時為了避免壞人作惡後立刻贖回stake,在贖回交易執行後stake 仍需要鎖定一定時間。
對於一個區塊b,假設其dynasty 為d,只有d 在ED 和SD 之間的Validator 才可以進行投票。
本篇介紹到這裡結束,如果大家覺得有疑惑的地方可以加入Fractal 官方群討論,Fractal 的技工們在線解疑,在下篇文章中,我們將為大家介紹一下以太坊2.0 中將要使用的Casper 主要的協議過程。


