波卡聯合創始人:平行鏈的未來規劃和Rococo 的重構

波卡聯合創始人Robert Habermeier 介紹了平行鏈走向成熟的道路,上下文執行、平行線程和網絡優化是即將發生的重要事情。

原文標題:《Robert:平行鏈的未來規劃和Rococo 的重構》
演講:Robert Habermeier,波卡聯合創始人
編譯:PolkaWorld

本文整理自10 月14 日波卡聯合創始人Robert Habermeier 在「Sub0 Online 2021」Substrate 開發者大會上關於平行鏈的演講,由PolkaWorld 翻譯和整理。

波卡聯合創始人:平行鏈的未來規劃和Rococo 的重構

我今天其實就是要講講平行鏈,包括:怎樣實現、目前到什麼階段了、未來有什麼計劃。

我是Polkadot 的創始人之一,從2016 年就開始和Gav 一起在做Polkadot,我也是平行鏈代碼庫和實現的主程序員和團隊負責人。所以我今天分享的內容是來自第一線的。

平行鏈V1 開發線路圖

首先我們來看看時間線,看看平行鍊是怎樣發展到今天的。

波卡聯合創始人:平行鏈的未來規劃和Rococo 的重構

在Polkadot 的開發週期初期我們花了大量的時間,去構建Substrate、BABE 和GRANDPA 共識算法、lib p2p。其實平行鏈的開發,需要提前完成這裡面的很多基礎組件。所以我們在5 月發表了《實現者指南》的第一版草案,這個指南其實就是一個巨大的實現文檔,它描述了我們的動機,我們在寫這樣大量的代碼時的想法。因為當你深入到一個很大的軟件開發項目時,你真的需要去思考所有的部分要怎樣組合在一起。這些部分不會自然地融合到一起,你不能今天寫點這塊,明天寫點那塊,你需要去思考每一塊要怎樣放在正確的位置。所以說,如果你要做某件事情,就像我們在做的事—— 上線平行鏈一樣,那麼類似《實現者指南》這樣的東西就至關重要,它可以確保代碼是經得起推敲的,它是一個基本的基礎設施組件。

所以《實現者指南》是在2020 年5 月發表的,這時我們就鄭重地開始開始去構建。它所做的一件事是,把平行鏈代碼分為了四個主要部分:

1、支持和可用性:驗證人從收集人那裡找到區塊,然後說我覺得這個區塊不錯,把它包含到鏈上,然後保證檢查區塊所需的數據存在。

2、批准檢查:安全性的一大部分就來自於這裡,它是一種方式,一旦平行鏈區塊上鍊了,驗證人通過一種安全的方式隨機自我選擇,這種方式就會檢查是否他們應該恢復這些數據,然後自己檢查區塊。

3、爭議處理:也就是如果一個驗證人檢測到了某個東西是惡意的,那麼它就需要去聯繫其他的驗證人,讓他們可以參與和檢查。這種情況發生的概率極低,比如是20 個小數點左右的概率,在批准檢查階段沒有人發現這個區塊是惡意的,此時事態就會迅速升級。所以說這些組件其實都是環環相扣的,來保證平行鏈的安全性和可擴展性。如果你去攻擊這條鏈的話,你不會失去幾百萬美金的概率只有十萬億分之一,而且在每一次你去攻擊時都是一樣的。

4、審計:在過去的幾個月中,我們雇了SR Labs 去做代碼審計,去檢查實現,試圖找出Bug。他們進行了獨立的評審,檢查了平行鏈的不同部分。現在我們也請他們做了其他一些部分代碼的審計。他們提出了幾個Bug,不算太多,目前我們修復了50% 左右,剩下的也有了解決方案。

这就引出了技术敏捷性的概念,也就是在 Rococo 和 Kusama 上进行审计和重大部署之后,平行链已经准备好初始产品版本发布了,要注意的是,我们要修复显著的审计问题,安排在 12 月之前完成。真实环境下的部署也非常重要,我们有一个 Rococo 测试网,是一个多地区测试网,Parity 运行着它所有的节点,这个网络也没有经济价值,所以它只是用来试一试技术是否可行,我们可以看到在几百个节点的情况下这项技术有什么表现。

我們還會看到在Kusama 上的真實環境測試,因為在進入到真實環境之前,你永遠不知道實際上會發生什麼。我們可以試著在Rococo 上盡可能地去中心化,但是直到進入真實世界前,你其實也不知道真實的情況會如何。 Kusama 上有900 個驗證人,分佈在全球,你根本不知道這些節點是誰在運行,他們只是在自己買來或租來的電腦上運行了一個程序而已。

敏捷vs 成熟

波卡聯合創始人:平行鏈的未來規劃和Rococo 的重構

那麼,敏捷和成熟相比,意味著什麼呢?

敏捷的意思就是,它能用,但是它還沒有到達最終形態。代碼的功能都完整了,該有的功能都有。也用高標準測試過了,在各種邊緣情況下都測試了,和各種模塊都結合地很好。還有安全專業機構進行了獨立的評審,我們還模擬了可能的攻擊,看看該系統是否可靠。實際上如果你現在去看Rococo 測試網的話,你會發現有敵對的節點正在試圖去破壞網絡,但是沒有成功。但是,如果說某個東西是敏捷的,它可能還是存在Bug,可能還需要重大優化。

相對的就是成熟的這一類代碼,當某件事已經演化到一個階段,經過了幾年的使用後,它已經是一個基礎性的、大負載的、可靠性很高的基礎設施,我們就會說它是成熟的。所以有很多優化可以去做,它是經過了實戰考驗的。比如說以太坊在2016 年經歷的上海攻擊,那時大家真的在努力地試著去摧毀以太坊網絡。當現實世界中的某些東西被證明可以承受經濟攻擊時,這是朝著成熟邁出的一大步。

