分分鐘發鏈的背後,Substrate技術框架能否開啟跨鏈時代

買賣虛擬貨幣

在今天的Web3峰會上,前以太坊聯合創始人,現Polkadot(波卡)鏈創始人Gavin Wood透過一臺全新的Mac電腦,在15分鐘內開發了一條全新的區塊鏈,可謂驚豔四座。而其用到的,正是被Parity公司稱為Substrate的一種技術方案。

如果你關注Polkadot的開發進展,你可能會多次看到“Substrate”這個詞。它是Polkadot專案的重要組成部分,但網路上有關它的資訊,是非常有限的。它並沒有出現在Polkadot的白皮書或者黃皮書當中,而關於它的規範說明書正在不斷地被修改和完善。從較高的層面上來看,Substrate是用於建立密碼貨幣和其它去中心化系統的一種新框架。

根據Parity Technologies公司軟體開發者Jack Fransham 撰寫的《什麼是Substrate?》這篇文章,我們可以得到以下這些資訊:

雖然Polkadot是使用Substrate構建的,但Substrate並不只屬於Polkadot,任何專案方或個體都可以透過Substrate來構建自己的區塊鏈,這不需要等待Polkadot的完成,你甚至無需釋出概念驗證,就可以開始使用該框架來開發區塊鏈。而等到Polkadot主網上線之後,這些透過Substrate構建的區塊鏈,都可以無縫地和Polkadot鏈進行互動。

那Substrate到底屬於什麼呢?你可以將其視為Express應用程式框架,或者另一個Web應用框架,但它是用於構建分散式或去中心化系統的(例如密碼貨幣或訊息匯流排(Message Bus))。正如大多數Web應用不需要重新實現自己的HTTP版本一樣,Polkadot團隊認為,大家都從頭開始構建網路和共識程式碼,是一件非常浪費精力的事。如果你想使用Substrate來構建一個新專案,你所要做的,就是在你的程式碼中實施非常少量的hooks函式,然後你就可以免費獲得:

  1. 共識,終結性和區塊投票邏輯。即使你並不是在構建一個密碼貨幣,這也是可取的,這意味著你可以免費獲得拜占庭容錯共識。因此,即使系統中的部分節點被攻破了,或者轉為了惡意節點,系統也能夠繼續正常工作;
  2. 一個高效的、確定性的沙盒WebAssembly runtime(應用的執行環境),它可用於執行智慧合約,甚至執行其它基於Substrate的專案。你不需要使用WebAssembly,當然,你也可以編寫自己的虛擬機器直譯器,但Polkadot團隊堅信使用WebAssembly runtime的好處,這樣做你就可以利用全球開發社羣為其建立的各種工具;
  3. 能夠在瀏覽器中無縫執行節點,它可與任何桌面或雲節點進行通訊;
  4. 跨平臺的資料庫和檔案儲存抽象,甚至它可以在瀏覽器中運作;
  5. 無縫客戶端更新,任何可能影響共識的更新,都是透過將程式碼編譯到WebAssembly,並將其部署為網路上的另一條訊息來處理的。不僅如此,你還可以儲存自己希望的多版本的共識程式碼,並且Substrate將處理相關複雜性,確保正在執行的本機程式碼與當前部署的WebAssembly程式碼保持一致。
  6. 當Polkadot網路正式上線時,你可以立即將自己的專案與Polkadot網路無縫對接……

而對於私密交易的區塊鏈實現而言,想要透過Substrate框架進行構建可能會更復雜。此外,截至目前,該技術方案的很多技術名稱都沒有定稿,所以你會在不同的地方看到不同版本的說法。但這裡有一些簡單的關於你需要實現什麼,才能啟動並執行一個完整的區塊鏈:

(1)、一個根據前一區塊頭來建立新等待區塊的函式,這個區塊頭包含:

  1. 區塊高度;
  2. 對區塊狀態的”加密承諾“,這對於驗證區塊是否正確的輕客戶端而言,是非常重要的。加密承諾與雜湊具有相同的作用,你無法在不使承諾失效的情況下更改狀態;
  3. 對區塊體內所有外在因素的加密承諾,防止外在因素被改變;
  4. 區塊的父級雜湊值;
  5. 一些額外的任意資料,這類資料的一個用例是用於客戶端更新,因為輕客戶端僅同步區塊頭資訊,如果要更新它們,就不能以一種外部的方式實現更新,否則輕客戶端就不會接受它們;

(2)、一種將外部資料(例如交易)新增到等待區塊的函式。它也會更新鏈的狀態(例如,賬戶餘額); (3)、獲取等待區塊,並從中生成完成區塊(finished block)的函式,然後這些完成區塊,就可以在整個網路中得到傳播; (4)、執行現有區塊的一個函式,它是由全節點來負責執行的,它可以確認接收到的區塊,在被接受之前是有效的。例如,在一個價值鏈中,你可以檢查沒有人嘗試轉移超過其餘額的資金。

而這種設計的其中一個缺點在於,你必須手動確保在建立區塊時完成狀態轉換,以及在執行現有區塊同步時 完成狀態轉換。如果你不這樣做,你可能會遇到共識問題!而在未來,這可能會發生一些變化,但在當前的實踐當中,這不會是一個很大的問題,因為你可能會把外部執行委託給一個公共函式;

此外,你需要提供一個驗證者集。這覆蓋了權威證明(proof-of-authority)、權益證明(POS)以及委託權益證明(DPOS)鏈,但目前Polkadot團隊無意在Substrate框架當中支援工作量證明(POW)鏈。

(Substrate簡短規範,來源:https://www.parity.io/substrate/)

而從以上這些資訊,我們不難看出,Polkadot團隊是希望透過Substrate技術框架來為其跨鏈大業進行鋪墊的,類似的跨鏈專案Cosmos也有這種設計,而Substrate的作用,類似於以太坊當前的ERC-20通證標準,只不過以前是人人發幣,以後便是人人發鏈。

免責聲明:

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

推荐阅读

;