V神最新演講:以太坊2.0究竟是什麼?

本文爲 Vitalik 在 Devcon4 演講的翻譯稿算法

祝賀中本聰共識誕生 10 週年!安全

今天個人演講主題是以太坊 2.0,但我但願呈現的不只是以太坊 2.0 在技術上的要點,還包括爲何咱們須要推動以太坊升級,咱們會作哪些升級,又經由哪些嘗試走到今天。服務器

那麼,什麼是以太坊 2.0 呢?

幾年來,咱們孜孜不倦地討論和研究系統的一些特性,也在 App 開發上投入了大量精力,最終,它們聚集在一塊兒,組成一個融洽的世界。這些特性包括權益證實算法, Casper;可擴展性,分片;虛擬機升級,EWASM;跨鏈合約上的強化;協議經濟模型改進,以及很是多促成邏輯層分散化的改進。重要話題還真很多。網絡

咱們作過哪些探索?

PoS

權益證實(PoS)的相關研究始於 2014 年。我在一月份發表的這篇博文(Slasher: Punitive Proof-of-Stake Algorithm)闡述了一個叫作罰沒者(Slasher)的算法,引入了權益證實算法中最基礎的概念:若是你違反協議而且被發現了,(這是能夠被證實的),你就要接受懲罰;這一方法能夠用來提高安全性。但在那時,正如你能夠在幻燈片中看到的,我相信 Slasher 是一種很是有用的建構,可讓權益證實「挖礦」的武器庫變得更充實,併爲咱們提供更強力的理由切換到權益證實。固然咱們還沒這麼作。數據結構

所以,在那時,要不要 PoS 當成咱們的方向還未有定論。但隨着時間推移,這一點變得清晰不少。異步

可擴展性

在 2014 年,首先,咱們探討了一系列有趣且重要的觀念,好比「Proof of proof of work」,這是一種提高可擴展性的建議;「中心輪輻鏈模型(Hub and spoke chains)」,讓一條鏈成爲中心,一系列的鏈成爲附屬,這其實就是一個很是早期的可擴展性和分片提議,嘗試提升區域內交易的可擴展性,但並不能提升全局交易(即從某條鏈到另外一條鏈)的可擴展性;「超級立方體模型(Hypercubes)」,立方體有 12個維度而不是 3 個,所以咱們能夠達到比中心輪輻模型更強的可擴展性。分佈式

如今,出於多個緣由,這些觀念都被拋棄了;不過,真的有人弄了一場浩大的 ICO 來開發它們,真高興有人願意嘗試(觀衆笑)。函數

那麼在 2014 年咱們究竟有沒有取得正確的進展呢?工具

2014 年的進展

有的。咱們獲得了一個概念叫作「弱主觀性(Weak Subjectivity)」,某種程度上來講,這是一個半形式化的安全模型,嘗試探討 PoS 保證金的罰沒條件,以及在什麼條件下 PoS 是安全的。同時,咱們也愈來愈肯定,具備更強安全屬性的 PoS 算法是存在的,因此點點幣(Peercoin)及其變種是真的有可能的。咱們也逐漸意識到,有一些可擴展性策略可以經過隨機抽樣跟權益證實算法結合,但咱們不知道具體怎麼作。性能

那時候咱們肯定了一個路線圖,Vinay Gupta 在 2015 年 3 月寫了一篇很棒的博文,列舉了當時來看以太坊路線的 4 個主要階段。第一階段:Frontier,就是咱們一開始啓動項目時所處的階段;第二階段:Homestead,從 alpha 走向 beta 版;第三階段,Metropolis(直譯爲「大都會」),那時候的預期是開發 Mist 和用戶交互界面並提高用戶體驗。但自那時以來,咱們的注意力轉向了實現更強的密碼學技術支持,而交互界面的提高變成了平行的目標。第四階段:Serenity,實現權益證實。從今日後,我願意稱之爲以太坊 2.0,固然我也不會拒絕用 Shasper 來代指。爲免混淆,咱們還能夠稱爲「Serenity」。

2015-16:低谷

而後,咱們就迎來了一個低谷:咱們在解決 PoS、可擴展性中的一些核心問題上遭遇了一系列失敗,Vlad 悄悄地暫停了他在 Casper CBC 中的全部工做。

