來自 MYKEY、HashKey 和鏈聞的以太坊研究者深度解析 2.0 路線圖。

原文標題:《萬向區塊鏈蜂巢學院 | 關於 ETH2.0 路線圖,搞研究的大腦在想什麼?》
整理:萬向區塊鏈

以太坊 2.0 是 2020 年區塊鏈行業最火熱的話題之一。萬向區塊鏈蜂巢學院線上公開課第 42 期,邀請了以太坊愛好者社區負責人阿劍、鏈聞研究總監潘致雄、MYKEY 研究部門負責人姚翔、HashKey Capital 研究總監鄭嘉梁,全面解讀以太坊 2.0 的路線圖。讓我們一起來看看搞研究的人,腦子裏都在想什麼。

萬向區塊鏈蜂巢學院 | 關於 ETH2.0 路線圖,搞研究的大腦在想什麼?

阿劍(主持人):各位在 B 站收看本場直播的朋友們,各位晚上好!這裏是由萬向區塊鏈實驗室和新鏈空間舉辦的蜂巢學院線上公開課,本期是第四十二期,主題是「關於以太坊 2.0 路線圖,搞研究的大腦在想什麼?」我是今天的主持人阿劍。

非常榮幸受邀擔任本場圓桌的主持,作爲關心以太坊的人,更令我激動的是今天晚上可以聽到三位非常資深的研究員對以太坊路線圖解讀和判斷。

現在先請三位嘉賓自我介紹一下。

潘致雄:大家好!我是來自鏈聞的潘致雄。

目前自己比較多的精力在以太坊本身和以太坊周邊的應用上,更多是以媒體角度觀察生態,和研究機構應用垂直社區的關注點和深度還不太一樣,今天主要是和大家討論和學習的。

姚翔:大家好!我是姚翔,來自 MYKEY。

我主要關注以太坊底層研究,例如 EIP 內容,也在做考古的工作,觀察這個成功的系統是怎樣一步步成長起來的,是很有價值的事情。我是密碼學相關專業,對密碼安全類的技術方案個人更感興趣一些。謝謝!

鄭嘉梁:大家好!我是鄭嘉梁,來自 HashKey Capital,HashKey Capital 是一間投資機構,我做研究是從投資的角度來看。

剛纔跟幾位老師聊,發現幾位老師考古能力非常強,但做投資更多的角度是着眼於未來。會從不同的角度跟大家學習一下以太坊 2.0,以太坊 2.0 是非常重要的話題,幾位老師在做研究方面都是行業標杆式的人物,非常榮幸跟大家一起討論相對來說挺複雜的問題。謝謝!

阿劍(主持人):感謝三位嘉賓的自我介紹,今天圓桌就要正式開始了。今天的主題是 ETH2.0,ETH2.0 是 2020 年大家談得特別多的話題,現在收看的直播的觀衆應該不止在一個場合聽到過 ETH2.0 的討論了。

是什麼原因讓我們在 2021 年開頭重新回到 ETH2.0 話題?關注 ETH2.0 路線圖進展的朋友可能會知道,在 2020 年 10 月以前,有一種常見的對以太坊 2.0 的解釋是,它將分成三個階段來部署, Phase0 實現權益證明的共識機制;Phase1 通過分片鏈來測試整個系統的數據吞吐量;Phase2 爲分片鏈添加執行功能,把數據吞吐量轉變爲事務處理的吞吐量。

在這種解釋中,有三個特點:

  • 強調三個階段的按順序推進。
  • 較爲重視 Phase 0 和 Phase 2 的里程碑意義;一個是開啓權益證明,另一個讓分片真正具有執行功能,讓系統變得可用。
  • 儘管有可能將 PoW 以太坊區塊鏈的遷移時間放在 Phase 1 實現之後,但更有可能放在 Phase 2 實現之後(也就是整個系統可用之後)。

這是在 10 月以前看到的解釋。但在 10 月,Vitalik 在以太坊魔術師論壇上發表了《以 Rollup 爲中心的路線圖》。結合其他研究員在公開的 AMA 活動透露的信息來看,以太坊 2.0 的路線圖似乎有所改變。

  1. 它強調 Phase 1 有了獨立的實現目標,即爲 Rollup 方案提供發佈數據的空間;
  2. 弱化了 Phase 2 在使系統可用上的意義,不再需要等到 Phase 2 系統纔可用;
  3. Phase 1 與合併的研究和實現都將並行推進。

有鑑於這些公開的信息,我們今天緊扣關鍵詞 「以太坊 2.0 路線圖」,來聽聽三位資深的研究員的解讀和觀點。

第一個問題,在三位研究者看來,以太坊 2.0 的路線圖是否已經改變?還是說,改變的只是推進策略,而不是長期的目標?

潘致雄:謝謝阿劍!我覺得很明顯,以太坊路線圖已經很明確地改變了,而且是在非常短的時間內發生了非常大的變化,變化是非常劇烈的。

