詞匯表
Proof of Stake -- 公有鏈的一類共識算法凭需,基于驗(yàn)證人(validator)在網(wǎng)絡(luò)中的經(jīng)濟(jì)權(quán)益(economic stake)陪蜻。
Casper -- 以太坊的 PoS 研究和項(xiàng)目豫领。
Finality - 系統(tǒng)中的操作一旦完成闪湾,就永遠(yuǎn)再無法回滾(Vitalik on settlement finality)背景:在 PoW 中昵时,finality(最終確定性) 是概率性且隱式的早处。Casper 所設(shè)計(jì)的機(jī)制埃仪,是顯式強(qiáng)制保證最終確定性。
Fork Choice Rule - 分叉選擇規(guī)則(fork choice rule)就是一個(gè)函數(shù)陕赃,由客戶端進(jìn)行評估卵蛉,輸入為區(qū)塊或是其他生成的信息,向客戶端輸出“標(biāo)準(zhǔn)鏈(canonical chain)”是什么么库。
Slashing Conditions - 通過在 P2P 網(wǎng)絡(luò)中偽造身份傻丝,進(jìn)而破壞一個(gè)信譽(yù)系統(tǒng)(reputation system)的攻擊。
3 E’s of Sybil Resistance - 1. 進(jìn)入成本(entry cost)2. 存在成本(existence cost)3. 退出懲罰(exit penalty)诉儒。(源自 Dominic Williams)葡缰。
Nothing-at-stake problem - 一個(gè) PoS 實(shí)現(xiàn)上的挑戰(zhàn),它指的是如果出現(xiàn)分叉忱反,無法同時(shí)驗(yàn)證兩條鏈泛释。這是 PoS 的一個(gè)老大難問題,但是通常也被認(rèn)為是可解決的温算。比如怜校,參見 Slasher。
Bribe attack(賄賂攻擊) - 攻擊者用賄賂的方式注竿,改變驗(yàn)證人博弈論框架的納什均衡茄茁,以此來削弱協(xié)議的安全性魂贬。( 更多背景見 History of Capser pt 2)
Long range attack(長程攻擊) - 與 51% 攻擊(為了攻擊者的利益讓一個(gè)更長的鏈重寫賬本)的機(jī)制一樣,但并不是發(fā)起 6 個(gè)塊的攻擊裙顽,而是攻擊更多塊(比如 60,000 個(gè)塊)付燥。
DAG - “有向無環(huán)圖(Directed Acyclic Graph)”。一個(gè)沒有有向環(huán)的有限有向圖愈犹。(ETH Stack Exchange)
GHOST? - “Greedy Heaviest Observed Subtree”. 它是一個(gè)鏈的選擇規(guī)則键科,目的是快速確認(rèn),同時(shí)盡量減少在安全性或去中心化上的妥協(xié)漩怎。(原始論文萝嘁,ETH GHOST)
Synchronicity - 指的是消息的時(shí)間假設(shè)(也就是說,同步扬卷,部分同步還是異步)牙言。
Liveness - “availability(可用性)”。遵守協(xié)議的節(jié)點(diǎn)最終決定出塊怪得。其反面就是網(wǎng)絡(luò)狀態(tài)會(huì)因?yàn)槌鰤K決定而阻塞(也就是說咱枉,沒有 2/3 投票高度的 Tendermint)
Safety - “correctness”。遵守協(xié)議的節(jié)點(diǎn)會(huì)就出塊達(dá)成共識徒恋。另一個(gè)直觀解釋是兩個(gè)沖突的塊是否可以提交蚕断。
FLP Impossibility Theorem(FLP 不可能定理) - “不可能有一個(gè) live,safe入挣,asynchronous 的網(wǎng)絡(luò)”(已被證明)
Accountable Faults - 由于某一個(gè)驗(yàn)證人亿乳,或者某一些驗(yàn)證人引起的錯(cuò)誤。
Byzantine Faults(拜占庭錯(cuò)誤)/Byzantine Behavior -- 對于對于不同觀察者顯示出不同癥狀的任意錯(cuò)誤径筏。非協(xié)議遵守行為葛假。
Byzantine Failure(拜占庭故障) -- 在一個(gè)需要 consensus 的系統(tǒng)中,由于拜占庭錯(cuò)誤引發(fā)的系統(tǒng)服務(wù)損失滋恬。
Byzantine Fault Tolerance(“BFT”)-- 一個(gè)系統(tǒng)能夠容忍拜占庭錯(cuò)誤的能力聊训。1/3 的拜占庭錯(cuò)誤閾值在異步網(wǎng)絡(luò)中。1/2 在同步網(wǎng)絡(luò)中恢氯。(BFT 共識算法包括 Paxos带斑,PBFT 和 Casper ,Tendermint).
Nakamoto Consensus -- 類似比特幣就 PoW 的共識勋拟。此外勋磕,Nakamoto 風(fēng)格的共識存在,將會(huì)是基于鏈的 PoS 而不是基于 BFT 的 PoS敢靡。
Tendermint -- 專注一致性(consistency)的 PoS 實(shí)現(xiàn)挂滓。在少于 1/3 惡意參與者的情況下,永遠(yuǎn)不會(huì)分叉醋安,但是缺點(diǎn)是杂彭,如果缺乏 2/3 的驗(yàn)證人投票,鏈可能會(huì)停止運(yùn)轉(zhuǎn)吓揪。
Validator(驗(yàn)證人) -- 一個(gè)為了獲取獎(jiǎng)勵(lì)而驗(yàn)證 checkpoint 或是區(qū)塊的 entity亲怠,是 PoS 中的 “礦工”。
Validator Set(驗(yàn)證人集合) -- 一條鏈在任意給定時(shí)間的驗(yàn)證人集合柠辞。
Checkpoint -- 在 FFG 中团秽,它是按照規(guī)律(比如每 50 個(gè)塊)隔開的一個(gè)塊,這個(gè)塊在底層是 PoW 的鏈之上叭首,同時(shí)采用 PoS 驗(yàn)證機(jī)制(比如 Ethereum with ethash)习勤。
Epoch -- 在 FFG 中,50 個(gè)塊為一個(gè)周期焙格,驗(yàn)證人可以對周期的最后一個(gè)塊(也就是 checkpoint)進(jìn)行投票图毕。PoW 礦工出塊,PoS 驗(yàn)證人在每個(gè)周期對 checkpoint 進(jìn)行驗(yàn)證眷唉。
Dynamic Validator Sets(動(dòng)態(tài)驗(yàn)證人集合) -- 在一個(gè)時(shí)期內(nèi),一條鏈可以有一個(gè)變化的驗(yàn)證人集合。在 BFT 風(fēng)格的共識算法中寺鸥,這是一個(gè)巨大的改進(jìn)媳谁。Tendermint 是第一個(gè)突破,Casper 也正在這一點(diǎn)上積極運(yùn)作肝陪。
Equivocation -- 驗(yàn)證人發(fā)送兩個(gè)相互沖突的消息( 更準(zhǔn)確的定義見 slide 28 of this deck)
Dunkles -- 包含從非主導(dǎo)(non-dominant)塊向主導(dǎo)(dominant)塊數(shù)據(jù)的機(jī)制驳庭。它提供了一個(gè)更好的激勵(lì)機(jī)制,可以有效緩解 nothing-at-stake 問題(link)氯窍。
Proposal Mechanism(提案機(jī)制) -- 集合中的驗(yàn)證人提議哪個(gè)塊進(jìn)行公正(justification)或最終確定(finalization)的機(jī)制饲常。
Justification(公正) -- 比如在 FFG 中,如果驗(yàn)證人集合中有 2/3 的人對一個(gè)新的 checkpoint 投票狼讨,那么該 checkpoint 就是準(zhǔn)確的記錄不皆。這是形成一個(gè)最終確定化(finalized)的 checkpoint 的中間過程.
Finalization(最終確定) -- 比如在 FFG 中,如果 2/3 的驗(yàn)證人對一個(gè)被公正過的 checkpoint 投票熊楼,那么這個(gè) checkpoint 就是準(zhǔn)確的記錄霹娄。這一步完成后,checkpoint 被最終確定鲫骗。
State Transition System(狀態(tài)轉(zhuǎn)移系統(tǒng)) -- 一個(gè)維護(hù)給定狀態(tài)(比如交易或賬戶集合)和它隨著時(shí)間(也就是轉(zhuǎn)移犬耻,transition)變化的系統(tǒng)。比特幣执泰,以太坊和其他公有鏈可以被認(rèn)為是狀態(tài)轉(zhuǎn)移系統(tǒng)枕磁。
Protocol Utility Function(協(xié)議效用函數(shù)) -- 一個(gè)告訴我們協(xié)議當(dāng)前執(zhí)行狀況的公式,理想狀態(tài)下應(yīng)該是從區(qū)塊鏈內(nèi)部進(jìn)行計(jì)算的(calculable from inside the blockchain)术吝。在 PoW 的鏈中计济,它可以是所有生成的區(qū)塊占主鏈的百分比茸苇。在 Casper 中,如果協(xié)議效用(protocol utility)是 0沦寂,表示執(zhí)行完美学密,每個(gè) epoch 都被最終確定,也沒有發(fā)生安全故障传藏。對每個(gè)沒有最終確定的 epoch腻暮,會(huì)有一些懲罰,而對于每個(gè)安全故障會(huì)有一個(gè)非常嚴(yán)重的懲罰毯侦。如果一個(gè)協(xié)議效用函數(shù)可以被形式化哭靖,那么故障懲罰就可以盡可能與這些故障所造成的協(xié)議損失相匹配。(來自 Triangle of Harm)
原文:https://medium.com/@jonchoi/ethereum-casper-101-7a851a4f1eb0