咱們獲得的最有意思的觀念之一即是「投注共識(Consensus by Bet)」:參與者對下一次會敲定哪一個塊打賭,而一旦某些人下注,他們下注的事實自己便會成爲其餘人下注的考量因素。這樣的話,在某種意義上咱們就產生了一個遞歸公式,隨着時間推移,下注的人會愈來愈多,哪一個塊會被敲定也會變得愈來愈明顯;在對數輪之後,每一個人都會將本身全部的權益都投完,這樣咱們就達到了去定性。咱們沿着這條思路走得至關遠,爲它建立了完整的概念證實,你能夠(在幻燈片上)看到肯定化的過程,還有簽名函數什麼的。個人意思是,咱們在這裏花去了絕大部分時間,但而後整個思路就停滯不前了,主要緣由是咱們認識到了哪一種 BFT 啓發型共識算法能夠真正安全地工做。

存儲租金

Rent 的觀念實際上是這樣的:與其爲使用存儲空間收取一次性的高額費用,咱們能夠逐步收取費用。所以,以天天、每一個區塊或其它方式爲計,一旦特定的存儲空間被佔滿,你就須要爲此支付必定的 ETH。這裏寫的是 EIP 103,但實際上應該是 EIP 35 纔對,由於 35 纔是 issue 號碼。這是一個初步的想法,試圖造成一個正式的概念。從那時開始,咱們在如何才能最好地利用租金這一點上迭代了不少想法。

2015 年的可擴展性論文

這一篇論文的目標是造成二次方分片和超二次方分片的概念,但它真的太複雜了。它會包含一些很複雜的激化博弈(escalation game)。整個觀念是受到 escalation 在法律系統中的做用的啓發(我知道 Joseph 的哲學很是喜歡使用這種類比),但我試圖把它用到基礎層。裏面還包含「深度狀態逆轉「,就是說,若是有些事情真的弄錯了,那麼大量的狀態能夠在未來進行深度回滾。真的很複雜。

實際上,其中一個咱們沒法徹底把握、但在逐步接近的根本問題,就是所謂的」漁夫兩難「(Fisherman’s Dilemma)。這是分片研究中的一個很是根本的概念,描述了狀態的擴展性執行(scaling execution)、程序的擴展性執行與數據擴展可得性(scaling availability)之間的巨大區別。基本問題是這樣的:若是要運行程序,你可讓人們承諾答案是什麼,而後你能夠用挑戰遊戲、用二分法搜索肯定在哪一步上誰算錯了(譯者注:即每次都只運行一半的運算步驟,比對結果,來發現雙方到底在那一步上算錯了),確認事實後就能夠懲罰那些給出錯誤答案的人。而數據可用性的問題是:不管挑戰遊戲如何運行,你均可以做弊,由於你能夠徹底不公開任何數據,直到機制來檢查你有沒有公開數據,而後你只要公開機制要檢查的那部分數據就能夠了。

這已經證實是許多可擴展性算法中的一個很是重大的問題。我過去還寫了一篇博文來討論這個問題,大家能夠搜索 A Note on Erasure Coding and Data Availability,裏面講到了更多問題的細節。這也是拖慢咱們進度的其中一個緣由。但即使如此,咱們仍是很高興能推進以太坊繼續前進,咱們走在本身的道路上!

嗯,而後,就出了 The DAO 事件(觀衆笑)。這也沒什麼,也沒別的問題了。慢着,好吧,又出了個」上海 DoS 攻擊「(觀衆反應有點慢)。

總而言之,The DAO 事件、DoS 攻擊,最終耽誤了不少人的事件和精力,甚至長達 6 個月。不過,咱們仍是在前進,EWASM 在前進,關於虛擬機的研究在推動,咱們還作了一個替代性版本 EVM1.5。並且你們也多角度、更深刻地理解了更優區塊鏈算法的形態。

砥礪前行

而後,咱們就很是迅速地取得了一系列重大進展。在這段時間,咱們在不少不一樣的研究領域都有所收穫:一些是圍繞權益證實、但願讓咱們的共識層更加高效的;一些是圍繞可擴展性,但願讓咱們的基礎層共識能夠分片;一些是嘗試提升虛擬機效率的;還有一些是圍繞帳戶抽象的,帳戶抽象可讓用戶本身選擇要使用哪一種簽名方案,這樣能夠得到後量子時代的安全性,而且讓隱私解決方案變得更簡單;還有圍繞協議層經濟模型的。固然全部這一切都還在生長。

Casper FFG

在 2017 年伊始的某個時間點,咱們開發了一個協議,而且起了個謙虛的名字:最小罰沒條件(Minimal Slashing Condition)。最小罰沒條件轉化了 PBFT 類型的傳統拜占庭共識;在 80 年代,Lamport、Shostak 等人便建立了同類的材料,但我簡化了算法並把它放到了大多數區塊鏈的環境中。