發生這件事情的根本原因,一方面是 Vitalik、基金會、開發者發現了 Rollup 這套神奇的機制;另一方面之前這套路線圖裏的跨分片、分片執行等一系列難度。這兩方面的考慮之下,以及 Rollup 這套機制已經將原本鏈上計算+儲存範式發生了徹底的轉變,變爲鏈上無損壓縮、在鏈下進行大規模運算,在鏈上進行輕量級驗證,這種範式變化可以使以太坊區塊發生非常大的擴容。

所以,我覺得從長期來看,Rollup 很可能會成爲以太坊核心協議的一部分,就像現在我們所認識的以太坊域名協議(ENS)一樣,雖然路徑是不一樣的,ENS 是官方培養後來放養,ENS 可以自己賺錢。但 Rollup 存在很多方案,官方初期是以市場化、資助的形式資助部分 Rollup 的方案,但最終還是需要市場化 PK。

最終 Rollup 可能不會成爲官方協議的一部分,但可能是大家都離不開的東西。

阿劍(主持人):非常漂亮的回答。姚老師怎麼看?

姚翔:這個題目我特別喜歡,路線圖是不是真的改變?

首先,應該定義什麼是「路線圖」,今天我特意看了 Github 頁面修改記錄,2.0 是有規範文檔的頁面,2.0 的 spec 倒數第二次修改是去年的 12 月 18 日,修訂是 Vitalik 做的,刪掉了 Phase1 和 Phase2 兩個表達,修改成了在 AMA 裏面提到的三個東西:輕客戶端、合併、分片,合併和分片都還在 R&D 的過程。

(關於合併和分片的)討論很有趣,會先把你帶到聊天室裏,聊天室裏告訴你這個已經不用了,再導到 Discord 去。關於合併和分片這兩件事情的討論都挪到 Discord 上去,輕客戶端有比較實際的成果。

我們一直在做考古工作,有一個事情我還沒有考出答案。「2.0」的詞源在哪裏,原先只是以太坊升級的階段 Serenity。爲什麼要叫 2.0?從品牌的角度、宣傳的角度一定是有特殊含義的,肯定意味着一次非常大的升級。

我目前能考據出最早的點是 2018 年 3 月份臺北分片的工作坊(Taipei Sharding Meetup),沒有找到視頻,相關資料提到 Vitalik 在那次會議上說以太坊 1.0 是一羣人充滿鬥志地嘗試建設世界計算機,而他認爲 2.0 是真正的世界計算機。在他看來 1.0 是不那麼完備的系統。

再看 2018 年中期的資料,2.0 一開始包含內容非常多,Casper 等,大家可以自己找,非常多的內容。但最核心的一點就是 Sharding,爲什麼這麼講?6 月份臺北以太坊工作坊上,Hsiao Wei 的演講標題是「What you can do for Ethereum 2.0 a.k.a. Sharding。

a.k.a Sharding 什麼意思?以太坊 2.0 就是圍繞分片展開的,分片又是爲了什麼?分片是一種技術,有它的目標,目標是爲了提高系統的可擴展性。現在來說,以太坊是單線程的計算機,單位時間裏能處理的計算、可傳輸的數據量都是有限的,分片是把單線程系統變成多線程系統。

如果我們認可的可擴展性目標,那我認爲路線圖是沒有變化的,甚至表現出了理性和務實。在 Rollup 方案出現後,思考計算和驗證的方式發生了變化,調整推進路線,向更符合現狀的方向發展是非常合理的。

如果以太坊 2.0 推進的策略就是分片,那路線圖毫無疑問就是發生了變化,儘管所有關於分片的討論都在積極地進行,但直到今天也沒有特別的能拿得出給公衆看的研究成果,甚至行業對分片的問題有非常多的誤解,直到今天還有很多人停留在過去兩年對路線圖和進展的認識上,甚至是過時的二手信息,造成了很多不準確的傳播。

以上是我的看法。

阿劍(主持人):如果我一開始的問題是以太坊 2.0 的路線圖改變了嗎?姚老師的回答就是你說的以太坊 2.0 是什麼意思?好的,聽聽鄭老師的看法。

鄭嘉梁:前面兩位老師說得挺好,我突然想到一點,姚老師剛剛說的關於擴容的問題。

Vitalik 在 2020 年初的時候一篇 Twitter 解釋過以太坊 2.0 是什麼,ETH2.0 is all by scaling,所有的東西都是圍繞着擴容進行的。

在我的理解範圍內,Sharding 是一種擴容,Rollup 也是一種擴容。既然都是擴容,幾個方案之間會有比較,就目前以太坊狀態來講,Rollup 是 better solution,Sharding 拿不出短期內可行的方案,但以太坊擴容又變成了迫在眉睫的事情。

區塊鏈除了以太坊以外,還有所謂的「以太坊殺手」等生態,不擴容的話,其他鏈也已經開始擴容了,或者一上線 scaling 就比以太坊強。

但以太坊有強大的生態,要把生態繼續往前滾,需要自己的生態不斷往前發展,而且不是光跟自己比較,要跟別人比較,是很多維度的競爭。

