Casper 將在以太上坊上實現(xiàn) POS (權(quán)益證明) 協(xié)議。這篇文章首先回顧了 POS 的重要性及其存在的優(yōu)缺點抖部, 并且對 Casper 進行了廣泛的概述鹰服,澄清了與 Casper 相關(guān)的兩個協(xié)議設(shè)計上的一些混淆。這兩種提議在實現(xiàn)上使用了相同的核心設(shè)計原則:應(yīng)用數(shù)字貨幣經(jīng)濟機制設(shè)計來保護網(wǎng)絡(luò)眼俊,同時處理關(guān)于活躍度意狠,安全性和同步假設(shè)上的挑戰(zhàn)。這篇文章還概述了迄今取得的進展和未來的挑戰(zhàn)疮胖。最重要的是环戈,對于初學(xué)者,本文將各種有用的資源結(jié)合在一起澎灸,對關(guān)鍵概念進行了說明和定義院塞。
文中如有不當之處,請隨時向我聯(lián)系提出問題性昭、更正或反饋拦止。
Outline | 大綱
- 介紹
- 權(quán)益證明
- 兩個 Caspers 的故事
- 為什么 Casper 重要
- 設(shè)計原則
- 挑戰(zhàn)
- 未來的工作
- 詞匯表
- 結(jié)論
介紹
Casper 最早從2014年出現(xiàn),并不能算是一個新的項目糜颠,所以幸運的在網(wǎng)上能找到很多有關(guān)于它的文章汹族。雖然有關(guān)的信息非常多,但初學(xué)者卻沒有一個足夠簡明的學(xué)習起點來參與到這個項目中其兴。這就是我寫這篇文章的原因顶瞒。
不同于其它的文章、視頻和論文主要集中討論有關(guān) Casper 的規(guī)范忌警、實施和驗證搁拙。這篇文章著重介紹 Casper 的各種指導(dǎo)性設(shè)計原則秒梳;它與其它競爭替代方案的差異;以及為什么我們要關(guān)注它箕速;如何為這個項目做出貢獻等內(nèi)容酪碘。
此外,Casper 的保持著了非常開放和相互協(xié)作的文化盐茎,它由以太坊研究人員兴垦,開發(fā)人員和社區(qū)成員共同維護。我希望這篇文章可以繼續(xù)保持這個傳統(tǒng)字柠,向你介紹 Casper探越, 并試圖闡述 Casper 對于以太坊以及更大的公鏈生態(tài)系統(tǒng)的重要性。
總而言之窑业,這篇文章是:
- 對 PoS 和 Casper 的快速和廣泛的介紹钦幔。
- 討論為什么 Casper 重要,其設(shè)計原則及其面對的挑戰(zhàn)常柄。
- 能讓你開始學(xué)習使用 PoS 和 Casper 的一系列關(guān)鍵資源和術(shù)語的列表鲤氢。
而不是:
Casper 的完整歷史。
Casper 規(guī)范西潘。
Casper 的實現(xiàn)細節(jié)卷玉。
Casper 形式化驗證。
注意:文章中隨處可見相關(guān)資源列表的鏈接喷市。
通過這個相种,我希望你喜歡這個適合初學(xué)者的 Casper 的介紹:以太坊 POS (權(quán)益證明)的研究和實現(xiàn)。
權(quán)益證明
(如果您已經(jīng)對 PoS 了如指掌品姓,請閱讀下一節(jié):“Casper 是什么寝并?”)
權(quán)益證明(PoS)是公鏈的一種共識算法,其實現(xiàn)依賴于驗證人在網(wǎng)絡(luò)中的經(jīng)濟利益缭黔。
在基于工作量證明(PoW)的公鏈(如比特幣和當前實施的以太坊)中食茎,通過對解加密算數(shù)題的參與者進行獎勵蒂破,來驗證交易并創(chuàng)建新的塊(即采礦)馏谨。而在基于 PoS 共識的公共塊(如以太坊即將推出的 Casper )中,驗證人輪流提議新塊并對下一個塊投票附迷,每個驗證人的投票權(quán)重取決于其持幣量的大芯寤ァ(即股權(quán))。驗證人對于區(qū)塊鏈網(wǎng)絡(luò)提供服務(wù)是有獎勵的喇伯,而且這種獎勵也實現(xiàn)了對攻擊者的的經(jīng)濟制約喊儡。
PoS 的明確優(yōu)點包括安全性、降低集權(quán)風險和提高能源效率稻据。
明確的經(jīng)濟安全
PoW 工作量證明受到你能承受多少電力成本和硬件折舊的限制艾猜,所以具有一個動態(tài)調(diào)整(通過10分鐘出塊的目標)的隱性成本。雖然 PoS 有自己的挑戰(zhàn)(在后面有討論),其主要優(yōu)點之一是可以靈活地明確地設(shè)計對拜占庭行為(即不遵循協(xié)議)進行的懲罰匆赃。 這使得協(xié)議設(shè)計者能夠?qū)W(wǎng)絡(luò)中各種行為的不對稱風險和收益回報情況進行更多的控制淤毛。 安全性的另一個方面是對軟件和網(wǎng)絡(luò)精密性進行破壞的成本,因此具有明確懲罰(可能在比PoW 更嚴重的級別上)的能力可以增加網(wǎng)絡(luò)的安全性(意即經(jīng)濟安全)算柳。
相關(guān)說明低淡,Vitalik 進一步認為,PoS 具有更好的恢復(fù)屬性瞬项。在 PoW 中蔗蹋,存在一個可以使塊鏈不可用的“51%算力攻擊問題。在 PoS 中囱淋,網(wǎng)絡(luò)可以處罰沒收攻擊者的股權(quán)猪杭,防止重放攻擊。經(jīng)濟分析進一步澄清了這一概念妥衣。重放攻擊的邊際成本與 PoS 的第一輪相同胁孙。而在 PoW 中,51% 攻擊期間另一輪的主要邊際成本是電力成本(重放攻擊引起的的硬件折舊和物理空間成本增加很谐屏邸)涮较。簡明如 Vlad Zamfir所說,在 PoS 中重復(fù)的 51% 的攻擊成本就好像每一輪都要“你的 ASIC 礦場燒毀”一樣冈止。
減少集中化
為了達成共識狂票,PoS 權(quán)益證明減輕了規(guī)模經(jīng)濟的影響。在 PoW 工作量證明中熙暴,我們已經(jīng)看到闺属,為保護網(wǎng)絡(luò)安全,相對集中的礦池(例如 AntPool)比規(guī)模小的更受到信任周霉。大礦池可以通過(1)在較大的運營中攤銷固定成本掂器,(2)通過運營較大的實體來提高議價能力,來降低其技術(shù)和運營基礎(chǔ)設(shè)施(如數(shù)據(jù)中心成本俱箱,電力成本国瓮,人員成本)的單位成本。
這意味著兩個成本相同的礦池狞谱,取得的算力會不一樣乃摹,一個能實現(xiàn)更高的算力,并在網(wǎng)絡(luò)上有更大的影響跟衅,即錢能生錢孵睬,例如,10,000名礦工單獨挖礦伶跷,每個礦工花費1美元/分鐘(8,860萬美元/年)的成本掰读,比一個同樣花費10,000美元/分鐘(盡管也花費了8760萬美元/年)的礦池的算力要低得多秘狞。(進一步:量化 PoW 挖礦中心化的好處將是令人著迷的,即它是1bps 蹈集,1% 還是算力以投資每美元比率的倍數(shù)谒撼?)
然而,在 POS 權(quán)益證明的情況下雾狈,一美元就是一美元廓潜。這樣的好處是,你不能通過匯集在一起善榛,使得一美元值得更多辩蛋。您也不能開發(fā)或購買專用集成電路(ASIC),從而在技術(shù)上占有優(yōu)勢移盆。所以悼院,PoS 不同于 PoW 挖礦收入的累計分配方式,采用了比例分配咒循。(成熟的去中心化的聲譽/身份管理服務(wù)為按比例分配收益成為可能)据途。
能源效率
PoW 工作量證明機制通過浪費資源來保障網(wǎng)絡(luò)。比特幣目前每年使用超過20 TWh的電力叙甸,這已經(jīng)接近厄瓜多爾整個國家的電力消耗颖医。為了使比特幣在支付的規(guī)模上得到更廣泛的使用,它必須浪費象更大的國家一樣多的電力裆蒸。根據(jù)這樣的發(fā)展熔萧,我們就可以明白,工作量證明可能不是合適的發(fā)展方向僚祷。
雖然比特幣可能具有超過其財務(wù)成本和外部環(huán)境的重要社會功能(即Nick Szabo的社會可擴展性論證)佛致,但 PoS 的支持者認為借鑒 PoW 塊鏈的激勵機制,而不用浪費太多的能量是可能的辙谜“秤埽或者,有些人可能認為存在負面外部性的代價装哆,即社會可擴展性的好處甚至可能超過環(huán)境成本罐脊。
雖然確切的答案很難得到確定,但我認為整個數(shù)字加密生態(tài)系統(tǒng)有責任探索所有有希望的共識機制烂琴,衡量其利弊和可行性爹殊。(例如蜕乡,其他項目正在測試各種形式的存儲證明的好處和可行性等等)奸绷。
退一步講,值得注意的是 PoW 的發(fā)行存在兩種成本层玲。內(nèi)部成本号醉,由礦工支付反症,并轉(zhuǎn)交給貨幣持有人。外部成本畔派,比如政府的環(huán)境成本和補貼(很可能以更便宜的電力)铅碍。在 PoS 中,共識成本較低(無電力和硬件成本)线椰,從而允許低發(fā)行量胞谈。隨著網(wǎng)絡(luò)的成熟,甚至可能會出現(xiàn)負發(fā)行(網(wǎng)絡(luò)交易燃燒的憨愉,以及罰款和銷毀的)烦绳,并形成穩(wěn)定的價格。
因此配紫,不僅能降低環(huán)境的能耗径密,而且還能實現(xiàn)更簡單的結(jié)構(gòu)設(shè)計。這是因為較低的能源消耗允許將潛在的經(jīng)濟價值損失(即可信賴的未實現(xiàn)成本的風險)代替實際成本(電力和折舊成本是不可逆的)躺孝,以確保網(wǎng)絡(luò)的安全享扔。這是 PoS 的一個關(guān)鍵的基本假設(shè):實際成本和對虧損的預(yù)期可以激勵參與者保護網(wǎng)絡(luò)。因此植袍,雖然困難 - 但是有可能(因此更好)通過避免損失來確保公鏈安全惧眠,這可以減少系統(tǒng)中的公共成本和無謂損失。
PoS 總結(jié)
這里總結(jié)了 PoS 的主要優(yōu)點于个。雖然 Casper 為以太坊(以下討論)提供了具體的好處锉试,但其重要性的很大一部分是 PoS 帶來的好處:明確的經(jīng)濟安全,減少集權(quán)和能源效率览濒。
所以呆盖,現(xiàn)在通過 PoS,讓我們來看看 Casper贷笛。
進一步閱讀 PoS
- 權(quán)益證明常見問題 in Ethereum wiki
- 權(quán)益證明設(shè)計哲學(xué) Philsophy by Vitalik Buterin
- Pos的批判 by Tuur Demeester (and comments 1, 2, 3)
- Tendermint白皮書 by Jae Kwon
- 非工作證明的加密貨幣 by Iddo Bentov et al. (Slides)
- PoS 在比特幣維基上的介紹
- 選擇的示例: Tendermint, Polkadot, Peercoin.
兩個Caspers的故事
簡單來說应又,Casper 是以太坊的 PoS 權(quán)益證明實現(xiàn)的工作流。
Casper 并不是一個具體的實現(xiàn)乏苦,它是實際上由以太坊團隊正在積極研究的兩個主要項目組成株扛。非正式地,“Vitalik's Casper” 又稱 Casper FFG汇荐,還有 “Vlad's Casper”洞就,又名Casper CBC(見下文說明)。細節(jié)部分只有到你開始深入了解 Casper 的在線資料才能明白掀淘,外行可能對這個非常不解(事實上旬蟋,這就是寫這篇文章的主要動力)。雖然他們是獨立的實現(xiàn)革娄,但他們有著一樣的目標:將以太坊的工作量證明轉(zhuǎn)到 PoS 權(quán)益證明倾贰。
(盡管有一個令人驚訝的共同印象是冕碟,以太坊已經(jīng)在實施 PoS ,但它仍然是一個 PoW 鏈(使用ethash挖礦算法)匆浙,雖然比比特幣更內(nèi)存相關(guān)(挖礦的效率基本與CPU無關(guān)安寺,卻和內(nèi)存大小和內(nèi)存帶寬正相關(guān)),更耐 ASIC (即使用專門優(yōu)化的芯片產(chǎn)生的挖礦優(yōu)勢盡可能的小)首尼,但是它們是 PoW 鏈無疑挑庶,并且在能源效率上具有相同的缺點。
所以我們來簡要的討論這兩個 Caspers软能。
FFG vs CBC
注意事項:這兩個項目將在 Devcon3 之后的幾周內(nèi)提供更詳細的論文和概念證明挠羔,這里對其實現(xiàn)方法進行快速預(yù)覽。
友好的終結(jié)工具 Casper(“FFG”) ?- 又名“Vitalik's Casper” - ?是一種混合 PoW / PoS 的共識機制埋嵌,它是以太坊首個通向 PoS 權(quán)益證明的候選方法破加。更具體地說,F(xiàn)FG 在工作量證明(如以太的 ethash PoW 鏈)的基礎(chǔ)上雹嗦,實施了權(quán)益證明范舀。簡單地說,塊鏈將用熟悉的 ethash PoW 算法增加區(qū)塊了罪,但是每50個塊有一個 PoS “檢查點”锭环,通過網(wǎng)絡(luò)驗證人來評估區(qū)塊的最終有效性。
鬼馬小精靈 Casper(其名字源于上世紀90年代的一部電影《鬼馬小精靈》) :使用正確的建設(shè)(“CBC”) ?- 又稱“Vlad's Casper” - 與傳統(tǒng)協(xié)議設(shè)計的方式不同:(1)協(xié)議在開始階段是部分確定的(2)其余部分協(xié)議以證明能夠滿足所需/必需屬性的方式得到(通常協(xié)議被完全定義泊藕,然后被測試以滿足所述屬性)辅辩。在這種情況下,得出完整協(xié)議的一種方法是實現(xiàn)所預(yù)計的安全性 (一個理想的對手) 娃圆,或者提出合理估計的錯誤的例外玫锋,或列舉潛在的未來錯誤估計尿招。更具體地說李命,Vlad 的工作側(cè)重于設(shè)計協(xié)議,擴展單個節(jié)點對安全性估計的局限視角盟蚣,以實現(xiàn)共識安全性悦屏。
退后一步节沦,F(xiàn)FG更側(cè)重于通過多步驟過渡為以太網(wǎng)絡(luò)引入 PoS。通過準備的迭代實現(xiàn)础爬,增加 PoS 在網(wǎng)絡(luò)中的作用甫贯。(PoS 將從較小部分的獎勵開始)。相比之下看蚜,CBC 著重于通過第一個原則“通過建設(shè)”得出安全證明的正式方法叫搁。盡管令人困惑,解決這個問題的不同方法創(chuàng)造了兩個不同的工程。Casper 的最終形式可能來自對 FFG 和 CBC 的互相學(xué)習常熙。
下一步
雖然取得了實質(zhì)性進展纬乍,但是在高層的機制設(shè)計層面和底層編程實現(xiàn)層面的許多細節(jié)仍有待確定碱茁。維塔利克和弗拉德都公開承認了這一點裸卫,并且邀請更多的社區(qū)參與推動和討論。 總而言之纽竣,這兩個研究項目都非衬够撸活躍,11月份 Devcon3 將有更多的更新蜓氨。此概述的作用不包括更詳細的內(nèi)容聋袋,但請隨時在以下鏈接中深入了解更多實施和設(shè)計細節(jié)( FFG 和 CBC 論文發(fā)布后,本文檔可能會更新或后續(xù))穴吹。
FFG的相關(guān)鏈接
- FFG基礎(chǔ)教材 by Vitalik Buterin and Virgil Griffith (Draft)
- Casper Github Repo (FFG)
- Karl Floersch’s FFG Implementation on pyethereum
進一步閱讀 FFG
在Reddit上的簡單解釋 by Vitalik Buterin. August 2017.
最小削減條件 by Vitalik Buterin. March 2017.
動態(tài)驗證組的安全性 by Vitalik Buterin. March 2017.
Slasher by Vitalik Buterin. January 2014.
Weak Subjectivity by Vitalik Buterin. November 2014.
On Settlement Finality by Vitalik Buterin. May 2016.
三角形的危害 by Vitalik Buterin. July 2017.
Casper經(jīng)濟激勵概述 by Karl Floersch. Sept 2017.
另一個Casper的形式化方法 by Yoichi Hirai.
CBC 的相關(guān)鏈接
將在Devcon3之后更新
進一步閱讀CBC
- Casper CBC CESC deck and video by Vlad Zamfir. September 2017.
- Casper CBC EDCON deck by Vlad Zamfir. (Video part 1, part 2) February 2017.
- Devcon2 CBC Casper Deck and video by Vlad Zamfir. October 2016.
- 2016.12.06 History of Casper: Chapter 1by Vlad Zamfir?—?How Vlad started working on Ethereum and PoS. Slasher and deposits (Mar 2013?—?Sep 2014)
- 2016.12.07 History of Casper: Chapter 2by Vlad Zamfir?—?Nothing-at-stake. Bribing attack. Long range attack. Game theory and security research. (Fall 2014)
- 2016.12.11 History of Casper: Chapter 3 by Vlad Zamfir?—?Finality. Synchronicity Assumptions. Slashing Conditions. Tendermint. (Sep ’14?—?Dec ’14)
- 2016.12.12 History of Casper: Chapter 4 by Vlad Zamfir?—?Cooperative Game Theory. Oligopolies. How Casper is different than other PoS consensus designs. (Dec’14?—?Jan ’15)
- 2016.12.30 History of Casper: Chapter 5 by Vlad Zamfir?—?Censorship. Defining decentralization. Availability vs Consistency. Friendly GHOST (Feb ’15?—?March ’15)
Casper 系列歷史繼續(xù)...
為什么Casper重要
現(xiàn)在我們解碼了這個神秘的 Casper 項目幽勒。讓我們綜合一下我們對 PoS 和 Casper, 來理解 Casper 的重要性港令。
簡單來說:
- 去中心化(PoS)
- 能效(PoS)
- 明確的經(jīng)濟安全(PoS)
- 以太坊的擴展性
- 從 PoW 溫和過渡
PoS 方面的原因
前三點在“權(quán)益證明”部分中介紹過啥容。不過值得一提的是,以太價格在280億美元上下時顷霹,它是第二大的數(shù)字貨幣咪惠,約占總市值的18%。因此淋淀,任何增量的去中心化和能源效益的提高都可能產(chǎn)生不平凡的影響遥昧,并對未來產(chǎn)生非常重要的影響。
作為回顧朵纷,
(1)PoS 具有較小的可用經(jīng)濟規(guī)模炭臭,因為 - “美元兌美元” - 一個礦工/驗證人不能對網(wǎng)絡(luò)產(chǎn)生巨大的影響。在 PoW 中袍辞,一個大型礦池可能比單個礦工獲得每美元更多的哈希算力徽缚,而在 PoS 中,一美元是一美元革屠,這可能會減輕挖礦的中心化凿试。
(2)PoW 的網(wǎng)絡(luò)安全依賴于能源的浪費,PoS 則依賴于保證金的損失似芝。那么挑戰(zhàn)就是
(3)我們?nèi)绾文7拢ê驮鰪姡㏄oW 工作量證明機制)的優(yōu)點那婉,并通過經(jīng)濟機制設(shè)計來減少 PoS 的缺點。
擴展性的原因
接下來党瓮,讓我們來談?wù)勔恍┬碌臇|西:
(4)擴展性详炬。理解這一點的關(guān)鍵是雙重的:(a)Casper關(guān)于建立明確的最終共識(而不是概率上最終共識),(b)明確的最終共識可以通過分片進行擴展來維護網(wǎng)絡(luò)安全。
在 PoW 鏈中呛谜,最終共識是隱性的(如“游戲中的皮膚”特效是通過花費電力進行渲染)在跳。當您檢查交易在真實用例中的最終確定時,PoW 鏈中的最終性的隱性是顯而易見的隐岛。根據(jù)付款的金額大小和重要性猫妙,您可以等待額外的塊確認(最長鏈中出現(xiàn)交易以來的區(qū)塊個數(shù))。例如聚凹,對于買咖啡割坠,您可以使用較少的確認,但是為了購買汽車妒牙,您可能使用比平均確認數(shù)量更多的區(qū)塊個數(shù)來確認交易彼哼。
相反,Casper 提供了一個明確最終共識的概念湘今。例如敢朱,Casper FFG 開始將最終性依賴于在 PoW 鏈上。因此摩瞎,基礎(chǔ)鏈依然有一種隱性的方式來確定交易的最終結(jié)果拴签。然而,Casper FFG 在大約2.5 個epoch 時間窗口之后提供了明確的最終性(每個 epoch 是一個50個PoW 區(qū)塊愉豺,一個檢查點是一個 epoch 的最后一個塊篓吁,區(qū)塊首先被合理的提出,然后被驗證人確定蚪拦,在上面鏈接的文章中或以后的文章中可以看到更多的細節(jié)杖剪。)
在這一點上,使用某些拜占庭容錯假設(shè)驰贷,我們可以確定我們的假設(shè)是否被違反盛嘿,或是檢查點是最終的。既然我們也意識到驗證人設(shè)定了先驗(也可以是動態(tài)的)括袒,則不良行為者將通過分析故障歸因而受到懲罰次兆。
那么這與分片和可擴展性有什么關(guān)系呢?具有這種明確的終結(jié)性提供了 每個網(wǎng)絡(luò)節(jié)點必須做的(更準確地說是更少的)工作的靈活性锹锰,有更多的定期明確的最終性允許進一步探索問題芥炭,如:如何處理如果不是每個節(jié)點都保存所有的狀態(tài)或所有的交易?如果不是每個節(jié)點都必須驗證每個事務(wù)怎么辦恃慧?公鏈上有關(guān)區(qū)塊的這些問題都在區(qū)塊分片工作中解決了园蝠。
所以要回到這一點,如果我們要網(wǎng)絡(luò)中的每個節(jié)點“做得更少”或者“知道得更少”痢士, 那么只考慮過去幾個 epoch 時間內(nèi)的確定性比考慮創(chuàng)世塊以來的整個區(qū)塊鏈的確定性有巨大的好處彪薛。因此,在這個 epoch 時間間隔內(nèi),確定一個簡單的交易實際上并不能提高最終性善延,因為確認次數(shù)比 epoch 時間少少态。相反,最終性將使公鏈擴展到比現(xiàn)在每秒至10個事務(wù)更大的數(shù)量級易遣。
因為以太值280億
最后一點是(5)從 PoW 平緩過渡彼妻。象我這樣的新手需要了解的以下原委:以太的明確目標是在今年大幅度提高以太網(wǎng)的價值。該計劃是在 ethash PoW 鏈的基礎(chǔ)上混合 PoS训挡,然后逐漸轉(zhuǎn)向純粹的 PoS 實現(xiàn)澳骤。鑒于 ETH 網(wǎng)絡(luò)價值的大幅增長歧强,逐漸過渡到 PoS 是一種謹慎的策略澜薄,用于防止?jié)撛诘膬r值破壞,同時轉(zhuǎn)移重要的以太坊基礎(chǔ)設(shè)施摊册。
進一步閱讀
- 分片常見問題, Ethereum wiki
- On Slow and Fast Block Times by Vitalik
設(shè)計原則
這是從Vlad和Vitalik發(fā)布的各種各樣的文章中所收集的設(shè)計原則肤京。當前,Casper的指導(dǎo)設(shè)計原則分散在各種資料間茅特。希望能夠整體閱讀忘分,提供更明確內(nèi)容來概括設(shè)計原則的概念。
1白修、經(jīng)濟學(xué)設(shè)計行為妒峦。明確的經(jīng)濟機制設(shè)計可以實現(xiàn)其他社會契約(如以工作證明方式的共識協(xié)議)中隱含的經(jīng)濟激勵。如果你喜歡類比兵睛,在History of Casper part 3中搜索“big games” 肯骇。
2、 最大化攻擊成本例如祖很,攻擊者可以對協(xié)議功能進行攻擊的損壞程度應(yīng)受到一些行為因素的約束“griefing factor.”笛丙。為了造成100美元的損失,不應(yīng)該花費0.01美元假颇。也希望成本在100美元左右胚鸯。換句話說,我們希望最大限度地減少用于攻擊協(xié)議的每一塊錢的“攻擊利益倍數(shù)”(更多的是在另一篇文章中介紹)笨鸡。
3姜钳、公共成本效益,不只是私人的形耗。在我們開始擴張公有鏈時哥桥,協(xié)議經(jīng)濟學(xué)應(yīng)該考慮到社會(即 “公眾”)成本和利益(消極和積極的外部因素)。能源成本趟脂,環(huán)境影響和財富分配是一些顯著的例子泰讽。
4、 防止規(guī)模經(jīng)濟. 中心化削弱了公有鏈主要的價值。阻止規(guī)模經(jīng)濟能杜絕產(chǎn)生中心化要素已卸,并能建立更安全的區(qū)塊鏈佛玄。
5、 網(wǎng)絡(luò)安全來源于“游戲中的皮膚”累澡。簡單而值得重申梦抢。你抵押愿意可能失去的越多,我們才可以更相信你作為一個驗證人愧哟。雖然燃燒能源確保了pow的鏈安全奥吩,但“經(jīng)濟價值的損失 ”確保了POS鏈的安全。
6蕊梧、寡頭壟斷設(shè)計霞赫。合作博弈理論,是協(xié)議將無法完全減輕網(wǎng)絡(luò)中固有的集權(quán)力(即規(guī)模經(jīng)濟)的博弈的名稱肥矢。這意味著分析所有邊緣案例影響著自利卡特爾行為端衰。值得注意的是,協(xié)議應(yīng)該能避免卡特爾驗證人欺凌非卡特爾驗證人(即 “友好”)
7甘改、 追責安全旅东。設(shè)計應(yīng)使得盡可能的能將故障歸因于某個不良行為者。Casper依賴于削減歸因拜占庭行為的能力十艾。
8抵代、合理的活躍度。設(shè)計不允許攻擊者阻止區(qū)塊鏈的不間斷提議的發(fā)起和對檢查點/區(qū)塊塊進行投票忘嫉。這就是Casper與其他實現(xiàn)方式(如Tendermint)的區(qū)別荤牍,Tendermint如果沒有同步實現(xiàn)安全性,它將“鎖定”榄融。
9参淫、 最小同步性假設(shè)。為了讓其活躍和不阻斷區(qū)塊鏈增長愧杯,Casper具有最小的同步性假設(shè)涎才。事實上,我們預(yù)計節(jié)點每幾個月都不會頻繁登錄力九。
10耍铜、去中心化的事物應(yīng)該能夠被重新生成。一個協(xié)議只有在能夠從永久刪除所有其他節(jié)點跌前,從只留下一個節(jié)點中完全恢復(fù)才能算是去中心化棕兼。可用性抵乓,而不僅僅是一致性(同樣伴挚,Tendermint很容易被“阻擋”靶衍,無法重新生成;每個分支的驗證人集合將不斷變的更小根據(jù)Matthew Wampler-Doty和Vlad的觀察)。
11茎芋、反審查颅眶。主要的權(quán)衡的是有一種新的攻擊維度是驗證人故意離線。不過田弥,卡特爾的審查制度在這里是更大的罪惡涛酗。選擇審查制度的相對成本與獎勵和其他處罰(作為存款的百分比)將是獲得這項權(quán)利的關(guān)鍵。
進一步閱讀
- PoS設(shè)計理念
- Casper歷史(上面的鏈接)
挑戰(zhàn)
這里提供了更廣泛的Ethereum面臨的挑戰(zhàn)的列表偷厦。
POS的挑戰(zhàn)
無利害關(guān)系? ?- 如果鏈進行了分叉商叹,任何驗證人的最優(yōu)策略是在每個鏈上都進行驗證,以便驗證人獲得獎勵只泼,而不考慮叉的結(jié)果剖笙。
長程攻擊? ?- 與51%的攻擊相同的機制(使得更長的鏈條以攻擊者的方式重寫賬本),但不只是攻擊了前面的6個區(qū)塊辜妓,而是回朔到更早的鏈的歷史中(比如6萬個區(qū)塊)枯途。這是PoS的一個問題忌怎,因為它沒有工作量證明重寫一個很長的鏈籍滴。
解決這兩個挑戰(zhàn)的想法來自于slasher (以及其改進的變體)。要點是:
(1)驗證人是已知的榴啸,這允許在驗證人級別的錯誤歸因;
(2)通過“削弱條件”強烈地抑制某些行為孽惰,可以減輕這些問題。
再次鸥印,這個例子對于了解Casper團隊對共識算法設(shè)計的觀點至關(guān)重要:我們可以將經(jīng)濟機制設(shè)計用于安全的分布式系統(tǒng)勋功。
對POS的批評
逆向選擇 — 由于有潛在的嚴厲懲罰,很多中等或者厭惡風險的候選驗證人可能會不參加驗證人库说。那么人們可能會爭論那些尋找游戲規(guī)則漏洞的人更有可能成為驗證人并獲取更多利益狂鞋。更廣泛地,可以這么說—一個好人永遠的得不到比壞人更好的回報潜的。
回應(yīng):
這是未來的要解決的工作骚揍,也是研究團隊的重點領(lǐng)域:密碼經(jīng)濟學(xué)。隨著這個機制的參數(shù)化深入啰挪,團隊將迭代的去不斷優(yōu)化參數(shù)信不,平衡風險回報與存款規(guī)模的比例和他人的行為(拜占庭行為)。
值得提的是這個問題同樣存在于比特幣中亡呵。
富有的變的更富有 — 另外一個共同的擔憂是當人們知道“共識算法是基于你持有多少的代幣”抽活,這可能會加劇在這個加密貨幣生態(tài)系統(tǒng)中財富的不平等,同時更廣泛的發(fā)生在全球的經(jīng)濟中锰什。
回應(yīng):
這里的主要觀點應(yīng)該是POS和現(xiàn)行基于算法的比特幣POW相比較是相對平等(如擁有大資金的獲得較少的好處)下硕。正如上面討論的關(guān)于PoS的概述丁逝,PoS削減了規(guī)模經(jīng)濟,這減少了礦工的集權(quán)梭姓。而且果港,在PoS中,一美元就是一美元糊昙。所以根據(jù)合理的直覺判斷辛掠,反對PoS將加劇財富不平等,這實際上是對現(xiàn)狀的一個不平凡的改進释牺。
題外話:為了在PoS中具有不規(guī)則的擴張或者階梯式的財富分配(一個消除財富不平等分配的新維度)萝衩,我認為有必要擁有成熟可靠的身份或者榮譽系統(tǒng)。否則没咙,較大的資金池將會有“女巫行為”假冒的身份也能夠享受到階梯式獎勵系統(tǒng)的好處猩谊。然而,這個挑戰(zhàn)將被進一步解決祭刚,這也超出了Casper的范疇牌捷。
對于Casper的問題/關(guān)注
“有多個Casper讓人困惑”
很抱歉!這篇文章的目標是減少認知不對稱涡驮。但是要回顧一下暗甥,Casper是以太坊家族PoS的研究和實現(xiàn)。這些不同的工作流將很可能殊途同歸捉捅,但是協(xié)議研究的本質(zhì)有時候需要在確定最佳方案實施以前去研究各種不同的方法撤防。事情往往先變的越來越復(fù)雜,才會變得簡單棒口。
“Casper和Tendermint有什么區(qū)別寄月?”
這里比較簡單的回答是Casper重點關(guān)注活躍度(可用性)和可以接受相對不實時的安全(正確性)。雖然Tendermint是一個偉大的項目无牵,但他的缺點時漾肮,如果檢查點沒有得到三分之二的投票,那么鏈出塊將會停止茎毁。這就是為什么以太坊選擇在Casper上做工作而不是使用Tendermint的原因克懊。
引用Vlad Zamfir:
Tendermint 更傾向一致性多于可用性,Casper 更傾向可用性多于一致性(參考 CAP理論 )
Tendermin 對于在線的驗證節(jié)點沒有檢查潛在剛剛下線的驗證節(jié)點的行為充岛,Tendermint 沒有做出懲罰保檐。
更多的了解這個主題: Hudson Jameson 解釋這個引用, reddit討論板塊 Vitalik & Jae Kwon, 以及 Tendermint 白皮書.
“ 我們將要為一個價值280億美金活躍的網(wǎng)絡(luò)更換引擎?”
是的崔梗,這真的是非常有抱負和艱巨的事情夜只。然而, 切換到 PoS 在很早的時候其實已經(jīng)計劃了蒜魄,也是項目的指導(dǎo)原則之一扔亥。社區(qū)的成員非常鏈接以太坊改用 PoS 的計劃场躯。( 參考 以太坊冰河時代? —這條 PoW 舉步維艱的調(diào)整的并被鼓勵遷移到 PoS 上—這是被生態(tài)系統(tǒng)中眾所周知的)。
不用多說這件事應(yīng)該繼續(xù)推進旅挤,但是團隊將通過測試網(wǎng)絡(luò)逐步推進變革踢关。同時,最初的實現(xiàn)是混合的 PoS 模式粘茄,比起最終的純 PoS 共識签舞,這樣做對經(jīng)濟和安全的影響相對較小。
“在實踐中柒瓣,交易一般在10個區(qū)塊就被確認了儒搭。為什么最終確定需要通過一個50個區(qū)塊的 epoch?”
我們在上面已經(jīng)提過了,但是由于這個很重要芙贫,再提一次搂鲫。
首先,Casper 將開啟分片.
一開始我對這個并不是很了解磺平,但這是因為我們需要先拋開 Casper魂仍。 以太坊有很多的目標,但其中之一就是在技術(shù)和環(huán)境方面提供可擴展的區(qū)塊鏈解決方案拣挪。以太坊正在構(gòu)建一個世界擦酌,在這個世界里數(shù)字貨幣在全球經(jīng)濟中將擁有更大的空間,數(shù)量級上將有很大增長媒吗。在這個愿景中仑氛,Casper 旨在防止 PoW 挖礦浪費能源,但是我們?nèi)匀恍枰诩夹g(shù)上擴展 Ethereum闸英。這個項目一大部分涵蓋在了分片技術(shù)中。
今天介袜,網(wǎng)絡(luò)中的每個節(jié)點做了所有事情甫何。分片探索了各種辦法來減少每個節(jié)點所擔負的責任。這些細節(jié)超出了這篇文章的范疇遇伞,但是一個例子可能提出一個問題“有沒有一種辦法創(chuàng)建一種新機制辙喂,只用很小的節(jié)點組來驗證每一個交易?”
另外的信息時鸠珠,Casper 提供的定期最終共識在實現(xiàn)分片的過程中將帶來更小的安全風險巍耗。
第二點,明確共識機制更被推崇一致性的區(qū)塊鏈所青睞渐排。引用自 Vitalik:
在一個 PoW 鏈中炬太,如果發(fā)生類似 geth/party 的共識分叉,然后兩條鏈同時又在增長驯耻, 同時交易所只運行了一種客戶端或者有風險存款驗證在一條壞的鏈上亲族。但是如果交易所等待 Casper 共識炒考,那么在50/50的分叉中可能任何一條鏈都不會最終共識。這增加了平臺的安全性霎迫,因為在極端情況下斋枢,它“默認不去做最終共識” 好過于共識錯誤的東西。
總的來說知给,與直覺相反瓤帚,明確的共識對交易清算不是那么重要,對區(qū)塊鏈的擴展性和安全性更重要涩赢。
未來的工作
執(zhí)行
最終確定FFG和CBC的設(shè)計
實現(xiàn)概念論證的代碼
在測試網(wǎng)絡(luò)部署
一個Casper
思考 Casper PoS 的最終狀態(tài)缘滥。如何利用 FFG 和 CBC 的概念來整合成一個最終令人信服,安全和優(yōu)雅的版本谒主。
參數(shù)優(yōu)化
對于一個確定的機制朝扼,優(yōu)化用于預(yù)期激勵方式的參數(shù)和常數(shù)。在機制的設(shè)計和發(fā)掘上進行迭代霎肯。
社區(qū)培育
寫更多除了各種研究工作進度有關(guān)而于思想過程相關(guān)的文章擎颖,繼續(xù)于以太坊, PoS 和更廣泛的數(shù)字社區(qū)接觸观游。
將發(fā)布的之后的文章
- History of Casper Part 6
- Deep dive into how Casper enables sharding
- Deep dive into how and why Casper is different from competing designs
- Non-monetary measurs of “stake” and “skin in the game” (i.e. $10,000 is worth more to average person than billionaire
- Griefing Factor Analysis 2.0
詞匯表
我們在這篇文章中介紹了很多概念搂捧,您會碰到其他一些常見的概念,你將不可以避免的陷入大量的Chrome網(wǎng)頁中懂缕。這是您需要了解最有用和最常見的概念的粗略總結(jié)允跑。希望有幫助!(譯者:下方詞匯表請自行瀏覽搪柑,不進行翻譯)
Proof of Stake?—?a category of consensus algorithms for public blockchains that depend on a validator’s economic stake in the network.
Casper?—?Ethereum’s proof of stake research and projects.
Finality—?Once an operation in a system completes, the system doesn’t allow for the operation to be reverted (Vitalik on settlement finality). Context: in proof of work, finality is probabilistic and implicit. Casper is designing mechanisms that explicitly enforce finality.
Fork Choice Rule?—?A fork choice rule is a function, evaluated by the client, that takes as input the set of blocks and other messages that have been produced, and outputs to the client what the “canonical chain” is.
Slashing Conditions?—?Set of rules that, if violated, penalize the validator.
Sybil Attack?—?an attack wherein a reputation system is subverted by forging identities in peer-to-peer networks.
3 E’s of Sybil Resistance?—?1. Entry Cost 2. Existence Cost 3. Exit Penalty. (coined by Dominic Williams).
Nothing-at-stake problem?—?A proof of stake implementation challenge that refers to the inherent lack of downside for validating both chains in the case of a fork. It is a well-known problem of proof of stake that is considered solvable. For example, refer to Slasher.
Bribe attack?—?Attacker uses a bribe to change the Nash Equilibrium of a validator’s game theory framework to undermine the security of the protocol. (More context in History of Capser pt 2)
Long range attack?—?Same mechanism as 51% attack (make a longer chain that “rewrote” the ledger in the attacker’s favor), but instead of starting the attack 6 blocks back, go much further back in the chain’s history (think 60,000 blocks).
DAG?—?“Directed Acrylic Graph. A finite directed graph with no directed cycles. (ETH Stack Exchange).
GHOST?—?“Greedy Heaviest Observed Subtree.” It’s a chain selection rule with the objective of fast confirmation times while limiting compromises in security or decentralization. (Original Paper, ETH GHOST)
Synchronicity?—?Refers to the timing assumptions around the messages (i.e. synchronous, partially synchronous and asynchronous).
Liveness?—?“Availability.” Protocol-following nodes eventually decide on a value. Opposite would be a network state that is blocked from deciding on a value (i.e. Tendermint without 2/3 votes at a given depth)
Safety?—?“Correctness.” Protocol-following nodes decide on the same value. Another intuitive proxy is whether two conflicting blocks can be committed.
FLP Impossibility Theorem?—?“It’s impossible to have a live, safe and asynchronous network” (formally proven as well).
Accountable Faults?—?Faults that can be attributed to a specific validator or specific set of validators.
Byzantine Faults / Byzantine Behavior?—?Any fault presenting different symptoms to different observers. Non-protocol following behavior.
Byzantine Failure?—?Loss of a system service due to Byzantine faults in a system that requires consensus.
Byzantine Fault Tolerance (“BFT”)?—?Ability for a system to tolerate Byzantine faults. 1/3 Byzantine fault threshold in asynchronous networks. 1/2 in synchronous networks. (BFT consensus algorithms include Paxos, PBFT as well as newer Casper and Tendermint).
Nakamoto Consensus?—?PoW-based bitcoin-style consensus building. Also, Nakamoto-style Consensus exists, which would be chain-based PoS as opposed to BFT-based PoS.
Tendermint?—?Proof of Stake implementation that focuses on consistency. Never forks with less than 1/3 malicious actors, but downside is that the chain can stall if a chain lacks 2/3 of the validator votes.
Validator?—?An entity that validates checkpoints/blocks of a blockchain for rewards. A miner analog in PoS.
Validator Set?—?Set of validators for a given chain at any given time.
Checkpoint?—?In FFG, it is a block spaced in regular intervals (i.e. every 50 blocks) where the PoS validation mechanism is overlaid on top of the underlying PoW chain (e.g. Ethereum with ethash)
Epoch?—?In FFG, it is a 50 block period where a validator can vote on the finality of its final block (i.e. checkpoint). PoW miners mine blocks and PoS validators validate checkpoints every epoch.
Dynamic Validator Sets?—?The idea that a blockchain can have changing set of validators throughout a period. Treatment of this is a huge breakthrough in BFT-style consensus algorithms. Tendermint was first notable breakthrough. Casper is also working on this actively.
Equivocation?—?The act of a validator sending two messages that conflict with each other (more specific definition on slide 28 of this deck).
Dunkles?—?Mechanism that includes data from non-dominant block into the dominant block. This provides better incentive mechanisms and notably helps alleviate the nothing-at-stake problem (link).
Proposal Mechanism?—?Mechanism by which a validator in the set will suggest a block to assess for justification or finalization.
Justification —In FFG for example, 2/3 of a validator set voting on a fresh checkpoint that a checkpoint is the accurate record. This is the intermediary step for a finalized checkpoint.
Finalization?—?In FFG for example, 2/3 of a validator set voting on a justified checkpoint that a checkpoint is the accurate record. The completion of this step gives a checkpoint finality.
State Transition System?—?A system that maintains a given state (e.g. set of transactions or accounts) and its mutations over time (i.e. transition). Bitcoin, Ethereum, and other public blockchains can be considered state transition systems.
Protocol Utility Function?—?“…a formula that tells us how well the protocol is doing, that should ideally be calculable from inside the blockchain. In the case of a proof of work chain, this could be the percentage of all blocks produced that are in the main chain. In Casper, protocol utility is zero for a perfect execution where every epoch is finalized and no safety failures ever take place, with some penalty for every epoch that is not finalized, and a very large penalty for every safety failure. If a protocol utility function can be formalized, then penalties for faults can be set as close to the loss of protocol utility resulting from those faults as possible.” (from Triangle of Harm)
總結(jié)
好了聋丝,這是一個“初步了解”的很多信息,但是現(xiàn)在你基本上掌握了所有的基本知識工碾,并且可以深度到任何 Casper 的交流弱睦。我寫這篇文章的目的是 (1)從大量的關(guān)于 Casper 的內(nèi)容中整理提供一個總體的大綱 (2)鞏固我自身隊 Casper 的認識因為我正在研究以太坊(Casper, 分片渊额,Gas 價格) (3) 勾起大家對 PoS况木,Casper 和以太坊的認知和討論 (4) 驅(qū)動有才華的數(shù)學(xué)家,經(jīng)濟學(xué)家旬迹,計算機科學(xué)家和開發(fā)者們開始一同來解決我們的問題火惊。
如果你想更深入地了解,請查閱文章中的鏈接參考資源奔垦,考慮為未來的工作做貢獻屹耐,并與你身邊了解數(shù)學(xué),計算機科學(xué)宴倍,經(jīng)濟學(xué)张症,博弈論和分布式系統(tǒng)的朋友(不管是否在數(shù)字貨幣領(lǐng)域)談?wù)勔蕴缓?Casper仓技。
如果你看到這,謝謝你的閱讀俗他。希望這對你有幫助脖捻,請通過電子郵件或 twitter 來向我提出問題,意見或者評論兆衅。我們很樂意聽到您的反饋地沮!
特別鳴謝 Vitalik Buterin, Vlad Zamfir, Virgil Griffith and Karl Floersch 參與討論。所有的錯誤都是我自己的羡亩。
謝謝Vitalik Buterin和Karl Floersch.
英文原文鏈接: https://medium.com/@jonchoi/ethereum-casper-101-7a851a4f1eb0:
譯文鏈接: https://ethfans.org/posts/ethereum-casper-101