基本的觀念以下:在一條區塊鏈上會不斷產生新的區塊,你能夠經過連續的合併和觀察來得到一種流水線版的效率:每一輪開始時你都會爲本輪添加數據,而在下一輪中人們能夠確認這些數據中的一部分;咱們能夠從中得到巨大的效率提高(譯者注:此即 FFG 的核心思想,一旦在某輪中某區塊得到 2/3 的驗證者贊成,該區塊的父塊便被敲定)。

一開始的最小罰沒條件有 6 條,而後我減小到 4 條,而一年後,咱們終止合併 prepare 和 commit,這即是 Casper Friendly Finality Gadget(FFG,友好的肯定性小工具)。

分片

上一年的 Devcon 上我演示了這種新的分片設計,就是保持主鏈不變,而後建立分片做爲某種意義上的 Layer-2 系統掛載在現有的主鏈上,確認足夠可靠以後再升級成爲 Layer-1。

Casper CBC

而後是來自 Vlad 的 Casper CBC ~ 論文。

Casper FFG POC

泰國時間 2017 年12 月 31 日 23:40,那時候咱們剛好在泰國,Casper FFG 概念驗證橫空出世。那時候咱們真的很是想肯定,一種 PoW/PoS 混合共識的技術詳述究竟是什麼樣子的,而這一種混合共識會使用一部分來自 Casper FFG 中的觀念,還有一部分傳統拜占庭容錯共識所啓發的觀念,並加載在現有的工做量證實鏈上。這會是一種可讓咱們快速轉向混合共識的機制,而且對現有區塊鍊形成的衝擊也最小,而後理論上咱們將有可能升級爲徹底的權益證實。

咱們一樣在這條路上走了很遠,咱們還作了一個 Python 測試客戶端,用不一樣的 VPS、服務器和電腦通訊來作測試。

Shasper

與此同時,咱們在分片上也取得了許多進展。咱們不斷完善分片的技術詳述,最終咱們在 18 年 3 月的臺北組織了一次集體休整。在這裏不少想法開始冒出來,如何實現一條分片區塊鏈看起來變得明朗起來。對,看起來變得明朗起來。

在 6 月份,咱們作了一個很是困難,但我我的認爲從長遠來看很是有價值的決定。咱們發現:咦,這邊咱們有幾支團隊在實現混合權益證實,他們試圖將 Casper FFG 開發爲一個現有鏈上的智能合約,對分叉選擇規則作調整;另外一邊,有幾支徹底隔離的團隊,要開發一個驗證者或者說管理者合約(後來被重命名爲鏈上分片管理者合約),在這個基礎上開發分片系統;他們之間是沒有交流的。在分片這一邊,最終變得愈來愈清楚的是:讓分片系統的核心放在 PoS 鏈上會給咱們帶來更高的效率;變成 PoW 鏈上的一個合約,咱們就不得不處理 EVM 的開銷,應付 Gas 機制,應付不可預測的 PoW 區塊時間;PoS + 分片 能夠帶來更快的出塊時間等一系列好處。

而後咱們就意識到,爲何這邊有個團隊在開發 PoS,那邊又有一個 PoS 項目?爲何咱們要作重複工做呢?而後咱們決定要把兩邊的工做合併起來。這個決定給以前的許多工做判了死刑,但意義深遠:咱們會在一塊兒工做,開發同一份技術說明,同一個協議,而咱們能夠同時讓 Casper PoS 和分片相得益彰。

總而言之,與其這邊有一個目的,那邊有另外一個目的,而後咱們要努力分辨如何合併兩邊的成果,咱們還不如在起點上多花一些時間,而後走向一套權益證實和分片區塊鏈。(掌聲)

其它

與此同時,咱們花了很多時間討論分叉選擇規則,最終咱們愈來愈接近也愈來愈深刻地理解分叉選擇規則;GHOST 算法雖然一開始是爲工做量證實設計的,但由於一系列緣由,咱們從新提議用於權益證實。

Justin 開始研究可證延遲函數(Verifiable Delay Funciton,VDF),咱們在斯坦福有個工做室,Justin 一直在跟那裏的許多研究者合做。

關於如何實現抽象和租金,咱們也造成了更多想法。由於一些理由,咱們決定將存儲租金重命名爲存儲維護費。