從 scaling 的角度,2.0 的目標沒有變,步驟是加速的,有一點同行壓力。大家對以太坊的期望是如果以太坊能變得更好,就不需要別的鏈,也不用遷移,大家還是希望以太坊可以把「世界計算機」、「金融輕結算」這樣的角色扮演好。

以太坊本身不光是技術方案,還是大的生態,生態要兼顧大家的發展,大家都需要生態做起來。我認爲加速是正常的,從工程化的角度來講,一直圍繞着理論上可不可行有點慢,我個人認爲把能提起來的速度更加快一點是比較好的。

對我來講,2.0 目標沒有變,路線加快了。這是我的理解,謝謝!

阿劍(主持人):感謝三位嘉賓對第一個問題的回答。雖然三位嘉賓都不約而同地提到了在過程中大家對分片的認識、推進,以及對 Rollup 技術加深理解影響了大家對以太坊 2.0 該怎麼推進的思路。但我們還可以意識到這個問題是非常複雜的,很難僅憑某幾個方面就說以太坊 2.0 的路線圖已經徹底改變了,毫無疑問的是在某些層面上已經發生了變化。

接下來的問題想請三位嘉賓各自講解,對於自己所構想的改變後以太坊 2.0 路線圖中,哪個步驟是最難以實現的?這個問題是否有可能導致以太坊 2.0 整體進度停滯?

潘致雄:剛剛姚翔說了很多關於 2.0 已經變成什麼樣子了,而且某些還是在 RND 階段。關於這些討論大家都沒有特別充分,而且大家能討論的素材也沒有這麼多。

我會認爲其中有一塊的難度是非常大的,怎麼將 1.0 合併到 2.0 的具體方案?我認爲這件事情已經超越了純技術的範疇,牽扯到生態中應用、錢包、礦工、節點如何配合,大家如何看待這套方案。

合併的事情在線下聊過很多次了,差不多的方案有點類似於 1.0 在某一個區塊高度的時候把狀態導到 2.0 的網絡中,但中間除了技術細節,更多看生態應用會怎麼樣,以及 1.0 這條鏈是如何宣告落幕的。

我們在想,這套方案目前來看是不是太硬了,是不是有可能官方 RND 一些更適合大家的 migration 方案,比如說類似於 Uniswap 從 V1 切到 V2 的很好案例,讓用戶自己雙向決定,因爲 V2 有很好的功能,大家願意去 V2,而不是大家被迫去 V2。現在的方案有點像在某個時間點,沒地方選,只能去 2.0 了,但 Uniswap 不是這樣子的。

我認爲目前合併這件事情需要更多討論,如果不充分討論可能會導致之後的一些問題。

姚翔:我非常同意潘老師的想法,他說了我要說的一部分。

這裏面每一項都很難實現,所以要把先後依賴關係打破。從我的視角來看因爲都很難,如果一個等一個也不能確定進度,大家並行來做,哪邊先跑出東西再調整方向,這也是比較合理的工程推進方案。

潘老師剛纔提到了,這裏面「合併」包含的社會學共識更多,甚至認爲這裏面的技術問題並不是那麼重要。隨着以太坊應用的持續增長,在合併發生前,每多一天,合併的困難和阻力都會變得越來越大,這是比較難實現的東西。

如果說跳出路線圖內容,最難的反倒是路線圖的決策,爲什麼會在兩年多的持續研究,2018 年 3 月份就在臺北討論分片的內容,今天我回顧了會上的很多東西,非常有價值,再去做一些梳理和考古,所有的客戶端團隊都在那裏,最頂尖的研究員都發表自己的看法。

爲什麼兩年多以後路線進行這麼大的修正,而且修正是在短短几分鐘內完成的。大家會看到我以前在微信整理的 Note,描述了以太坊 2.0 實現會議的第 52 期,路線圖切換隻用了 4 分鐘,其中還有一些沉默。這件事情讓人不得不去想背後的原因是什麼?我個人認爲現在在以太坊的路線決策上已經出現了一些問題。

昨天我還發了一個朋友圈,有一個 Layer 2 項目 CTO 康斯坦丁在抨擊以太坊缺少 Formal governance 正式治理,是 super centralized system。很多決策會影響到開發者的實際在工作的應用代碼。

問題的出現不是問題,但問題必須擺在檯面上來,如果不擺在檯面上來進行展開討論,這個進度我是謹慎不樂觀的。

在過去研究的這幾年時間裏,研究團隊、開發團隊都是非常聰明的人,他們是可以交付東西的,只是有一些關於決策的東西要放在臺面上討論。

這是我的觀點。

鄭嘉梁:我稍微補充一下。我印象中 2.0 路線圖是最後 Sharding 實現以後把 1.0 (1.X)作爲分片鏈接到 2.0 裏,不會影響原來 1.0 的任何東西,1.0 和 2.0 是並行發展的。但是前提是 Sharding 一定要做好,Sharding 這邊已經做好了,1.0 生態繼續繁榮下去,現在的所有東西都不用改,以太坊還是保持現在道路繼續往前發展,Sharding 完成以後直接併入 2.0,皆大歡喜。但是前提是 Sharding 一定要實現。

