或許不久之後就能見到實驗eth2.0/eth2.0合併的測試網上線。
近日以太坊大幅修改了eth 2.0路線圖,受到廣泛關注。並引發了一系列疑問,本文結合多個信源,嘗試解答以下主要疑問。
11 月 18 日 在 reddit 論壇舉辦的 ama 活動中,以太坊基金會的 eth 2.0 研究團隊對於社羣的問題一一作了解答。
仔細閱讀了全部的 ama 問題之後,本文摘選了七個大家可能關注的重要話題,供讀者參考。為方便讀者閱讀,本文在不改變原意的前提下,對原內容進行了適當修改和補充。
背景:以太坊 2.0 的 phase0 階段
為了提升以太坊的處理能力,以太坊社羣發起了 eth 2.0 計劃, 將 pow 共識機制替換為 pos 機制,並引入分片機制。
為穩妥起見,eth 2.0 上線會分為多個階段進行。程式設計師習慣從 0 開始計數, eth 2.0 上線各階段之中,最先開始的,被命名為 phase0(第 0 階段)。
如果說以太坊 2.0 是一艘巨輪,那麼在 phase0 階段上線的,就是這條大船的骨架:信標鏈(beacon chain)。在 eth 2.0 的原先規劃中,許多條不同的分片鏈(slide) 會各自執行,並透過信標鏈指揮、通訊,以此提升以太坊 2.0 的處理能力。所以,信標鏈在 phase0 階段的上線,意味著以太坊 2.0 的上線程序正式啟動。
而在 phase0 階段開啟,需要滿足兩個條件:
需要 52.4 萬 eth 鎖定到以太坊儲存合約之中,鎖定期較長(原定要在 phase 1.5 階段將 eth 1.0 和 eth 2.0 合併後才能解除鎖定)
時間也不能早於 12 月初,因為對區塊高度有硬性要求
按照鏈上資料統計,當前存款數量超過了10 萬枚 eth,而以太坊 2.0 啟動的最低存款量門檻是 524288 枚 eth(要求有 16,384 個驗證節點,每個節點存入 32 個 eth 作為抵押),目前完成了 20%。
一、以太坊 2.0 路線圖變更
以太坊 2.0 路線圖的變更:專注 rollup 方案,更快實現 10萬 tps
正如之前所說,以太坊 2.0 上線,將會分為多個階段。在 phase0 上線之後,原定的各階段如下:
先分片,還是先合併?
在原先計劃中,phase1 (階段1) 會實現分片,而在 phase2 生效之前的 phase 1.5 階段,將以太坊 1.0 和 以太坊 2.0 透過分片的方式進行合併。就是說,原先的考慮之中,是先實現分片、後實現以太坊區塊鏈合併 (merge) 的。
不過隨著社羣針對以太坊 2.0 路線實現方案和關注重點的持久討論,如今以太坊社羣,更強調的是 rollup 為中心的實現方案。
11 月 11 日,vitalik 被問及:
為何要在以太坊 1.0 併入以太坊 2.0 之前,就部署分片鏈方案?
vitalik 的看法是:
最近的計劃是,對合並區塊鏈方案、輕客戶端支援、以及對 phase1 的設計,都是獨立的模組,並不會相互依賴。因此,如果合併方案在分片實現之前就完成的話,那麼,就會先將以太坊 1.0 合併到以太坊 2.0 中,而不必等到分片之後再實施。
ama 中,我們可以見到以太坊基金會開發者們的最新思考方案。phase0 上線之後,以太坊 2.0 後續各階段如何發展?我們不妨聽聽 vitalik 等以太坊團隊成員怎麼說。
社羣提問:
在 phase0 上線後,以太坊 2.0 spec(計劃)最大的變更會是什麼?
vitalik 迴應了這一問題:
在過去的幾個月裡,路線圖中有很多部分發生了變化。我認為,有必要總結一下到底發生了什麼 (這與以太坊 2.0 的 spec 在未來2年內的發展有關):
三個最重要的變化是:
路線圖以 rollup 為中心。將 “phase1” 簡化, 僅用於承載分片資料(以便使用rolllups方案)的內容,實現起來更容易。 簡化合並方案。在去年 10 月份,我發了一篇帖子,提到了以太坊 1.0 向以太坊 2.0 的過渡路線圖。目前仍然是大致按照這個路線圖的方案,但是有兩點不同。 a. eth 1 的交易將直接在信標鏈上,而不用放到分片之中。
b. 由於 optimistic 方案的執行,可能大大縮短在 eth2 和 eth2 的合併期間的暫停時間。這使得合併實施起來更容易,並且我們也開始在建立 poc (概念驗證方案)階段了。
各階段並行。這是最新的考慮,也可能最容易被低估。本質上,輕客戶端支援、資料分片(又名“階段 1”)和合並方案,都會彼此獨立,所以,無論其他的元件處於什麼階段,每個模組只要準備好了,就可以實施。
為什麼要進行這些修改?所有這些變更,都是為了一件事:讓 eth 2.0 更快上線,讓人們更快用上。
很可能在分片方案實現之前,就能支援輕量級客戶端,這使得信標鏈非常有用,甚至可以作為在 eth 1.0 的鏈上達成共識的工具。
合併方案簡化,意味著更快實現。而多階段並行,進一步開啟了實現 eth 1.0 和 eth 2.0 合併的大門。
為何暫時忽略 phase2:因為有更好的方案了
據鏈聞報道,在 11 月 12 日的一次以太坊 2.0 例會上,vitalik 發言稱,以太坊 2.0 的第二階段會基本處於凍結狀態。
在此次 ama 中,vitalik 重申了這一看法:
既然目前的策略是以 rollup 為中心,那麼 phase2 (第二階段,原生分片執行) 暫時不必重視。因為第二階段的目標是實現高 tps,但是透過 phase1 + rollup 的方式,不必等到第二階段 (phase2),就能夠得到更好的 tps 表現。因此我們集中全力,實現現有的 rollup 為中心的方案就好了。
也就是說,我們並沒有做出什麼不可逆的決定,當前關注 phase1 + rollup 的方案,並不會阻止我們未來實現 phase2, 實現原生分片執行的方案。如果需要的話,路線圖仍然會相容之前的計劃。
用一句話來說,現在路線圖的變化是什麼呢:更快合併 eth 1.0 和 eth 2.0, pos 共識機制更快實現,更快達到 10 萬 tps。
未來:不再使用 1、2、3 等序列數來表示不同階段
danny ryan 在回答關於 phase 1.5 的一個問題時提到:
不再使用序列數(1,2,3等)來表示各階段,也是為了說明這些階段彼此獨立並行。在新增資料分片之前,可能可以實現將 eth 1.0 和 eth 2.0 合併,因為這兩階段的開發工作,獨立進行。甚至我們不久之後就可能見到測試網上線,實驗 eth 1.0/eth 2.0 的合併方案。
二、2.0 路線圖各組進度如何?
以太坊 2.0 路線圖中各組塊的進度如何?
在以太坊 2.0 的各個部分裡,哪些部分你們正在積極研究,又要等到什麼時候實現呢?
justin 總結了以太坊 2.0 多個部分的進展。
輕客戶端:前期研究和開發規格文件的撰寫,目前基本完成了。實施起來相對容易。 資料分片 (phase1 階段的重點):研究階段基本完成,正在撰寫開發規格文件。存在一些工程挑戰,比如資料可用性取樣等,但是,我們知道如何簡化,實現更簡單的資料分片方案。 合併方案:我認為協調起來有些困難,尤其要處理僵化保守的 eth2。 ewasm:由於轉向了 rollup 為中心的路線圖, 階段 2 (實現 eth2 vm) 並不是我們中期目標的重點。長期來看,我認為我們會有個正式的 vm 方案,而 wasm 正在成為區塊鏈標準,更可能會被選中。 執行環境: 中長期來看,rollup vm 可以作為執行環境的合適替代品。 rollup:rollups 並不在 eth2 的共識機制中, rollups 是 layer2 (第二層擴充套件方案)架構之中的組成部分。因此,rollup 也超出了以太坊基金會 eth 2.0 團隊的職責範圍。
justin 對於合併方案的進展,並不樂觀。在他看來,由於涉及到 eth 1.0 和 eth 2.0 的協調,沒準會觸犯了 eth 1.0 保守派。justin 認為,2021 年估計是等不到 eth 1.0 和 eth 2.0 合併了。也就是說,存入到 eth 存款合約、參與 staking 的資金,至少要等一年多時間。
什麼讓 vitalik 感興趣?
在以太坊生態中有一些方案,不屬於 eth2 的範圍,但是讓我感興趣,比如基於 zk-snark 的隱私技術(零知識證明相關的隱私技術)。aztec 取得了很棒的成績,在 rollup 之中實現了高度保護隱私的智慧合約系統,tornado cash 也已經上線運營,為我和其他許多人提供了實際價值。此外,最近 maci 透過 clrfund 這款二次型融資程式募集資金,上線了主網。maci 透過 zkp 提供了隱私和安全保障,並且進行了加密。
三、散戶如何參與質押?
在之前文章裡面,我們介紹過了一些 staking 礦池和服務商,散戶也可以參與其中。在此次 ama 中,reddit 上的使用者對此也非常感興趣。
我們想透過 staking 礦池參與 eth 2.0 的質押,你們有什麼推薦麼?你知道,現在太多騙子了,想聽聽你們的推薦,更可靠一些。
justin drake 回覆說:
目前來說,其實讓我推薦好的礦池還為時過早。不過如下的這份列表,可以作為參考。我認為可靠的一些品牌,比如 coinbase 這些團隊,提供了中心化的 eth 2.0 抵押礦池,也會很快上線。未來中期階段,我們也會見到一些可信的去中心化礦池方案。
不過,筆者要提醒各位注意的是,儘管這裡列出了多個專案,各位讀者還需要自行做出審慎的研究,儘可能降低風險,尤其在 eth 2.0 早期階段時候,許多的專案方案並不成熟。上圖列表的來源連結是:https://beaconcha.in/stakingservices。
四、其他 layer2 方案怎麼辦?
補充一下背景,為什麼會有這個疑問?因為 rollup 本身也是 layer2 方案的一種。此次路線圖變更,確立了以 rollup 為重點方向,那就有可能會對其他 layer2 方案造成影響,所以才會有此疑問。
對於這個問題,以太坊團隊的 dankrad feist 迴應:
實際上,許多擴充套件性解決方案很可能會繼續存在,甚至在使用 eth2 時變得更加強大。首先eth 2.0 會具有很強的資料可用性 (在階段 1 的資料分片階段實現),這正是當前擴充套件解決方案的瓶頸,所以我們期望可以見到巨大的改進。
第 1 階段上線後,目前的 l2 網路基本上會變成 eth 2.0 的執行環境,可以看看 vitalik 的建議:
https://ethereum-magicians.org/t/a-rollup-centric-ethereum-roadmap/4698/30
五、驗證人的收益和懲罰問題
在 eth 2.0 中,作為驗證節點,也需要遵守相應的獎懲機制。社羣對此提問:
我在推特上看到 vitalik 的帖子,獎勵隨著參與的減少而減少。為什麼會發生這種情況? 我一直看到人們說有“反串謀”檢查到位(或反集中措施)。只要保持終局性,當更多的人同時離線時,離線懲罰真的會增加嗎(比如 aws 宕機的情況)? 考慮到最近出現了 infura 宕機,驗證人如果沒有連線 eth 1.0 節點,後果是什麼?
首先,獎勵問題。這裡涉及到了一個規則:即所有驗證者的獎勵乘以在那個 epoch 週期中成功參與的驗證者總數的百分比。也就是說,如果 92% 的驗證者都線上,那麼所有的獎勵都要乘以 0.92。
這個規則作為第二層防禦而存在,以防止採用自私挖礦策略的驗證人為了自己的利益而傷害其他驗證人;有了這些懲罰,傷害其他驗證節點,自身也會受到損失。
只要最終性可以保持,就算是很多人同時離線,離線懲罰也不會增加。只有當最終性被打破 (此時超過 1/3 的節點離線) 時,才會出現 inactivity leak penalty (怠惰懲罰)的情況。
如果出現了 infura 的情況,而驗證人沒有連線到 eth 1.0 節點,那麼驗證人的獎勵會顯著降低。
六、如何有效跟進 eth 2.0 進展?
對於一位社羣使用者的評論,我感同身受:
eth 2.0 的研究往往散落、隨時變化,很多時候,如果不及時跟進更新,就會跟以太坊的研究進展脫節。那麼,以太坊社羣,如何才能更好的跟上 eth 2.0 的整體進展?
vitalik 回覆稱,自己也很贊同這一看法。
如何追蹤以太坊 2.0 的進展?這取決於你想要關注的細節程度。如下的一些連結,可供參考,按照從整體到區域性更豐富細節的順序排列:
關於以太坊的整體方案,如路線圖等巨集觀文件。其中,vitalik 的這則帖子,列出的是最為巨集觀的設想:https://twitter.com/vitalikbuterin/status/1240365047421054976
會議演示,對核心研究人員和開發者的播客專訪等,比如 bankless 的節目。
客戶端團隊的部落格、帖子更新。
eth 研究網站中的帖子: https://ethresear.ch
github 文件: https://github.com/ethereum/eth2.0-specs/
此外,還有雙週研究例會,參見:https://github.com/ethereum/eth2.0-pm/tree/master/eth2.0-implementers-call
其他使用者也補充了一則,可以訂閱 weekinethereumnews: https://weekinethereumnews.com/week-in-ethereum-news-november-15-2020/
七、eth 的供應量是多少?
最後,vitalik 專門在 twitter 上貼出了針對這一問題的回覆,提請社羣關注者注意。
vitalik 回答:
這是一個很好的機會,來提出一個很重要的觀點,不過這個觀點可能不太受歡迎:
實際上,未來兩年內,以太坊將會成為一個快速轉型的生態系統。
hexary trie 會被替換為一個二進位制單詞查詢樹(binary trie),pow 會被 pos 取而代之,而且我們會新增一個前所未有的新技術叫做“資料可用性抽樣”。
最重要的是,以太坊的代幣經濟正在從根本上調整:
pw 轉向 pos
eip 1559 實現
使用者從 layer1 轉向 layer2
以太坊生態系統有一個堅定的目標:成為一個穩定、可靠的系統。從長遠來看,你今天在以太坊社羣,不是因為當下的一切規則、經濟和秩序,值得不惜一切代價保護,而是因為你相信以太坊生態的前途。兩年內的主要任務,是穩定和珍惜我們已有的創造和成就。
在此之前,我們參與以太坊,一定程度上是因為預期以太坊有著良好的路線圖,升級過程結束之後,我們可以獲得高效、穩定、強大的網路,成為全球經濟的重要基礎設施。
在接下來的 1-2 兩年時間裡,或者說在 eth 1.0 和 eth 2.0 合併之前的時間裡,大約每年是 470 萬 eth 的發行量。pos 實現之後,大約是 200 萬以內的發行量減去銷燬的手續費部分。
現階段 phase0 的程式碼已經完成,基本上只是等待人們存入以太坊資產了。這一事實,實際上相比六個月之前,已經顯著降低了網路從 pow 到 eth2 的 pos 的風險了。
八、小結
以太坊基金會 eth 2.0 研究人員重點回復了關於路線圖進展的問題。我們在文末簡單回顧一下。
首先,phase0 階段如果未能達到預期,有可能會在一月份時候透過降低節點參與數量的門檻方式,加速 eth 2.0 的上線程序。
其次,eth 2.0 開發團隊採用了多組塊齊頭並進的開發模式,未來 eth 1.0 的交易將直接接入到信標鏈上,而不用放到分片之中,可能大大縮短在 eth2 和 eth2 的合併期間的暫停時間。這使得合併實施起來更容易。這意味著,參與 staking 的使用者,代幣的鎖定期有可能降低。不過,還要取決於 eth 1.0 和 eth 2.0 合併協調工作。
最後,採取了 rollup 為中心的路線圖之後,只需要在 phase1 的資料分片上線之後,就能透過 phase1 + rollup 的方案結合,實現以太坊擴容,無需等到 phase2 階段。因此,vitalik 最近也提到說 phase2 的規格文件將暫時沒那麼重要,重點會放在 rollup 為主的解決方案上。而各 rollups 專案,未來可以直接以 eth 2.0 的資料分片鏈為基礎,讓使用者在 l2 層使用。
不過,當前除了 rollup 之外的其他 layer2 解決方案未來如何走,是轉型還是堅守迭代?時間會告訴我們答案。當然,儘管力推 rollup + phase1(資料分片)的方案,希冀以此提升進度, 但距離 eth 2.0 正式可用,仍有不短的距離。若有時間魔術,或許要問:請回答 2022, eth 2.0 上線完成了麼?
1、《eth2.0信標鏈何時上線?何時開啟staking?何時開啟獎勵分發?》
2、《eth2.0 質押生態大起底:如何「不搭節點、不鎖倉、任意數量」參與質押?》
參考資料:https://www.reddit.com/r/ethereum/comments/jvkoat/ama_we_are_the_efs_eth_20_research_team_pt_5_18/
-end-
宣告:本文為作者獨立觀點,不代表區塊鏈研習社(公眾號)立場,不構成任何投資意見或建議。