以太坊基金會5問5答:Phase 1和Phase 2有哪些進展?

Phase 1 和 Phase 2 相關問題

外匯天眼APP訊 : 問:Phase 1 的進展如何?

Danny:Phase 1 的技術規範相對穩定,並且已經在測試和提煉階段了。在我的任務清單上最近的一個事情是加入 p2p 組網規範。雖然為 Phase 0 做組網規範的時候花了很多時間,但我預計為 Phase 1 實現的時候會簡單很多,因為 p2p 技術棧和通用結構已經在那裏了。與 Phase 1 的許多組件一樣,工作更多是延伸,而不是重寫。

我們已經有很多工程師和團隊在瞭解並開始實現 Phase 1 的組件了。Prysmatic Labs 團隊的 Terence 在 Phase 1 的規範上幫了大忙,因為他實現了核心的狀態轉換規範、發現了許多 bug、還提出了很多非常棒的簡化建議。

除此之外,TXRX (PegaSys)團隊的 Mikhail 已經在同事 Alex 所寫的 java 轉譯器幫助下開發出了一個 Phase 1 模擬器。就在上週,Mikhail 報告了一個可以用的模擬器,其中有一條信標鏈和兩條分片鏈,而且分片鏈成功在信標鏈上提交了交聯。對我個人來説,這實在是太讓人激動了 : )

為幫助 Mikhail 的工作,Geth(EF)團隊的 Guillaume 一直在開發一個叫做 “Catalyst” 的項目(是 Geth 客户端的改進版),以將其核心共識邏輯通過一個本地的通信協議發送給 Eth2 客户端,同時 Catalyst 還保留了所有比較重的、用户層面的邏輯(EVM、交易執行、用於生產區塊的交易綁定,等等)。這一工作會為我們説的 “Phase 1.5” 也就是整合當前的以太坊到升級後的 Eth2 系統中的計劃鋪平道路。我們預計很快 Mikhail 和 Guillaume 的工作會結合在一起,讓 Eth2 能夠在本地模擬中驅動 Catalyst。

在 Phase 1 中已經沒有未解決的問題了,它實在很像是 Phase 0 的插件,所以 Phase 1 的工程任務應該不會特別難,但現階段大多數客户端團隊都把人力物力完全花在啓動 Phase 0 上了,所以工程上的重頭戲要到今年年末才能開始

Justin:對 Phase 1 設計的研究已經幾乎全部做完了,這裏是已經形成的規範。這個規範還需要很多打磨(我已經放在自己的任務列表裏面了),但是基礎已經完成了,研究和工程的風險比較小了。

我説 “幾乎全部” 是因為有可能出現改變我們當前已經撰寫好規範的設計。具體來説,我們正在考慮替換掉一些默克爾樹數據結構,代之以基於配對的向量承諾(pairing-based vector commitments)(例子見此論文)。基於配對的向量承諾有非常理想的 witness 聚合特性,可以大幅提高 Phase 2 的無狀態性性能。基於配對的向量承諾還可以使用相同的密碼學來認證分片鏈區塊和分片鏈狀態,讓兩者在概念上更加協調。

以太坊基金會5問5答:Phase 1和Phase 2有哪些進展?

問:從實現複雜性的角度來看,Phase 1 比之 Phase 0 如何?Justin:Phase 1 比起 Phase 0 會簡單很多。粗略説了 Phase 1 只有兩個部分:

只有數據的分片鏈 —— 只有數據的分片鏈是有意設計的數據結構。只有數據的分片鏈比起信標鏈和 Phase 0 就要奠定的許多基礎工作(包括 BLS 聚合簽名算法、SSZ、GHOST 分叉選擇規則、libp2p 組網方法、discv5 節點發現協議)要簡單很多。Phase 1 中一個有意思的小工具是一個類似於 EIP-1559 的手續費燃燒機制,也只需要在共識機制中加入幾行代碼。

託管挑戰(custody game)—— 是一個用來解決數據可用性問題的小工具(請看此視頻深入瞭解)。“game” 指的是密碼經濟學博弈,其複雜性在於 “挑戰-應對” 的交互類型。好消息是,遊戲機制一直在不斷提煉和簡化(例如:請在此處看最新的規範)。託管挑戰的另一個不同尋常之處是使用了一些特別的密碼學方案,叫做 “Legendre PRF”(例子見此處),但不怎麼會影響實現的複雜性。

問:那你們認為 Phase 1 的研究中剩下的最有挑戰性的部分是什麼呢(還是説,所有重大研究問題都已經解決了)?Dankrad Feist:從我的角度來看,我沒看到任何重大問題會直接影響 Phase 1,雖然説世事無絕對(像零知識證明這樣的研究領域正如火如荼開展,可能會產生一些極大改善 Phase 0 的觀念)。

另外我覺得,當前最有價值的想法都是關於在 Phase 1 到來之後(也就是 Phase 1.5)如何通過提高 “已驗證狀態” 的效率來讓整個系統效率更高。我仍然希望我們可以提升我們的狀態承諾方案的效率,不管是使用多項式承諾還是全新的向量承諾方案,這會帶來非常大的好處。

問:那 Phase 2 的現狀如何?Justin:在做了大量的設計空間探索工作和內部討論之後,我得説一句,隨着時間推移,以太坊基金會研究團隊越來越不看好 Layer-1 的虛擬機抽象(也就是所謂的 “執行引擎” 或者 “EE”)。相反,Phase 2 很有可能最終會是傳統路線,即,各分片共有一個單一的、至高無上的 VM。