Sharding 在技術沒有能保證在未來一定可以實現的情況下,會導致現有生態的合併方案到時候完不成,如果 Sharding 完不成不如現在的狀態先做一次合併。我自己猜測,可能算是比較可行的選擇。

如果不是按 123 的順序,如果是並行順序的話,Sharding 就變成可選項而非必選項。不僅取決於區塊鏈的技術,還取決於分佈式系統的技術在未來 2、3 年對 Sharding 是不是能實現一些突破,這樣 2、3 年之後區塊鏈把分佈式系統的技術改進借過來,也有可能就實現 Sharding 了。

這變成類似萬無一失的方案,Sharding 在最後無論實現還是不實現,2.0 合併都要先行,高難度的東西會退後,實在不行的話保持狀態也是可以的,是大家可以接受的 2.0 狀態。

所以說,我會覺得 Sharding 在技術上沒有辦法很確保在 2 到 3 年以後一定會實現,由此對以太坊生態會造成很大影響,還是從生態的角度考慮這個問題。

阿劍(主持人):謝謝三位嘉賓,到了第二個問題,三位給出的信息量非常多非常大,雖然我是當主持人,但實在是忍不住想多加一句。

姚老師最近在朋友圈發的問題是這樣的,各位知道以太坊的狀態數據會不斷增加,爲了抑制狀態數據的增加,以太坊當前治理程序選擇的辦法是隔一段時間在需要硬分叉升級的時候提高某一些操作碼的 gas 消耗量,由於很多合約預設了自己的 gas 消耗量是多少合約能正常工作,操作碼 gas 消耗量的改變會對他們造成非常大的困擾,甚至會直接破壞合約,這個事情在君士坦丁堡分叉實行 EIP1884 的時候已經發生過一次了。

這個問題確實像姚老師說的那樣是個問題,而且問題本身不那麼重大,但要有合理的方法公開討論,大家不能認爲這種事情是完全無所謂的,我們就是這樣做事情的,這是一種非常不負責任的態度。

像剛剛三位老師已經提到了對路線圖的理解會影響到對問題的回答,實際上這是非常複雜的問題。剛剛三位已經提到了不僅有技術上的難題,分片怎麼實現,怎麼保證現在系統的可用性,也包括了一個很大的問題,在社會共識上怎麼讓大家願意遷移到系統。

這兩方面還有一定的關聯,如果分片實現的特別好的話,大家對過程會更有信心。但如果分片技術或者對 2.0 下的具體執行沒有非常清楚能夠得到大家公認的答案的話,這個過程會變得更加艱難。

這引向了一個問題,也是在討論路線圖時經常提到的問題。在你們看來,你會認爲完整以太坊 2.0 路線圖的實現需要多長的時間?或者說,可用 2.0 需要多長時間實現?

潘致雄:比如說看到信標鏈,從預期上線到最終上線有一年的時間差距,延期了一年。

再看另外一些最新的演進,包括 Vitalik 最近發佈了關於數據分片的細節,包括此次以太坊 2.0 變化之後的數據分片純技術層面的東西。

歷史上發出一篇論文到最終執行,一般至少隔 2 到 3 年的時間,Rollup 也是,從 2018 年中期早期 Rollup 纔出現,2021 年 Rollup 纔是剛剛可用的階段,我對 2.0 完整版可用不是特別有信心,像剛剛鄭老師說的,真得要 2、3 年之後纔有可能的情況。

但是反過來說,現在社區也理解到一件事情,更實際和更現實的擴容路線不依賴於 2.0 的 Sharding,而是依賴於 Rollup,因爲 Sharding 只是 64 個數據分片,但是 Rollup 已經幫你提升了 100 倍的性能(兩個數量級),額外還有一些 Backup,還會有一些可以提升的空間,比如 TurboGeth 和大區塊。

一百倍甚至幾百倍的提升對網絡幾年的發展已經是「量變」到「質變」的不同了,社區大家已經不依賴於 Sharding 了,只要大家把 Rollup 玩好,2 到 3 年間應該沒有很大的問題。

我對 ZK Rollup 和 Optimistic Rollups 的看法比較樂觀,Rollup 是一套既可以兼顧現有礦工利益也能兼顧 2.0 創新方向的一條路徑,也不能說一定兼顧礦工利益,但是礦工無法改變這件事情,因爲 Rollup 不需要改變現有共識,他們必須被迫接受 Rollup 方案。

姚翔:在我沒有那麼像今天一樣考古、深度參與社區討論之前,我對很多問題的認知比較片面。2018 年去布拉格開會前,當時心想是不是 2.0 快了,現場感覺好像沒有能交付出來的東西,雖然進了一步,但心裏還是很慌,不知道當中有多大的預期給人時間上的確信。

