作者 | Ben Edgington
來源|ETH中文網
精選推薦
本期的文章薦讀是Anthony Sassano的Daily Gwei《eth2和eth2合併之路概覽》。
趁此機會,我想說Daily Gwei真的很棒,篇幅精簡,內容準確且豐富。足以見得Anthony對於生態中許多領域的瞭解頗深。而且這是日刊,我很難想象每天要花多少功夫在這上面。(本條並非廣告😂 而是完全出自本人對Anthony及其工作的欽佩)
另外,這周我覺得還值得一聽的是Vitalik作為嘉賓的Hashing it Out播客。內容不僅限於Eth2,而是俯瞰當前以太坊生態中的方方面面。
社論
我上週突然發覺,距離我們相聚在柏林恰好兩週年了,而這是我們解鎖Eth2旅程的起點。之前我們的工作方向一直是對分片和Casper進行獨立設計,由Eth2上的智慧合約管理。但其侷限性隨後被證明:一方面,彼時的預期最低質押額是1000 ETH。
Eth2後來的雄心壯志已經遠遠突破了舊設計的侷限性,我們可以說是從一張白紙開始重新設計這整個系統。我們是否做了對的選擇?我完全相信這是正確的方向。舊設計的約束條件過於嚴格。(即使如此,在上面提到的播客中,Vitalik對於在起初沒有采取最小可用的Proof of Stake機制表示遺憾)
多麼有收穫的兩年啊!😅 我們目睹了巨大的創新和驚人的成就。回想起多客戶端測試網從無到有,現在已經接近產品級,我仍然感覺難以置信。我從事產品開發已經25年了,我從來沒有看見有哪一個重量級產品發展得如此之快。幫我個忙,如果下次你再聽見這樣的牢騷:Eth2到底什麼時候上線?請禮貌地提醒他們這個事實。
階段0:信標鏈
自上期以來的重大訊息就是我們成功釋出了Altona測試網 (瀏覽器/儀表盤)。創世在UTC時間6月29日12:30:05順利完成。如果感興趣的話可以看看由superhiz組織的錄播。影片中我看起來有點不安,但隨後同我的節點Metal Albert一樣心花怒放,因為它挖出了創世區塊。
當前執行中的測試網,Altona (多客戶端) 以及Onyx (Prysm) 都在穩定運轉,展示出向好的跡象。一個支援大規模參與的測試網路有望在2-3周內開放。請保持關注!
Least Authority釋出了針對Protocol Labs的Gossipsub v1.1設計和實現的審計報告。這是我們會在Eth2中使用到的網路協議。其中有許多可調節的引數。在最近的開發者會議中,我們將很快釋出一個次要規範,其中包含適用於Eth2的gossipsub引數。
說到審計,以太坊基金會也在為客戶端使用的Herumi密碼庫尋找審計方。詳情參見RFP,但要儘快了,截至時間是週二。
之前提到過BLS庫產生了一個分支:Supranational的Blst庫。一些客戶端團隊正在嘗試整合,到目前為止其效能還是很可觀的。有訊息稱,今年稍遲一些會對其進行形式化驗證 (這比審計要嚴格許多)。
對了,hash-to-curve規範也更新到了v09版本,但是v07和v09之間沒有產生影響Eth2的實質性改變,因此對我們來說並無大礙。
以太坊基金會為ETHGlobal的HackFS提供Eth2和libp2p專案的賞金贊助。從測試網不難看出來,對於分散式系統來說,要分析並修復漏洞是一項很複雜的工作 (如果證明數量突然變少了,我們如何尋找原因?) 在這些問題上,我們亟待更好的工具。所以就看大家的了!😃
工具
Jim McDonald在thegraph.com中為多個測試網 (Topaz, Onyx, Altona)的存款合約新增了子圖。這使得我們能夠輕鬆查閱存款歷史。快來The Graph上試試吧!
Protolambda釋出了Rumor v2版本。Rumor是“使用Go語言編寫的互動式殼層,可執行Eth2網路堆疊、連線測試網、除錯客戶端併為工具提取資料”。
Protolambda的工作從不單一,除此之外他還一直在構建一個指令碼儲存庫,可用於信標節點互動或是處理Eth2資料。
區塊瀏覽器也沒有停止創新。Etherscan釋出了一款支援電子郵件警報、儀表板以及其他功能的Eth2驗證者瀏覽器[1]。詳情參見BeaconScan。
同時,beaconcha.in也在持續新增新功能:根據塗鴉字串構建儀表板、為驗證者新增標籤、註冊驗證者時對存款程序進行跟蹤,他們還發文闡釋了存款程式和驗證者狀態。
釋義性文章
最近的文章大多與信標鏈節點和驗證者的執行相關。參考以下:
Attestant 團隊的 Steve Berryman:在Altona測試網中安裝並執行PegaSys Teku驗證者
CoinCashew:如何使用Ubuntu系統和Lighthouse客戶端在ETH 2.0 Altona測試網中進行質押
Hive Blog:使用樹莓派4B 8GB執行Altona測試網驗證者
設定Prysm驗證者的詳細教程。其中許多部分適用於所有客戶端。
目前為止,這些文章多多少少都比較技術化,主要受眾也是不懼繁瑣的使用者。如果覺得這些文章不適合你,不用擔心,之後也會有許多類似DAppNode的簡便即用性選擇。
然而這也提醒我們,執行自己的節點需要付出一定工作量並承擔相應的責任。這並不是一勞永逸的事,需要長期的投入和維護。
如果大家對多個Eth2的客戶端感到困惑,Somer Esat對客戶端的當前狀態做了一次梳理《以太坊2.0與七個客戶端》。Somer的文章很有幫助,我可以確定其中關於Teku的資訊是準確無誤的。(本文還有中文版)
這裡我尷尬地承認在上期遺漏了一篇文章(特別是我已經審校過其草稿😧)。Mara Schiedt致力於探索在以太坊2.0中使用秘密共享驗證者,以增強網路的強韌性和多樣性。Eth2協議從一開始將這類去信任的多方計算功能加入了設計,儘管有些擔心參與者最後會選擇捷徑,但我希望這能成為現實。
Bison Trails宣佈對Eth2進行支援,併發布了一篇Eth2設計和路線圖科普文章。
Ivan on Tech再次為我們解構ETH 2.0:讀懂eWASM和EVM
Everstake也開啟了一個Eth2系列,首篇:什麼是以太坊2.0?
媒體
這期開始我將嘗試新開一個板塊,這個板塊囊括了播客、推特和其他新聞,而收集的新聞放在這裡是最合適的。
在我寫這篇文章的同時,以太坊基金會開發團隊正於Reddit上舉辦AMA問答活動。這些一直都值得關注——我們可以看看到目前為止一些很有價值的問答。去年開發團隊舉辦的AMA問答由Ethhub整理併發布,以供參考。
Tyler Smith在twitter上發表了系列推文,內容是關於未來6-12個月內以太坊將面對的風險與機遇。不只是講Eth2,但推文重點在Eth2上:
在ETHPlanet主辦的夏令營裡,Vitalik、Danny和Karl Floersch討論了Eth2和以太坊擴容問題。可在YouTube上看重播(由於網路連線出現問題,連結跳過了前13.5分鐘)。這是一次很好的概述性談話。
另一個採訪:播客MikoBits與Quantstamp的Kacper Bak進行了一場Eth2的深入探討。(順便說一下,Quantstamp對Prysm的安全性進行了審計。)
Bernhard Mueller和Vitalik討論瞭如何簡化Eth2路線圖,並以系列推文展示出來。
與以往一樣,關於信標鏈的釋出日期有各種猜測。預測市場在這方面應該很在行:信標鏈能不能在2020推出呢?Omen市場目前的比是55:45。Evan Van Ness押注500 USDC,賭信標鏈將於2020上線。而Polymarket市場預測比從56:44變為74:26🤷♀️
與此同時,Justin仍然堅持上線日期為1月3日。Vitalik和Danny想要加快上線進度。我非常期望今年以內可以上線,並且我們與Teku的所有產品規劃都圍繞著這個目標進行。再看一個關於上線日期的漫畫。
圖片源自推特 @preston_vanloon
研究工作
Aditya Asgaonkar發文分析了Eth2的弱主觀性時期。之前提到,他的結論有些令人吃驚。我以為我們假設Eth2的弱主觀性時期為幾個月,但根據Aditya的計算更傾向於一兩週。
弱主觀性時期的出現是由於PoS協議何如適用於新入網的節點或是離線一段時間之後重新同步的節點。這不會影響大多數保持同步的節點。問題是,一旦驗證者離開了網路,他們就可以隨意製造歷史區塊或者歷史證明,並且不會受到懲罰(因為其無法被罰沒)。
如果有一定數量的驗證者這樣做,那麼他們可能會誘使新節點遵循錯誤的鏈。對此,我們採取的一種防禦機制是限制驗證者加入和離開網路的速率。但即使如此,Aditya表示即使驗證者數量龐大,也可能會在幾周內退出大量驗證者,從而引發上述問題。
此問題的解決方案是讓新節點在弱主觀性時期內的某個位置能找到值得信任的檢查點。這就能確保節點始終同步正確的鏈。Aditya提出了幾種實現方式,我們也在最近的開發者電話會議中進行了討論。
對於客戶端開發人員而言,這可能意味著全然不同的工作流程。我們正在組建工作組討論解決方法。顯然,我們需要儘可能以去信任方式來分佈這些檢查點。
來自ethresear.ch:
Alex Vlasov(ConsenSys TXRX團隊):透過時間同步漏洞去匿名化。貼文探討了更多如何透過時間同步漏洞進行網路攻擊,主要攻擊點是對驗證者進行去匿名化,Jonny Rhea (同樣來自TXRX團隊)最近也一直在研究這個問題。
我們如何能夠保護驗證者的隱私呢?問題在於,如果一個攻擊者提前知道輪到我提議區塊,那麼我會被攻擊者有選擇地進行低成本DoS攻擊。這就導致網路為攻擊者敞開了大門。
我們有方法使得每個slot的區塊提議者無法被提前知曉,也即秘密領導人選舉。但這涉及到複雜的密碼學技術。
另外一種相對簡單的方式是每個slot都隨機選擇多個提議者,期望值為1。這可以透過驗證者簽名秘密進行,但可能會導致每個slot出現多個甚至沒有區塊提議者。這兩種方案各有其利弊。
Danny Ryan提出了一種結合兩者優勢的方案:公開領導人選舉 (PSLE) + 秘密隨機備選選舉 (SPBE)。該方案的主要理念在於,如果真的發生了網路攻擊,那我們可以放出煙霧彈,直到出現可靠的解決方案。
常規會議
實現者會議
7月9日進行了第43次會議。
會議議程
會議影片
我的速記以及Mamy的筆記
除了常規會議內容,我們還討論了一些特殊話題:
事故響應:Sigma Prime的Mehdi正在組建一個跨團隊工作組,以規定如何對事故進行響應,為的是隨時應對信標鏈上發生的故障。
弱主觀性:我們對上文中Aditya的弱主觀性報告的結果進行了討論。然而在大多數情況下,我們這群開發人員性格都比較內向,因此在電話會議中沒有太多的討論。但是,Aditya將召集另一個工作組,我希望在組內大家能熱烈地討論。
同時,我很期待Sigma Prime即將釋出的”Fuzzing@Home”設定,該設定將其模糊測試(fuzz-test) 環境放入Docker中,這樣就可以透過大規模分散式的方式對客戶端實現進行測試。
客戶端團隊
客戶端團隊Prysm的更新。順便說一句,我們現在每兩週釋出一次Teku更新,讀者可以檢視我們的更新日誌,而不是去看一篇辭藻華麗的文章。
我們修復了Teku中的一個細小bug,Adrian Sutton將此事件寫了下來。摘要:晚到的區塊 (late-arriving blocks) 導致了令人驚奇的競爭狀態。
今天上午Lodestar團隊的Cayman出席了臺北以太坊交流會,並對其產品套件進行了演示:Web中的Eth2。點選此處瀏覽ppt。事實證明,Lodestar團隊整理了一些我以前沒有注意到的好工具:
https://simpleserialize.com 事實上,我聽說過這個
https://enr-viewer.com<-我一直都期待著這個❤️
https://bls-keygen.com
寫在最後...
我的Gitcoin上的第六輪二次方匹配 (CLR) 捐贈計劃收到了48位小夥伴的捐贈。非常感謝!你們太好啦🤘
至於如何完善我的規範註釋專案,我的腦海裡有更大的藍圖,不僅僅是隻完成信標鏈部分。😂在接下來的幾周內,我將繼續我的工作。