至於虛擬機的候選項,有(a)來自 Eth1 的 EVM;(b)WASM 的一個變種。雖然 EVM 是一種很合適的、低風險的退路,我還是希望我們能超越它。5 年來的後見之明使我們覺得 EVM 有很多次優的設計,總的來説,為 dApp 開發者和整個生態系統造成了很大的痛苦。

WASM 有好處(例如,工具豐富、接受度廣泛、生態成熟、標準化),都來自於瀏覽器世界。WASM 似乎也正在成為區塊鏈的標準,因為 Near、Polkadot、Dfinity、EOS 等等都接受了。我的希望是有一個團隊,比如 Near 或者 Polkadot 可以克服其中的工程挑戰,並證明 WASM 是實際上更好的選擇。

Danny:Phase 2 設計空間很大,在過去 18 個月間,包括 Quilt 團隊和 eWASM 團隊,都做了非常了不起的深入研究,摸清楚了其中的大部分領域。如果你想深入瞭解,看看他們在 ethresearch 論壇上的帖子:不同程度的抽象設計、跨分片的消息方案、虛擬機權衡、交易格式變更,等等。

從今年開始,大家的優先級有一些轉移,變成研究如何讓現有的以太坊生態 —— 在 “Phase 2” 完全實現之前 —— 接入 Eth2 的共識系統。為了達成這個目標,Phase 2 的研究已趨於平靜,因為我們都在努力準備 Phase 1 的規範和 Phase 1.5 的研究和開發。

值得注意的是,eWASM 的工作正由 eth1x64 研究開發項目推動,他們的目標是提供最小可用的技術規範和 Phase 2 簡單版本的原型。他們已經寫了很多很棒的研究帖,探究了其中的可能性。瞭解一下!

Phase 2 最終會採取的形式仍在未定之天,但有這些研究成果再加上 eWASM 團隊的不懈努力,我估計我們會在 Phase 1/1.5 接近投產的時候獲得更清晰的概念。

關於跨分片交易

問:我們已經搞清楚怎麼實現了嗎?Shard 1 中的一個合約可以在一筆交易中處理完對不同分片的合約調用嗎?用什麼標準來決定一個智能合約/一個 EOA 會在哪個分片上?

Danny:Layer-1 的跨分片交易在分片化的 Eth2 系統中確定會通過異步的方式來實現,也就是通過分片鏈和信標鏈的交聯(crosslink)機制來實現。當分片 A 交聯到信標之後,分片 B 就可以使用一個來自分片 A 的收據,來協助 ETH 的轉移及合約的互動。

除此之外,還有很多 Layer-2 方案可以支持最優化和最快速的跨分片交易執行。我估計隨着時間推演,這種方式會成為常態。

因為跨分片交互的異步屬性,要讓合約能在一筆內完成對不同分片的調用就行不通了。有一些比如 “yanking” 或者 “commit capabilities” 這樣的機制也許能為實現你的需求提供幫助。

舉個例子,我也許會 yank 一個火車票合約和一個旅館合約到同一個分片上,然後原子化地完成預定;或者,我可以承諾會同時預訂兩者,然後當一次 crosslink 完成的時候,原子化地解決這個承諾。

至於賬户會放到哪個分片上,當前的計劃考慮各分片的自然經濟負載均衡。也就是説,每一個賬户和合約都可以部署到用户想要的任意分片上。這樣就自然會有人追求更低的手續費、或者離一些重要的合約 “更近”。我預計,對於合約來説,它會在長期中掩蓋掉這一點,使得用户用起來就像在跟一個 “以太坊” 交互,而不是在跟某個特定的分片交互。這裏面有用户體驗上的挑戰,但沒有無法克服的問題。

也就是説,有實力的用户/開發者會對分片選擇保持關注,在可行的時候作出戰略選擇。

Aditya Asgaonkar:我們已知跨分片交易從信標鏈的角度來看是怎麼一回事。細節請參考我寫的博客文章。給定跨分片交易的異步設計,你描述的情形就不太可能了。迄今為止,對這樣的標準還沒有計劃。合約/EOA 應該能創建在任意分片上。

問:那分片之間又如何分攤負載呢?如果大家都對各個合約都希望放到某個特定分片上,因為比如説那裏有個很重要的信息輸入機制(oracle),或者是那裏有個大家都想用的 Uniswap。Aditya Asgaonkar:當前的預期是 Gas 費用市場會自然根據分片的負載產生一種均衡。直觀來説,如果某個分片變得很慢、很貴,那用户會離開這個分片,遷移到另一個更快、更便宜的分片上。如果用户呆在這條手續費更貴的分片上確實有更多的好處,比如該分片上有一個他要頻繁訪問的合約,那用户自然也會選擇留下。問:那就是説,dApp 很大程度上會讓這種選擇自動化咯?Aditya Asgaonkar:從 Phase 2 研究當前的情況來看,不太可能是你説的這樣。在我們現在的設想中,任何的跨分片活動(交易、賬户/合約遷移)都需要一些用户為目標分片提供相關的數據。這是為了免去一個分片讀取另一個分片數據的需要,這樣會打破我們追求的可擴展性。

總的來説,我會認為,Phase 2 的設計仍有很大的改動可能,因為這是一個正在進行中的研究領域。我們應該能在未來的 AMA 中更具體地討論這些事情。

版權聲明:本文源自 網絡, 於,由 楠木軒 整理發佈,共 4211 字。

轉載請註明: 以太坊基金會5問5答:Phase 1和Phase 2有哪些進展? - 楠木軒