挺大的問題在於現在的系統框架越來越複雜,能看懂的人越來越少,能參與討論的人越來越少,可能給不出更多的建議。最近我在做賬戶抽象(的研究),原來賬戶抽象也是 2.0 很重要的框架部分,我在做這件事情考古的時候,關於賬戶抽象的安全性問題有一個研究員寫了一篇「安全性分析」的文章,修改了 geth 的客戶端,做了 DoS 攻擊演練,但是沒人給他回覆,沒人在帖子下回復這裏面是不是有點問題或怎麼樣。但是這篇文章得到了 Vitalik、Danny Ryan 的指導,所有的文獻裏都會引用這篇文章說大家看這是安全性分析。但我認爲沒有多少人能看懂,要真的理解的話要花很長時間,另外他是自己寫的客戶端,怎麼驗證這個客戶端的數據是不是那麼準確?可能要做更多的工作。

在這樣的基礎上,系統要想安全實現,必須要更多大規模的人蔘與,在比較對等的位置上進行討論,我對這件事情不是特別樂觀的。

潘老師剛剛提到的關於整個系統往更好的方向去走,這件事情也還是很有希望的,不僅是 Rollup 的方案,現在網絡的帶寬在不斷增加,計算機驗證速度在不斷提升,幫助網絡更加穩健。在這五年時間裏,以太坊吞吐量有顯著提升。當然這是硬件、條件比較底層的優化,Rollup 更多是在密碼學層面的優化,這些都是可以期待的。

從歷史經驗上來說,比較完美的系統目標一般都不太能實現,無非是怎麼取捨,在中間選擇我們想要的東西取捨的程度。最簡單的可用方案是直接把現在的這套智能合約系統在信標鏈上實現,讓信標鏈變成可執行的環境,但這顯然不是大家想要的結果,所以可用不是非常緊迫的目標,現在的系統也是可用。

鄭嘉梁:剛剛兩位老師說的讓我想起一些事情,補充一下。

以太坊最早的擴容方案是 Layer 1 和 Layer 2 並行的,最早有 Sharding plasma,當時設想無論在 Layer 1 還是 Layer 2 都要做起來,但現在明顯轉向以 Layer 1.5 爲核心的擴容,中間肯定是碰到一些問題。

記得 2019 年的時候除了 Layer 1、Layer 2 還有 Layer 0,很多項目在 2019 年提出 Layer 0 擴容,把區塊傳播速度優化,最近聲音會比較小,因爲 Rollup 聲音實在太大,把 Layer 0 通信協議的層面擴容聲音都蓋過去了。

這些東西以後還是會被翻出來,就像 0、1、2 之間大家選一個最容易執行的方案先去做,如果做不出來再找其他可行的方案再做。現在把 Sharding 的擴容方案放在後面,先把 Layer 2 做出來,如果 Layer 2 有難度的話可以去做 Layer 1,如果 Layer 1 有難度的話就做 Layer 0。

剛剛姚老師、潘老師講了可用現在確實是可用,但不叫「更好的以太坊」,叫「可用的以太坊」,不是以太坊基金會、社區的目標。擴容比較複雜,尤其是 Sharding 部分,爲什麼 Rollup 方案大家轉向這麼快?覺得容易實現,理論上也站得住腳,記得 2019 年 Vitalik 發了文章,就是用 zkSNARK 實現 500tps 的目標,是 ZK Rollup 的雛形。

2019 年的時候他就已經很喜歡擴容的方案了,在 Sharding 以外會找更可靠的方案,不能把所有的擴容方案都壓在某一層、某一個方案上,對系統和方案來說太過危險了,這是一種比較現實的選擇。

但是真正實現特別更好的以太坊,時間上不要抱太大的希望,慢一點會比較好一些。

阿劍(主持人):雖然三位老師沒有給特別明確的時間,也說希望路線圖能隨着時間的推移變得更加清晰,但都指出系統改善需要有很多方向,無論改進哪個方面,比較重要的是用安全的方式實現改進,保證最大限度地滿足對可靠系統的追求。

非常感謝三位嘉賓告訴我們往常的媒體討論、圓桌討論中沒有被觸及到的比較深的問題,不管是社區治理、技術方案細節、生態平衡各方需求實現社會共識上的合力,這些問題在之前都是很少觸及到的。那麼,請問各位認爲一個完成形態的 Eth2.0 比當前的以太坊區塊鏈更 「好」?或者說,它在哪些方面更優?

潘致雄:好不好相對而言可以衡量一些,最重要的指標是性能,以太坊 2.0 本身就是爲了擴容而實現的,如果這件事情做不到性能有數量級上的提升肯定沒法說好,但如果能做到提升,同時能兼顧到安全性、去中心化的特點,也可以認爲是好的系統。

現在以太坊也有一個比較尷尬的問題,如果市值太高,會導致生態更偏向於更高數額的交易規模導向,很多高頻、低價值的生態根本沒法運作,離願景會更遠。如果市值更低,無論是 PoW 還是 PoS,網絡的安全性都會有很大的權衡。

好在哪?有哪些方面更優?可能會有兩個方向。

1、PoS,信標鏈是爲了實現 PoS 部分的,把工作量證明變成權益證明。這部分我的觀點比較中性,以太坊本身就是實驗的大沙盒,挑戰新基礎設施沒有邏輯上的問題。

