Polkadot 背後的劃時代發明:Substrate框架

買賣虛擬貨幣
背景提到 Polkadot,大家立馬就會想到跨鏈,覺得跨鏈是繼以太坊的智慧合約平臺功能後,新的剛需。誠然,跨鏈對於整個區塊鏈來說都意義非凡,但其實這僅僅是 Polkadot 其中的一部分,也就是互操性,而 Polkadot 還有另一個很重要的意義,就是可擴充套件性。因為中繼鏈+平行鏈的結構讓 Polkadot 有了相較於其他區塊鏈專案所未有的可擴充套件性,也為我們帶來了更多的可能。互操性和擴充套件性的結合才讓Polkadot變得更加完備,而但當我們深挖 Polkadot 背後的技術架構時,我們不得不提到其背後的一個劃時代發明—— Substrate 框架。如果說 Polkadot 是一棟萬丈高樓,那麼 Substrate 可謂是這棟樓的鋼筋混凝土框架,它的出現才讓 Polkadot 能夠順利完成摩天大樓的建設,因此瞭解 Substrate 的誕生與發展顯得意義非凡。Substrate 的誕生
在 2018 年舉辦的 Web3 峰會上,Polkadot 創始人 Gavin 博士透過一臺原裝出廠的 Mac 電腦,在 15 分鐘內就開發出了一條全新的區塊鏈,在當時可謂震驚全場,一時間該資訊傳遍了整個區塊鏈圈子,而其用到的開發工具正是被 Parity 公司稱為 Substrate 的一種全新的區塊鏈技術框架。

這可能是又一次讓區塊鏈圈子的人感受到了什麼叫“技術的力量”,畢竟 2018 年前,那些叫囂著要開發一條公鏈的區塊鏈專案還對外聲稱難度實在太高了,需要幾個月甚至好幾年的時間來完成,結果被一個名為 Substrate 的框架 15 分鐘 KO。

時間倒退到 2016 年,當時 Gavin 博士對 Polkadot 已經有了一點初步構想,大方向基本沿著分片的思路在思考,讓不同鏈的功能透過“某個中間橋”連結起來,從而提高區塊鏈網路的擴充套件性,沿著這一重要的構想,我們看到了後來的平行鏈和中繼鏈。

藉著 Gavin 博士在開發以太坊的經驗,Parity 開發團隊發現他們正在重複之前在以太坊和比特幣客戶端上做過的同樣的工作 —— 構建區塊鏈的一些基礎程式碼,例如賬戶、智慧合約、治理等功能本質上是一個類似的邏輯結構,於是他們設想能不能開發一個類似於“模組”一樣的東西來簡化區塊鏈的基礎開發,既解放開發者,也能夠讓區塊鏈的開發門檻降低一些。

於是,他們又沿著這一思路構建出了我們現在看到的 Substrate,只是他們沒想到這一框架的威力遠超他們想象。

Substrate 是什麼及功能介紹

前面我們用通俗的語言為大家講解了 Substrate 的誕生,其實從這個過程裡我們大概已經可以看出 Substrate 究竟扮演了怎樣的角色。用 Polkadot 聯合創始人 Robert Habermeier 的話來說,“Substrate 是一組用於處理編寫區塊鏈時所有煩人事情的庫。”

那麼究竟 Substrate 的創新點和優勢體現在哪些地方呢,我們嘗試從邏輯上和技術本身來為大家進一步剖析。

1. 模組化讓開發週期變短

從開發者的角度來說,Substrate 極大的簡化了參與區塊鏈開發者的工作量,這意味著原來的區塊鏈開發從底層框架搭建起來至少需要另一個龐大的團隊來提供技術支援,但 Substrate 將諸如核心模組(資料庫、公/私鑰生成、RPC 等 )、基本邏輯(資料結構、結算、時間戳 )、P2P 網路和共識機制, 甚至鏈上治理這樣的功能鑲嵌到 Substrate 中,成為可調取的模組,因此大大節省了開發週期和開發流程。

並且 Substrate 是一個完全免費且開源的框架,這意味著全世界有需求的開發者都可以自由使用該框架,並且它透過 Rust 的程式語言來搭建,該語言能夠幫助開發者快速、安全的完成軟體開發。

正如 Substrate 的英文全稱釋義:A substance or layer that underlies something, or on which some process occurs.(在某些事物的下面,或者可以基於它之上建立一些事物的物質或層),大概它很好的滿足了這一點。

2. 多選擇可滿足不同需求

當然,也許會有人有質疑 Substrate 的模組化會不會很死板?其實不然,Substrate 是多層架構的,可以讓開發人員在開發的方便性和技術的自由之間進行選擇,具體的三層結構分別是 Substrate Core(具有 Polkadot-Core 整合)、Substrate SRML 和 Substrate Node。 