代碼是穩定的,更多地在維護代碼,而不是開發代碼。這意味著在這這時創新並沒有那麼多了,因為它的基礎設施和增長更多地都是一些邊緣創新。

走向成熟的道路

那麼,我們走向成熟的道路是什麼?沿著這條道路前進的一些步驟是什麼?我將介紹一些主要的步驟。

我認為其中的一些非常重要的即將發生的事情是上下文執行、平行線程和一般的網絡優化。所以我將深入聊聊這三件事。

波卡聯合創始人:平行鏈的未來規劃和Rococo 的重構

如果你觀察過Kusama 或Rococo 網絡,你會看到每12 秒包含一個區塊。這不是出於協議的限制,而是實現的限制。所以上下文執行就是為了從12 秒出塊加速到6 秒出塊。在我們目前Rococo 和Kusama 上的很短的區塊執行時間中,又只有很少的時間是真正用於區塊的執行的。

上下文执行的想法是显著增加区块执行时间,它基本上是关于提前准备区块,有点像是在链下进一步构建平行链,然后慢慢地把这些东西放到主中继链上。而不是在平行链区块马上就要被包含到中继链上时再去构建这些区块。这是我们已经制定好的优化方案,我们已经为它制定了设计,它是接下来的优先事项之一。

另一件即將發生的有趣事情是平行線程,它是建立在一個區塊又一個區塊的基礎上的平行鏈插槽的動態調度。這是什麼意思呢?目前平行鍊是有專用的執行時間的,這些時間通過拍賣來購買,可能是6 個月、12 個月或24 個月的時間專屬於我,我可以在任何我想使用系統的時候去執行一個區塊。而平行線程更像是一種即用即付的模型,它和平行鏈非常相似,其實代碼實際上並沒有特別不同,它實際上只影響我們所說的支持和收集階段。對於我之前說到的一些階段,比如可用性、批准檢查和爭議等,平行線程和平行鍊是一模一樣的。

網絡優化是一個比較大的部分。這是點對點網絡,正如Gav 在之前的演講中提到的一樣,點對點網絡是一個挑戰,它非常困難,因為在客戶端服務器模型中,你必須標記一些服務器,就能快速回复。但是當你在做點對點網絡的時候,挑戰就是盡可能有效和快速地分發數據,並且具有低冗餘和高交付保證,其實很難做到這一點。我認為在網絡優化方面有很多馬上就要夠得到的成果,這將極大地提高實現的性能。

所以我覺得這些都是平行鏈方面在不久的將來可以關注的一些點。

重構Rococo

接下來我想聊聊Rococo 測試網,包括這對社區意味著什麼,大家可以怎樣參與進來。

波卡聯合創始人:平行鏈的未來規劃和Rococo 的重構

之前我提到了Parity 在運行所有的Rococo 節點,它的作用主要集中在內部測試上,我們會運行前沿代碼,快速修改,部署對抗性節點之類的。但這確實意味著當我們在開發過程中發現了錯誤,我們偶爾會破壞這條鏈,這使得對於想在上面部署自己的平行鏈的團隊來說,這條鏈變成了一個非常困難的部署環境。 Substrate 開發者需要有一個地方來部署和測試跨鏈解決方案。隨著目前版本的XCM 更加穩定,大家已經可以真正使用那些跨鏈創新了,那麼一個測試環境就變得非常重要。

所以在這裡我要向你隆重介紹Rococo 改造計劃。

波卡聯合創始人:平行鏈的未來規劃和Rococo 的重構

我們的想法是,Parity 會在Rococo 測試網上保持向後兼容性,以確保它不會重新啟動。所以當你註冊平行鏈的時候,不用像在Kusama 和Westend 裡那樣再去更新你的節點或runtime,這意味著你可以計劃在更長的時間內使用Rococo,並真正將其用作與其他團隊合作的地方。

另一點是自動平行鏈插槽。我們構建了一種調度程序,將Rococo 上的時間分配給註冊使用它的團隊,這樣他們就可以獲得長度為一周插槽。這些插槽會在可用性的基礎上自動且公平地分配給團隊。不過我們特別會優先考慮已在實時網絡上部署鏈的團隊,也會優先考慮加入了Substrate Builder Program 的團隊。

當然我們也會非常注重社區。我們鼓勵在Rococo 上進行跨鏈通信和實驗,尤其是在更高層次上,不僅是部署平行鏈,還包括在平行鍊鍊之上部署一些東西,比如我們希望可以看到用戶界面或去中心化應用程序開發者,可以去利用多條平行鏈,並且享受在這個測試網中進行創造。而不僅僅是那些超級硬核的特別底層的開發者。

我在這列出了一個時間表,說明一些Rococo 改造的計劃是什麼樣的。

波卡聯合創始人:平行鏈的未來規劃和Rococo 的重構

今天我宣布了我們打算改造Rococo,我們還將很快發表一篇更長的博客文章來詳細描述。

然後就是技術方面的跟進,包括制定新的鏈規範,制定一些參數,比如Session 是多長時間,更換驗證人的頻率如何等,我們會把這些都自動化。

最後就是朝著Rococo 的最終重啟進發,我們將不再把這條鏈用於內部測試。目標是在11 月底完成這一步。

以上就是我的演講,謝謝!

特別聲明
免責聲明:本文不代表0x财经立場,且不構成投資建議,請謹慎對待,如需報導或加入交流群,請聯繫微信:VOICE-V。

來源:PolkaWorld 原創

Total
0
Shares
Related Posts