當然肯定會有各種各樣的權衡,之前討論也很多。問題還會牽扯到 PoS 是不是足夠好、是不是更優。從現在來看,歷史上有些項目已經實現過 PoS 了,但至少沒有看到明確的證明 PoS 一定比 PoW 非常好的特點。

2、數據分片(Sharding)。原來的 Sharding 方案是在 Sharding 上做執行,但現在放在信標鏈上做執行,數據分片具體是怎麼運作的,這方面的細節不知道是不是要經過更多的討論、驗證才能具體瞭解可執行程度以及是否能做到像開發者說得那樣好。

姚翔:謝謝潘老師、謝謝阿劍。沒有一個完美的系統,大部分的決定都是取捨,之前我在 Twitter 上看 Bitcoin core 開發者說不可能什麼都不付出得到非常完美的東西,這是不可能的,最終取決於我們需要什麼樣的系統,爲什麼是以太坊而不是其他的公鏈獲得市場的認可。

當然,每個人有自己的觀點,有很多種方式來解釋,像社區、先發優勢種種。站在我的視角上,不妨回顧一下 2.0 的設計目標,design go 寫在 spec 裏的設計目標。

第一條,要儘量減少複雜度,甚至以損失一些效率爲代價。

第二條,當主要的網絡分區(中國、美國)以及很多節點脫機掉線時,以太坊網絡仍然能保持活性。

第三條,關於密碼學的,希望所有的組件都是能抵抗量子計算機、是量子安全的,至少可以很容易地換成量子安全的對應物,可能算法現在不是量子安全,但萬一量子計算機出來了,可以比較輕鬆地保證系統在運行的情況下做更換。

第四條,可以利用密碼學技術,用相關工程設計滿足在一個單位時間內有大量的驗證者參與,就是所謂去中心化的目標,要大規模的驗證者,不能是很少的。

第五條,從個人和系統的關係上,允許消費級的筆記本電腦,用常數時間的複雜度處理和驗證 Sharding 的分片,包括系統級的驗證、信標鏈。

聽下來,一切的根本都在安全性,要保證有足夠多的人維護系統的安全,驗證系統裏發生的每一件事情,甚至個人也可以參與在網絡中。有很多公鏈不可能用個人電腦來運行節點,驗證歷史上所有的事情。

回顧 2.0 的設計目標,除了抗量子性以外,1.0 做的都還是 OK 的,唯一的問題是確實不那麼可用。回到性能問題,確保條件都能滿足的情況下解決可擴展性問題,解決吞吐量問題。現階段,我的觀點是 Rollup 給了我們新的選擇,不如先去嘗試。一百倍的空間是不是能滿足系統的要求?可以看看,至少比還沒有那麼明確設計方案的 2.0 是現階段更緊迫的事情。

從我的直覺層面,我不太能相信一個東西什麼都好,這不太可能存在。既然有設計目標,設計目標是以太坊核心開發者的共識、社區的共識,就以設計目標爲基礎。

鄭嘉梁:擴容是沒有什麼異議的,速度快是沒有什麼問題的。剩下的問題就是 1.0 和 2.0 的問題,解決狀態爆炸問題也是一個方向,肯定要去解決。想來想去其實就是 PoS 是否比 PoW 好的問題,這可能是最最核心的問題,前兩個問題是沒有什麼異議的。無論是在實際上還是在數學上,PoW 已經證明了安全性,以太坊跑在這樣的共識上,這麼多年沒有出現什麼問題也證明了一些東西。

PoS 大家都很喜歡,新出來的新一代區塊鏈全都會選用 PoS,還用 PoW 的話會顯得更像「老古董」,有點過時,趕不上潮流。

轉向 PoS 是沒有辦法的,這是大的趨勢,新一代的公鏈都是往這個方向轉的,或者一上來就是這麼設計的。PoS 好不好社區裏討論的都比較多了,無非是礦工、持幣者、生態者之間比較重要的利益相關者在不同的共識下有什麼樣的表現,PoS 的安全性還需要再驗證。

說白了,不同的鏈選用 PoS 是不一樣的,如果很小的區塊鏈用 PoS 確實很容易被攻擊,套在以太坊上有可能不會發生什麼問題,但並不代表 PoS 本身沒有問題,只能代表以太坊生態的強大。有些事情會掩蓋另外工程上、科學上的特性,沒發生問題不代表不會發生問題。

討論來討論去就是 PoS 還是 PoW 更穩定,但這是很長時間沒有定論的東西。既然阿劍老師問出來了,我就拋出來,大家可以再討論討論。

阿劍(主持人):我看到三位老師「一臉不情願「地回答了這個問題,雖然回答的信息量還是非常大的。在剛剛的四個問題中,三位嘉賓在每個小問題回答中都覆蓋了討論以太坊 2.0 時會討論的各種東西,包括多重設計目標、重要技術概念(PoS、分片),也包括對社區來說最爲關心的問題,什麼時候以太坊 2.0 能真正變得可用,以及什麼時候以太坊 1.0 生態能搬遷合併到 2.0 系統中,以及什麼時候真正完成最終的發展目標。