具體來說,如圖所示,從上到下,技術自由遞減、抽象度遞減、依附性遞增。Substrate Core 是用於構建區塊鏈最小框架的模組,也是 Substrate 框架中最基礎的一層,可以提供像儲存、共識、交易佇列和區塊生產機制和低階 JavaScript 的實用程式等模組。而往下的 SRML 層則更簡單,開發者要做的就是從模組中選擇自己需要的組別建進行引數設定即可。最後是 Substrate Node,可以說是該框架中的小白應用層,只需提供 JSON 配置檔案即可獲得完整的智慧合約區塊鏈。 

而如果你需要從頭構建完全屬於自己的區塊鏈,只需要從最上層的 Polkadot Core 板塊開始。因此,Substrate 並不是完全的模組化,其實它的自由度依然很高,可以滿足開發者的各種需求,完美印證了那句“想你所想,行你所行,聽從你心"的狀態。

3. 無分叉的 Runtime 更新

我們知道區塊鏈世界少不了“分叉”現象的出現,而傳統分叉帶來的不僅是對區塊鏈網路本身力量的削弱,甚至可能因為分叉不到位給一些專案帶來滅頂之災。而 Substrate 帶來的另一個最令人興奮的特性之一,就是無分叉的 Runtime 升級。

正如我們在之前的文章所介紹的一樣,基於 Substrate 的鏈中,鏈本身儲存著一個叫作 WebAssembly Blob 或 WASM Blob 的東西。此 Blob 包含鏈構建新區塊所需的所有邏輯,鏈本身的 Runtime 包含在此 WASM Blob 中,如果需要修改區塊鏈的相關資訊,只需要結合鏈上治理公投,倘若票數透過,即可完成相應的升級,從而減少了硬分叉帶來的影響。

因此基於 Substrate 開發的區塊鏈(像 Polkadot)天然解決了硬分叉帶來的問題,所以在8月15日,Parity工程師Bastian發推稱,Polkadot的平行鏈測試網 Rococo 首次進行了無分叉的Runtime升級,完美踐行了該方案。 

關於 Substrate 的一些事實

1、Substrate 就是 Polkadot?

Polkadot 是基於 Substrate 框架構建的區塊鏈專案,而 Substrate 框架,更貼切的來說,是一個可以定製化構建區塊鏈的一個工具。但是Substrate本質上,相當於是 Polkadot 精簡之後的一個通用區塊鏈模板。

2、Substrate 做的鏈就是 Polkadot 的平行鏈嗎?

Polkadot 的平行鏈,與 Substrate 生成的鏈是各自可以獨立存在的,當然也可以用 Substrate 框架直接構建 Polkadot 的平行鏈,兩者的關係可以用下圖闡明。

3、Substrate 發的鏈會取代其他區塊鏈?

許多朋友一直在擔心 Polkadot 與以太坊 2.0 是否屬於競爭關係。實際上,Substrate 框架和Polkadot 並不打算取代現有的基礎設施。他們的出發點是不一樣的,Substrate 框架和 Polkadot的願景是做鏈的生態,與單條區塊鏈不是競爭關係,相反是起到連線各條鏈的作用,填補了工程可能性的空白。

平行鏈由於是連線上 Polkadot 的區塊鏈,它的安全性由 Polkadot 的中繼鏈保護,因此無法選擇自己的共識機制。如果一個區塊鏈想要使用自己的共識機制,或者已經有成熟的但是與 Polkadot 是屬於不同共識機制的區塊鏈,比如比特幣和以太坊,那它們可以透過一條平行鏈作為 “橋”的作用去連線 Polkadot,這就是 Polkadot 中的轉接橋。

4、Substrate 只能用作公鏈開發?

也許會有人認為 Substrate 只能用於公鏈開發,但其實不然,Substrate本身是一個開發框架,並未限制是否只能用作公鏈開發,恰恰相反,正因為其技術上的創新,Substrate 將會是公鏈、生態和聯盟鏈之間的重要橋樑。

例如 Polkadot 的中繼鏈在設計上能夠讓平行鏈透過區塊驗證節點與其進行認證互動,而同樣,每個平行鏈也可以作為其它外圍平行鏈的中繼鏈存在,無限擴充套件,但至於這個平行鏈是聯盟鏈還是公鏈其實都不重要,只要能夠連線起來便可完成互動。

Substrate的劃時代意義

當 Substrate 在 2018 年以耀眼的姿態出現時,人們除了驚歎其“發鏈”的速度,更多的可能是對未來的無限期許,而如今,隨著 Polkadot 生態的發展,Substrate 似乎走地越來越穩,我們也從中看到了一些不一樣的東西,而這些東西或許將會讓 Substrate 走的更遠。

