Twitter史上第一人!V神連發75條推文,以太坊究竟怎麼了?
本文由微信公眾號DappVision原創首發,轉載請聯絡授權
一套以太坊Casper竟還有兩幅面孔?
今日,V神在Twitter上連刷75條推文的資訊相繼霸佔了各大媒體頭條,一時間成為輿論焦點:“ETH怎麼了?”、“V神又有新動作?”
V神這75條推文,其實是解釋了Casper研究的歷史和現狀,包括FFG 與CBC之爭、隨機性的作用以及機制設計等問題。從創始人及FFG提出者的角度,洋洋灑灑4000字對以太坊Casper的發展進行較為詳盡的解讀。
DappVision整理了V神的全部75條推文內容,這也是對以太坊Casper最完整的解讀。在瞭解原文之前,我們首先要知道什麼是Casper?
瞭解以太坊Casper
Csaper是以太坊選擇實行的PoS協議。它實施了一個程序,使得它可以懲罰所有的惡意因素。這就是權益證明在Casper下是如何工作的:
- 驗證者押下一定比例的他們擁有的以太幣作為保證金。
- 然後,他們將開始驗證區塊。也就是說,當他們發現一個他們認為可以被加到鏈上的區塊的時候,他們將以通過押下賭注來驗證它。
- 如果該區塊被加到鏈上,然後驗證者們將得到一個跟他們的賭注成比例的獎勵。
- 但是,如果一個驗證者採用一種惡意的方式行動、試圖做“無利害關係”的事,他們將立即遭到懲罰,他們所有的權益都會被砍掉。
正如你可以看到的,Casper被設計成可以在一個無需信任的系統上工作,並且是更加拜占庭容錯的。
任何人,如果以一種惡意的,或者說是拜占庭叛徒式的方式行動,就會立即受到懲罰、失去他們的保證金。這就是它不同於其他權益證明協議的地方。
Casper FFG VS Casper CBC
Casper不是一個具體的專案。它是兩個研究專案的融合,這兩個在最近一直由以太坊開發者團隊承擔:
· Casper the Friendly Finality Gadget(FFG)
· Casper the Friendly GHOST: Correct-by-Construction(CBC)
Casper FFG也就是眾所周知的Vitalik版Casper,是一個混合PoW/PoS共識機制。它是正準備進行初步應用的版本,也是被精心設計好來緩衝權益證明的轉變過程的。設計的方式是,一個權益證明協議被疊加在正常的以太坊版工作量證明協議上。雖然區塊仍將通過工作量證明來挖出,每50個區塊就將有一個權益證明檢查點,也就是網路中驗證者評估確定性(Finality)的地方。
而Casper CBC就是我們所知的Vlad版Casper使用建構修正協議。那麼什麼是CBC協議呢?
這是一個普通的協議設計的樣子:
· 你正式指定協議。
· 定義該協議必須滿足的屬性。
· 證明該協議可以滿足給定的屬性。
而CBC協議的樣子是:
· 你正式地但只是部分地指定協議。
· 定義該協議必須指定的屬性。
· 從滿足所有它被規定去指明的屬性中推匯出該協議。
用大白話來說,你是動態地推匯出該協議的。獲得完整協議的其中一種方式是執行一種Vald稱為“理想對手(ideal adversary)”的預估安全預言機(estimate safety oracle),它執行下列兩者之一:
· 提出一個合理估計的錯誤的例外情況。
· 列出所有在未來可能發生的錯誤。
V神的75連發到底講了什麼
1.今天我將在推特上解釋Ethereum針對Casper研究的歷史和現狀,包括FFG 與CBC之爭、混合式、全開關、隨機性的作用,以及機制設計問題等等。
2.Ethereum 的權益證明研究始於2014年1月的Slasher專案。雖然該演算法不夠理想,但它引入了一些重要的思想,尤其是使用懲罰來解決無關緊要的問題
3.也就是說,我使用的懲罰非常小,只抵消了簽約獎勵。 弗拉德•贊菲爾(Vlad Zamfir)是在2014年年中加入的,他很快就開始要求驗證器存入比獎勵大得多的“保證金”,這可能保證金會因為行為不當而被拿走。
4.這是Vlad的複述《The History of Casper — Part 1》
5.2014年末的大部分時間裡,我們都在努力應對“遠端攻擊”,即攻擊者從主鏈上的存款中提取股份,並利用它建立一個具有比主鏈更多簽名的替代“攻擊鏈”,這樣他們就可以欺騙客戶機切換到這個“攻擊鏈”。
6.如果攻擊鏈在最近的某個時間點偏離主鏈,這就不是問題,因為如果驗證器為兩個衝突鏈簽署了兩個衝突訊息,這就可以作為懲罰它們並拿走它們保證金的證據。
7.但如果分歧發生在以前(如:遠端攻擊),攻擊者可以撤回他們的存款,從而避免對任何一家銀行的處罰。
8.我們最終決定,遠端攻擊是不可避免的,因為考慮到PoW支持者提出的很多原因《On Stake and Consensus》。但是,我們並不接受他們的結論。
9. 我們發現,我們可以通過引入額外的安全假設來應對遠端攻擊:客戶端至少每4個月登入一次(存款需要4個月才能被取走),而對客戶的影響只是拒絕回覆的次數更多。
10.對於PoW的支持者來說,這是一種詛咒,因為這感覺像是一種信任假設:當你第一次同步時,需要從某個可信的來源獲得區塊鏈相關資訊。
11.但對我們這些主觀主義者來說,這似乎不是什麼大事:你需要一些可信的來源來告訴你在任何情況下區塊鏈的共識規則是什麼(不要忘了軟體更新),因此這個PoS假設所需要的額外信任並不大。
12.這是Vlad的複述《The History of Casper — Part 2》
13.既然我們已經解決了存款和處罰的問題,我們就必須規定這些存款和處罰到底是什麼。我們知道我們追求的是“經濟終結性”,在這個屬性中,驗證器會以這樣一種方式在區塊上籤約……
14.一旦一個區塊被“確定下來”,如果沒有大部分驗證器必須簽署與早期訊息衝突的協議,那麼任何衝突區塊都不可能最終確定,區塊鏈可以檢測到這些訊息,並對其進行相應的懲罰。
15.我在一個稱之為“打賭達成共識”的方向上做了一個很長的、但最終卻毫無成效的概念研究《Understanding Serenity, Part 2: Casper》
16.通過打賭達成共識是一種有趣的構造,驗證器將在何處對哪個塊進行押注,押注本身決定了共識將支援哪個鏈。
17.PoW也有這個屬性,因為挖礦也是一種賭注,如果你在正確的鏈條上下注,你就會獲利,如果你在錯誤的鏈條上下注,你就會連挖礦的成本也損失了,除了PoS,我們可以把賭注壓得更高。
18.驗證者下注的機率開始會很低,但是當驗證者看到彼此對一個區塊越來越有信心的時候,每個人下注的機率都會呈指數級增長,直到最後他們把所有的存款都押在了這個區塊上。這被稱為“確定性”。
19.與此同時,Vlad開始大量研究機制設計,特別是著眼於使Casper更能抵禦寡頭壟斷,我們還開始研究受傳統拜占庭容錯理論啟發的共識演算法,比如Tendermint。
20.Vlad認為,傳統的BFT是站不住腳的(他尤其不喜歡硬臨界值,比如PBFT和Tendermint中2/3的驗證人),他將嘗試用一種他稱之為“建構修正協議”(CBC)的方法,從零開始,有效地重新定義BFT理論。
21.Vlad的原話是
The History of Casper — Chapter 3
The History of Casper — Chapter 4
22.按結構進行校正的哲學與傳統的BFT非常不同,因為“確定性”是完全主觀的。在CBC哲學中,驗證器會簽署訊息,如果他們簽署的訊息與之前的訊息衝突……
23.他們就必須提出一個“辯護理由”來證明,在相關意義上,他們投票支援的新事物比他們投票支援的舊事物“擁有更多的支援”,因此他們有權轉變支援方向。
24.為了檢測確定性,客戶端尋找訊息的模式,以證明大多數驗證器都可靠地投票給區塊B,如果沒有很大一部分驗證器“非法”切換投票,他們就無法捨棄區塊B。
25.例如,如果每個人都投票給B,那麼每個人都在一個包含他們投給B這個資訊的區塊上,這證明了他們支援B並且知道其他人都支援B,所以他們沒有理由去轉換到B以外的東西。
26.我最終放棄了通過打賭達成共識的想法,因為這種方法似乎從根本上來說風險太大,所以我轉而嘗試理解像PBFT這樣的演算法是如何工作的。花了一段時間,但幾個月後我明白了。
27.我設法簡化了PBFT,並將其轉換為區塊鏈語言,將其描述為四個“苛刻條件”,規定了哪些訊息組合是自相矛盾的、是非法的:
28.我定義了一個區塊何時被確定的規則,並證明了關鍵的“安全性”和“似合理的活躍性”:(I)如果一個區塊被確定,那麼在>= 1/3違反苛刻條件的情況下,衝突塊無法被確定……
29.如果一個區塊被確定,2/3誠實的驗證器總是可以合作確定一個新的區塊。因此,只要> 2/3是誠實的,演算法既不能“言而無信”,也不會“陷入困境”
30.最後,我將最小削減條件從4個簡化為2個,這樣便誕生了Casper FFG,它被設計成可以覆蓋在任何PoW、PoS或其他區塊鏈之上,提供更強的確定性.
31.確定性(Finality)是非常重要的進步:意味著一旦一個特定的操作完成,它將永遠被蝕刻在歷史上,沒有任何東西可以逆轉這個操作。不管網路延遲(不像PoW中的確認),它都是安全的。想要破解操作需要>= 1/3的驗證器以一種可檢測的方式作弊,如果這樣做的話,也將危及到他們的保證金。
32.因此,破解這種確定性的成本可能高達數十億美元。Casper CBC和Casper FFG方法都實現了這一點,儘管在技術上有所不同。
33-75條推文,V神分析了自己與Vlad的不同觀點,並闡述了Casper CBC和Casper FFG的發展近況及未來規劃,微信回覆關鍵詞“V神”或"Casper”,獲取全文內容。
文章部分內容參考:
《https://blockgeeks.com/guides/ethereum-casper/》
V神Twiiter:https://twitter.com/VitalikButerin