每一個問題都值得相當大的篇幅去討論,每個人都可以寫篇文章形成非常複雜的觀點。但是時間是有限的,下面進入到今天最後一個問題,是剛剛潘老師和姚老師都提到的問題延伸:在非常複雜的社會共識協作過程中,變量非常多,你們認爲在轉向 Eth2.0 的過程中,以太坊的生態有無可能發生社會共識的分裂?

潘致雄:今天是個非常好的日子可以聊這件事情,比特幣區塊鏈 Schnorr Signature 和 Taproot 功能已經發布到代碼裏去了。

爲什麼聊這個事情呢?可以看一下比特幣區塊鏈是怎麼做到社會共識升級的。Schnorr 和 Taproot 是三年多前開始提出的功能,開始了漫長的佈道和介紹優勢、功能、必要性。2020 年一整年的開發過程中,核心開發者和最大的礦池進行深度溝通。

爲什麼呢?因爲比特幣區塊鏈的最終激活還是依賴於算力,核心開發者開發完之後需要礦工來制衡是不是要支持功能,礦工可以不支持功能。比特幣網絡的形式已經有可以制衡的點,開發者和礦工之間可以尋找到共同利益。

從另外一個極端來說,有些新型區塊鏈項目、區塊鏈網絡都開始進行鏈上治理,把需要的社會化提案通過代幣的形式進行民調大範圍投票,讓所有系統參與者認爲這件事情對系統的未來到底有沒有好處,這是鏈上治理的特點。

回到以太坊,目前以太坊沒有這樣一套機制的,以太坊的核心開發者是有集權的,是中心化來管理這些事情的,沒有和社區進行更廣泛的交流溝通,也沒有一套像比特幣區塊鏈、鏈上治理的機制尋找各個參與方、代幣方的共同利益。在以太坊 1.0 遷移到 2.0 的過程中還是很可能發生斷層和分叉的,因爲以太坊分叉也是相當容易的一件事情,只要修改 Geth 客戶端,總有人很方便、很容易地將以太坊分叉。

之後會帶來各種各樣的冠名權、資產所有權的問題,之前有人提出觀點,以太坊發展到這個階段已經不可分叉,因爲資產和生態實在太龐大,算是非常混沌的一套系統。我會覺得至少目前以太坊生態在 1.0 到 2.0 過程中從歷史角度來看是最危險的階段。

姚翔:如果說用更溫和的方式去做遷移,把舊的鏈上狀態、資產遷移到新的鏈上,可能沒有太多問題,大家是「用腳來投票」。

如果是一種「大家必須要過去」的方式的話必然會出現問題,原因在於 PoW 這樣一套體系下,仍然可以繼續運行,如果說礦工願意,可以一直在這邊挖下去,除了極端情況生態搬走,礦工依然可以在這裏挖下去。

在這個時間點面臨的是不得不做的選擇,到那天發生的時候大家必須做選擇,這很好玩,這是一件很危險也挺迷人很不錯的事件,考驗了很多東西。

最近我在聽非常多 Bitcoin core developer 的觀點,談他們爲什麼會做這件事情。現在是沒有比特幣基金會的,過去是有的,可以認爲這些開發者是在義務工作,而且有人捐獻,捐獻並不能改變意願,真正願意捐贈的公司也不是那麼多,這是很好玩挺大的社會實驗。

回到以太坊這件事情,把問題拋開講,共識切換是社會共識撕裂很重要的點。關於這件事情的討論足夠多了,今天很難展開特別深入,同時兩邊的觀點都很明確,誰也說服不了誰。在那個時間點,如果危險的事情發生,真的會發生用腳投票的事情,甚至是更極端的事情。

我不想做過多的推演,很顯然新系統的安全性和可靠性需要時間驗證,大家對新系統的信任不足以在很短的時間內建立,需要考慮怎麼有過渡性的階段。我不想去推演發生什麼,在線下討論的時候我談到過這件事情。

傳統的共同體要議事討論事情,逃離的成本是很高的,不到萬不得已不會分裂。比如說班級決定去哪裏喫飯,你不能說我不去了,最後大家肯定選出一個地方聚餐,或者上升到國家層面議會,大家投票,選出來一個結果,大家認,在認可的程序下通過意識規則表決程序,表達自己的意願,決定了就決定了。以太坊不做鏈上治理有自己的原因,這是合理的,沒什麼問題。

但在數字世界裏逃離系統的成本是很低的,不像在現實的世界裏想逃離這個地方受到很多約束,在數字世界裏也有約束,但成本低很多。比如說 THE DAO 事件是很典型的案例,現在的以太坊與那時候相比逃離的成本高得多了,仍然比傳統世界、物理世界裏的成本低。

雖然我們說社區暫時很難分叉,但因爲氛圍是這樣的,逃離成本很低的話不太願意對話和交流,反對的聲音容易出現,很難聚集起來。主流的聲音沒有人在反對,共識如果不是在大家的抗辯中產生的,沒有退讓、沒有妥協的話很難取得更廣泛的尊重和認同,可能大家吵一架吵出來是什麼就認了,這件事情還會好一點。如果不說話,走了,對兩邊都不是特別好的結果,缺少爭論不代表沒有共識分裂,反而分裂已經結束了。