在研究方面,咱們正在研究跨分片交易,好比 csoss-shard-yanking,咱們是廣泛化傳統分佈式系統中的一些概念,用到異步的跨分片環境中;還有資源訂價的論文,包括最優化費用市場,如何收取存儲維護費,不一樣設計之間的權衡。Casey 還寫了這篇文章討論同步假設下的跨分片交易。固然,CBC 的研究也擴展到了,分片領域,對了,這個真的不叫 Valding,Vlad 很討厭這個詞。還有開發,咱們在以太坊 2.0 開發推動中使用的策略是:追求創造性的多客戶端去中心化開發。這不只僅是由於咱們有去中心化的追求,這也是一套很是實用的策略,就是打賭別的團隊都不會有你幹得漂亮;此外,上海事件讓咱們醒悟,若是某個客戶端出了問題而別的客戶端沒有,整個網絡能夠更好地運行;順便,還讓整個生態系統的開發更不依賴於基金會自己。基金會真正開發的客戶端是 Python 客戶端,Python 在性能上有內在的限制,這也給了你們激勵去運行由 Prysmatic 創造的客戶端、Lighthouse、Status 還有 Pegasus 以及其餘如雨後春筍般冒出的團隊開發的客戶端。

即將到來的 Serenity

那麼就下來,我得說,即將到來的,不能被稱爲 Shasper。Serenity 即將啓航!

Serenity 是什麼?

首先,Serenity 是繼 Frontier、Homestead 以及 Metropolis 以後的第四個階段。固然 Metropolis 被分爲拜占庭(Byzantium)和君士坦丁堡(Constantinople)兩個階段,而且君士坦丁堡升級就快啓動了。

其次,它是咱們在全部這些不一樣領域長達四年的研究的集大成者,包括 Casper(不只是混合共識,還包括 100% 純粹的 Casper)、分片、EWASM 以及全部這些協議研究的觀念。

而後,這是一種新的區塊鏈。從數據結構上來講是如此,但它會與當前的工做量證實區塊鏈保持必定的聯繫。那麼,好比,PoS 鏈能夠感知到 PoW 鏈的區塊哈希值,你能夠將 Ether 從 PoW 鏈上轉移到 PoS 鏈上。這是一套新系統,也是一套相互鏈接的系統,最長遠的目標是:當這個新系統足夠穩定的時候,全部現有區塊鏈上的應用能夠被存入新系統中某個分片上的合約,而後有一個用 EWASM 寫成的 EVM 解釋器。這一點尚未最終肯定,但從當前來看,這差很少就是咱們的路線圖了。

再次,Serenity 會成爲世界計算機,而不是像 1999 年的智能手機同樣,每秒只能處理 15 筆交易,勉強能玩一下貪吃蛇。

最後,Serenity 仍會是去中心化的,咱們還但願在一些維度上,它能夠比現有的區塊鏈更加去中心化。舉個例子,做爲一個信標鏈的驗證者,(從當前來看)你的存儲要求多是小於 1GB,比起今天你須要 8GB 來存儲狀態,或是像網上的流言說的那樣存儲以太坊區塊鏈須要 1.8TB,都會好不少。

指望的階段

Phase 0:權益證實的信標鏈。從某種角度來講,PoS 信標鏈是一個區塊鏈倉庫,存儲着全部信息,但它自身是啞默的。在信標鏈上會有一些驗證者(validator),這些驗證者會運行 PoS 算法;它就像是介於測試網和主網之間的東西,它確定不是測試鏈,由於你能夠質押真正的 Ether 進去並得到真正的 Ether 獎勵,但它也不是主鏈,由於上面沒有應用,因此若是它崩潰了,人們也不會哭爹喊娘,不會像上海 DoS 攻擊事件時那樣聲淚俱下。

Phase 1:做爲數據鏈的分片鏈。這就是分片會有的角色。這是一個簡化的版本,也就是說咱們並不對狀態作分片,而是對數據作分片;你能夠把數據放到鏈上,而後嘗試運行一個本身的狀態執行引擎。實際上,最容易分片的就是數據。所以,若是你想要在區塊鏈上作去中心化應用,如今你擁有了可擴展性,但並無所以具有狀態執行能力來開發智能合約應用以及全部那些很是複雜的東西。(譯者注:此句應有疑義。在原文連接所附視頻的第 23 分鐘。)

Phase 2:支持 EWASM 的狀態轉換。這一點包括:支持虛擬機、支持帳戶、合約、分片間 Ether 轉移,等等。

Phase 3 以及更遠:不斷迭代,加入新的技術。