1. 一鍵發鏈開啟區塊鏈下一階段

2017 年是區塊鏈生態大爆發的一年,隨著以太坊技術逐漸成熟,並被越來越多人認可,許多開發者意識到,他們可以基於以太坊發行自己設想的區塊鏈專案。

通常的做法是,專案創始團隊先根據區塊鏈與某個行業的結合,設計出一個區塊鏈應用,擁有或者設計一條更先進的公有鏈,然後基於ETH一鍵發幣的功能,進行融資,並根據每個人融資的比例分發相應數量的這個應用或者這個公有鏈的Token,而後有了資金再慢慢燒錢做這個應用的專有鏈或者公有鏈。等到這條鏈做出來了,再透過一對一對映的方式,把幣轉到後面一條鏈上,這才完成了一條鏈的開發流程。

然而,理想很豐滿,現實卻不買賬。因為在以太坊上發行數字資產倒是容易,可要做一條公鏈這個難度就上升了好幾個層次。以太坊上發行數字資產,只需學習一下智慧合約,然後幾行程式碼就能做出來,正因為如此方便快捷,才說以太坊是一鍵發幣。

但是要做一條公鏈,尤其是需要從底層邏輯開始重構的區塊鏈,是難上加難。對技術人才的要求,包括懂知名區塊鏈的程式碼和原理,如比特幣,以太坊等,理解各類主流的共識演算法,還需要懂智慧合約,除此之外,技術團隊中必須要有密碼學、分散式系統、網路安全的專業人才,甚至專家。其中最難的就在密碼學,有的公鏈甚至是計算機裡的諾貝爾獎——圖靈獎獲得者牽頭髮起的。

所以,區塊鏈人才是一將難求,曾經有人希望招募一個資深區塊鏈架構師做他們公鏈的 CTO,年薪開出百萬以上都招不到人。畢竟,有這實力的人都自己做專案去了。

這還只是公鏈人力成本高的問題,另一個問題是,公鏈的研發難度高,研發週期長,稍微複雜一點的專案,研發就需要一年半載的,難一點的需要好幾年,比如知名的 Filecoin 專案,光是延期時間就從 2018 年 6 月份延期到了 2020 年的 10 月份,可見一斑。

如此看來,做一個公鏈的專案,是一個費錢又耗時的巨大工程。然而,這一困擾區塊鏈領域多年的問題,卻被 Substrate 框架輕鬆化解,只需一人,花 15 分鐘就可以做出一條擁有定製化功能的區塊鏈。Substrate 框架把一鍵發幣的便捷提升到了“一鍵發鏈”級別,看似輕描淡寫的只是降低了成本和研發週期,實際上卻是劃時代的一步。

為什麼劃時代,這相當於在當年只有巨型計算機的時候,突然微型計算機橫空出世,讓計算機不在是個別機構的專屬,而是人人都能輕鬆用上的電子裝置,由此才有了後面網際網路的誕生,以及如今發達的網際網路生態。同樣,Substrate 框架也邁出瞭如當年計算機變革那般化繁為簡的重要一步。

2. 區塊鏈應用得以快速成熟

在 Substrate 框架出現以前,對於想要做區塊鏈應用的團隊來說,相當於在網際網路時期做一個 App,還得花 90% 的時間和金錢把安卓系統也一併做出來,現在有了 Substrate 的一鍵發鏈,可以像拎包入住一般輕鬆地進行開發,把主要的時間和精力用於完善應用本身的業務層面。

但是傳統的區塊鏈應用還有另一個問題,系統會制約應用的發展,為了引入新的特性或改變現有的規則,往往會透過更改底層協議的規則進行系統升級。但是傳統區塊鏈的系統升級需要透過硬分叉的方式來升級,這大大增加了工作難度。

設想一下,如果蘋果手機的系統每次升級都要一半以上的人升級,才能算是升級成功,這對於系統的容錯性來說要求很高。如果在升級過程中出現問題,可能導致使用者的數字資產受到損失,使用者分裂為兩個生態都有可能。

但這對於 Substrate 框架來說,都不是問題。Substrate 框架允許系統無需硬分叉就可以升級,營造了一個穩健安全,又可快速更迭的系統,這對於區塊鏈應用來說就無後顧之憂了。

此外,Substrate 框架有眾多功能模組,使得製作一條高定製化的區塊鏈也十分容易,又或者後期因為專案的需求,想要調整一些功能,也能隨意增減,十分的靈活自由。Substrate 的出現就像網際網路中 Linux 系統的誕生,將會為後續行業的發展提供重要的基礎。有了 Linux,才有安卓,才有華為,小米,三星手機,同樣的道理,有了 Substrate ,今後區塊鏈行業會湧現特別多優秀的相關應用和專案。