轉向 2.0 很具體的事情裏我最近也有一些觀察,現在 1.0 有一個 Core Dev Meeting 有一個彙總頁面在 Github 上,現在這個頁面沒有精心維護了,原來每期能看到,第一期幾月幾號 note 是什麼,video 是什麼。停在了第 99 期,已經有 3、4 期沒有維護了,沒有 note,沒有 video link,這個事情沒人管了。

最新的會議筆記 Tim 一直在記,會放在 Twitter 上,但是沒有人會彙總到 Github 上,這件事情讓我覺得有點不可接受。會議原先一直是 Hudson 在協調,從第一次會議到最近他說他要退休交給 Tim。他自己說去尋求新的挑戰,我覺得背後也有些別的原因,這是個人的猜測,畢竟做了這麼久,選擇在這個時間點退出。

同時 Vitalik 也不參加 1.0 的會議了,這件事情在什麼時候發生的呢?他最後一次參加在 10 月 16 日,在上海那次 Meetup (遠程)之後他就不參加 1.0 的會議,專心做 2.0 的事情。

某種程度上 1.0 和 2.0 已經完全分開了,大家彼此沒有那麼瞭解對方在做什麼,1.0 開發者在做 1.0sunset 的事情,2.0 在做 sunrise 的事情,大家彼此並沒有那麼瞭解在做些什麼事情。

這是我最近的觀察,談不上很有 Insight,最近我會整理一些細節,因爲細節裏能發現人性的東西。

鄭嘉梁:前面兩位老師講的很好,說幾點自己的想法。

第一,分裂。

區塊鏈很多鏈很怕分裂的,因爲很早就有其他鏈提出不分叉,永遠不分叉,如 Tezos。對區塊鏈來講,雖然歷史上比特幣和以太坊鏈發生過分裂,但畢竟他們是強共識的鏈,如果很多鏈共識非常弱的話,分裂一次意味着以後這個鏈就沒有什麼前途了。

即便是以太坊、比特幣這種大的鏈,也沒有辦法經受大的分裂太多次,凝結一次共識需要很長時間、很多人、很多資金、很多資源的投入,分裂是大家都不太希望看到的事情。

第二,分化。

分化是時時刻刻發生的,潘老師以前寫過一篇文章是 Layer 2 站隊的問題,Rollup 上大家已經戰隊了,分成 Optimistic rollups 和 ZK Rollup,不同技術方案已經做出了選擇。大家覺得以太坊虛擬機比較重要,在開發環境不怎麼變的情況下,有幾個知名的 DeFi 項目選擇了 Optimistic rollups。有人覺得安全、可追溯性比較重要的話會選擇 ZK Rollup。

現在以太坊基金會對兩大類 Rollup 方案比較端水的態度情況下,大家自己按照自己的選擇做未來路線的 betting,因爲你不知道哪種 Rollup 最終會成爲目標,還是說兩種 Rollup 會融合,不融合也沒關係,只要可交互性到最後完成以後不影響 DeFi 的「樂高特性」。

大家時時刻刻都在做選擇,選擇的影響還是蠻深的,不是分裂,每個團隊、每個人對區塊鏈的設想有不同訴求,訴求體現在對不同技術路線的選擇。

有些項目比較現實,覺得遷移一個東西要付出太大成本的話,儘量選擇最簡單的方案,所以選擇了 Optimistic rollups。大家有不同的選擇,這是沒有辦法改變的。

但大家有個底線,還是不要分裂,可以選擇不同的技術路線,但不要分裂社區。對以太坊綁定比較深的項目來說,大家都有最後的底線在心裏,分裂這個事情不用想得太多,但分化是無可避免的。

這是我的觀點,謝謝!

阿劍(主持人):感謝三位在圓桌上的回答,我在一開始接受擔任這場圓桌主持的時候,我跟大家交流過,希望在這場圓桌中討論在其他圓桌上很少討論、不敢於討論甚至會被忽略的問題,呈現以太坊發展和生態本身的複雜性。

不管選擇哪種技術路線,不管做什麼事情,生態的複雜性必須是首先要尊重的,也是我們要理解的,理解了才能發現生態真正有活力,真正被大家選擇的原因。

今天談到的很多問題都指向一點,人類做的事情只要涉及到羣體協作,不可能離得開人們如何在制度、語境下參與協作,不可避免地需要向人類的歷史、前人的經驗學習完成社會協作,儘可能減少摩擦和衝突,塑造出更強的社會共識,乃至得到更廣泛的普及。

不管在技術上還要走多少路,在學會相互協作和社會治理上還有更長的路要走。這也是我們可以期待以太坊的地方,確確實實以太坊在這麼多年發展中證明了值得我們的期待。

感謝三位嘉賓對五個問題的回答,今天的圓桌到這裏,感謝各位在 B 站收看本場直播的朋友們,再次感謝蜂巢學院爲我們組織一場這麼好,這麼高質量,這麼深入的圓桌,謝謝!