指望的特徵

  • 純粹的 PoS 共識。

  • 更快的同步確認時間(8-16 秒鐘)。注意,由於信標鏈的分叉選擇規則以及簽名機制,信標鏈上的一次確認包括數百個驗證者之間的消息傳遞,從機率學的角度來講,實際上等同於現有以太坊工做量證實區塊鏈上的數百次確認。在消息同步傳遞的假設下,已經能夠被視爲將一個區塊敲定。

  • 在同步確認的假設下,10 – 20 分鐘達致經濟肯定性(Economic Finality)。

  • 經過 EWASM 實現更快的虛擬機執行。

  • 在理想狀態下,達成 1000 倍的可擴展性。

後 Serenity 的創新

強化隱私保護。咱們已經作了大量的工做。好比,在拜占庭階段,咱們激活了橢圓曲線運算、橢圓曲線匹配的預編譯。Barry White 作了很是棒的工做,用 Layer-2 來保護代幣轉移、投票、聲譽系統中的隱私。這些工做均可以借用過來。

  • 跨分片交易。

  • 半隱私鏈(Semi-private chain)。其中的觀念是,若是你想開發一些應用並讓數據在一部分用戶間保持私密狀態,你仍然能夠將全部的數據都放到公鏈上,只不過你是用加密形式放上去的,或者上傳哈希值、零知識證實,均可以本身決定。

  • 權益證實上的創新。這是咱們始終關切的一個事情。當 Casper CBC 在開銷上足夠經濟時,也會加入到咱們的路線圖。

  • 在實現 Serenity 以後,咱們準備將全部的東西都升級到 STARK。好比,將 STARK 用於簽名聚合、驗證糾刪碼(erasure code)來檢查數據可用性,也許最終會用來檢驗狀態執行的正確性。

  • 更強的跨分片交易形式。

  • 更快的單次確認。將確認時間從 8 秒降到更低。

中期的目標

  • 最終穩定化 Layer-1 的功能

  • 考慮使用 Issuance,以及費用……

  • 在人們但願協議層提供的保證(guarantee)和屬性上可以獲得愈來愈多的共識

  • 考慮治理問題

即將到來的更新

在最終發行以前,咱們還會作哪些更新呢?

首先,將協議層的詳述定型。一直在關注 GitHub 上的 ethereum 和 2.0 主要規範、信標鏈規範等內容的人應該直到,協議層發展得很是快,但咱們很快會將它們穩固下來。

繼續作開發和測試。如今以太坊 2.0 協議有 8 個實現正在開發。

跨客戶端測試網。一些人代表很是但願看到跨客戶端測試網能在明年 1 月份跑起來。我固然也很是樂於看到,今年 8 月的時候咱們已經看到了但願。在這裏簡單回顧一下以太坊 1.0 的開發歷程。從白皮書提出概念到正式發佈,中間隔了 19 個月,用了這麼長時間的部分緣由是在技術說明尚未定稿以前,咱們便試圖打造跨客戶端的兼容性,咱們是前後贊成作測試、發佈測試網、等待協議變動,贊成發佈新測試網,而後等待更多的協議變動,這樣來來回回了 5 次。在這個事情中咱們已經學到了教訓,咱們並不須要徹底專一於跨客戶端的兼容性,能夠等到真正接近技術說明定稿時再說。我認爲咱們離發佈技術說明的候選稿已經不遠了,至少在不包括狀態執行的部分中是如此。

最後是安全審計。在座哪些觀衆認爲安全審計是重要的?(觀衆呼聲)哪些觀衆認爲安全審計不重要呢?(鴉雀無聲)誰認爲這個世界是被蜥蜴人(Lizardman)掌控的呢?(觀衆笑聲)嗯,第三部分的人還笑了一秒鐘呢,真棒(譯者注:意思是相信世界被蜥蜴人掌控的,都比認爲審計不重要的人多)。

最後就是發行啦。大家以爲發行不重要嗎?(無人迴應)嗯,那麼在座哪位最喜歡的政治候選人是一個蜥蜴人呢?(觀衆大笑)

嗯,因此,發行就是咱們期待已久並在過去四年中爲之持續奮鬥的里程碑。而且,我相信這一切不會太遙遠。謝謝!

原文連接:www.youtube.com/watch?v=Km9…

做者:Vitalik

翻譯: Elisa, 閔敏, 阿劍

稿源:碳鏈價值(https://mp.weixin.qq.com/s/3hbOd8VtjSJCbbVZ9P-d_A)

相關文章
相關標籤/搜索