Substrate 框架解決了區塊鏈應用研發中最花錢和時間的構建主鏈問題,又保障了應用的執行系統與時俱進,同時豐富的功能模組庫又滿足了區塊鏈專案的各類功能需求,大幅縮短了區塊鏈應用從早期走向成熟的週期,也加速了專案迭代進化的速度。可以預見到,一個屬於區塊鏈應用開發的黃金時期即將到來。

3. 區塊鏈生態發展將加速綻放

在 Substrate 框架的一鍵發鏈以前,一個專案從募資到上線主網,開始接受落地性的考驗,整個流程需要以年來計,而 Substrate 框架將這個時間可以縮小到以月來計,既加速了單個專案的迭代時間,也意味著區塊鏈生態的進化速度像八倍速一樣快進起來。

回望近幾年區塊鏈專案,許多專案是自從發行數字資產,直到兩三年後才上線主網,開始接受落地性的考驗,整個流程需要以年來計,許多專案因為運營問題,專案設計問題,經濟模型等問題,上線後就一直陰跌,導致慢性死亡,更有一些專案方,以研發難度高為由,遲遲不肯上線主網,就怕一上線市場就夭折。

這樣的現象,其實是必然會發生的,正如當年網際網路開始崛起,倒騰各類入口網站的人也是蜂擁而去,最後卻是一地雞毛。移動網際網路興起,各類 O2O 的應用層出不窮,看得讓人眼花繚亂,但現在剩下的又有幾何?一將功成萬骨枯,一個行業的成熟,必定會經過野蠻生長,而最後,大浪淘沙,留下的才是真正實用的有價值的專案。

區塊鏈行業也是如此,各類公鏈、DApp、DeFi 等專案,何止上萬,真正有價值的還活下來的不過百,多少資本隨著前兩年的起落化作了新技術探索的成本。儘管如此,這片新開拓出來的藍海,如同漩渦一般,仍然會吸引更多前赴後繼的人才、資本投入,直到挖掘出區塊鏈真正的價值。

而 Substrate 框架,無疑是給整個區塊鏈生態發展,按下了快進鍵。專案迭代速度加快,參與的人和資本也越來越多,死亡的專案也會更多,而找到區塊鏈真正價值的專案也會離我們越來越近。

火花出現,引線已經點燃,區塊鏈的生態將如璀璨的煙花在黎明前綻放開來,即將迎接晴朗的一天。

如何使用Substrate?

前面我們提到了很多關於 Substrate 的優勢和其獨特的便捷性,那麼究竟該如何上手呢?我們將去年 PolkaWorld 釋出的一篇名為《Substrate 一鍵發鏈極簡教程》(原文連結:www.polkaworld.org/articles/substrate-simple-tutorial )的文章分享給諸位,感興趣的讀者可以小試牛刀,或許會有意想不到的收穫。

後記

Substrate2.0 版本在今年 9 月底上線,新版本帶來了新的功能——鏈下工作機(off-chain workers)以及 70 多個可組合模組。鏈下工作機可將資料安全地整合到區塊鏈上,非常適合物聯網(IoT)裝置或透過預言機(Oracle)進行的實際資料輸入。

這也再次體現了 Substrate 和 Polkadot 優秀的可擴充套件性,哪怕當下沒有涉及到的功能模組,也可以在未來加入進來,真正做到了與時俱進。

11 月初,平行鏈 V1 版本已推出,平行鏈上線呼之欲出,如果該功能順利推出,意味著 Polkadot 將開啟真正的跨鏈,而 Substrate 也即將迎來更大的舞臺。

從時代的發展來看,作為身處時代洪流的我們而言,很難真正去評判一個事物的核心發展路徑,但透過那面歷史的鏡子我們可以窺見更多的可能,而 Substrate 的誕生或許在未來的某一刻會被後人稱為是區塊鏈領域發展重要的轉折點,猶如多年前的“智慧合約”一般,如此,便是最好的故事

特別鳴謝:感謝波卡中文第一社羣 PolkaWorld 在內容上的支援。

參考資料:

1、Polkadot的Substrate基礎鏈簡介
2、Polkadot波卡一鍵發鏈,如何用Substrate來構建區塊鏈?
3、深入瞭解 Substrate 2.0
4、影片 | Substrate 是下一代區塊鏈通用框架
5、Substrate 2.0 來了!          
6、下一代區塊鏈開發框架 Substrate,技術大牛都在悄悄鑽研它!        
7、PolkaWorld丨總結,關於Polkadot和 Substrate 的一切
8、Substrate has arrived
9、Substrate in a nutshell

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;