下一代區塊鏈技術框架 Substrate

春節前的《區塊鏈技術公開課100講》第13講,一塊鏈習特地邀請了ChainX創始人及CTO郭光華來擔任此次分享嘉賓,圍繞了《下一代區塊鏈技術框架Substrate》主題,和大家深入探討了區塊鏈發展現狀、Substrate重塑區塊鏈、創新方向、Polkadot & ChainX、如何參與等5個方面。

講師:郭光華,Substrate和Polkadot社區核心開發者,ChainX創始人&CTO。

完整版視頻如下:

https://v.qq.com/x/page/l0837zlb2gf.html

區塊鏈發展現狀

以太坊爲代表的區塊鏈自我改良派,歷史的包袱太重,走得慢。EOS爲代表的改革派,雷聲大雨點小。

不管是以太坊的自我改良,還是EOS的的改革,他們都是認識到了區塊鏈現有狀況: 區塊鏈智能合約基本能用,但離大規模應用還差得遠 ,這主要是目前區塊鏈框架在(擴展性,易用性,共識能源問題)的侷限性導致的。

我們從Code說話, 以太坊各個技術的更新還可以,但執行速度慢。EOS像是有上氣沒下氣。唯有Substrate是最前沿的革命派。

在這裏插入圖片描述

Substrate重塑區塊鏈

上面我們說到了現有區塊鏈,只是驗證了區塊鏈dapp能用,但沒法做到大規模應用。主要侷限於三點,下面我們分三部分來分析substrate 如何解決這些問題。

擴展性

現有區塊鏈都是單鏈模式, 一條鏈的最大的tps 不能過萬(單臺計算機tps 差不多10萬tps,因爲hash等加密算法的重複利用,鏈的tps << 1/10 單臺計算機計算)。

Substrate可以靈活的拓展任意條parachain, 好比現在的分佈式計算,3臺機子算不過來, 我們加機器。

各層結構的模塊化: 區塊鏈大致由(p2p, rpc, consensus, storage,crypto)這幾部分組成。但現有的鏈都是把這幾個模塊糅合在一起。

parity團隊因爲在長期開發以太坊,積累了經驗, 把這幾個模塊往高層次抽象。如substrate 會做到devp2p, libp2p 網絡一鍵選擇更換。再如任意種hash算法替換。

任意代碼的升級,比普通雲服務器的升級更簡便。因爲每一個substrate 節點都含有兩份可執行runtime內核代碼。

一份是本地編譯的二進制代碼。另一份是存在鏈上的wasm代碼。爲什麼兩份代碼就能解決了快速穩定升級? 這是個好問題

易用性

兩層結構合約:runtime合約和contract 合約.wasm 合約,支持rust/c/c++ wasm的原生storage 接口.

極高層次的抽象,可以使不同的開發人員做不同部分的開發.
雙層執行 code(native, wasm)
雙層共識
雙層合約
雙層p2p
多模版密碼庫

共識

多種共識並行交互執行, 最早是algrand 定義了快慢速通道共識並行,但那現在還是在白皮書裏, 現在的substrate 就能做到了aura + grandpa 兩種共識並行運行。

這種組合共識,既有POW的分散性,又沒有他的能源浪費問題,還有一個100%的確定性,而不是pow的概率確定性, 尤其是性能方面,pow不可與之同日而語。

aura 提供了快速併發出塊性, 像POW一樣節點分散,可以支持1000個節點同時在同一高度同時出塊。

grandpa 提供了確定性,只要用bft確認最後一個大家公知的塊即可。 這對傳統BFT的通信消息量減少99%以上。

Libp2p

IPFS 團隊定義的一個協議, 是目前市面上支持各種協議最廣,最穩定的p2p庫。Devp2p, 以太坊的p2p層協議,比較單一簡單

Rust

社區特別open的個語言和區塊鏈open思想吻合。有C++的性能, 沒有C++的運行時不確定。從語言庫級別支持std, no_std 兩套代碼規範, no_std的代碼兼容wasm這種確定性執行

創新方向

區塊鏈技術現在都在努力往哪些方面創新:共識、隱私、合約VM

在這裏插入圖片描述

共識

Cardano, Algrand, difinity 等等, 這些項目都是以共識創新而聞名的項目, 然而,這些項目的共識創新現在都只停留在白皮書裏。 Substrate 實現了他們白皮書裏所期望的共識效果

優秀共識所期望的點: 像POW一樣,大家都有同等的同時出塊的公平權利,又沒有他的能源浪費和性能問題。其實就是Substrate 的Aura + grandpa共識,也是VB所常說的casper

Casper + tendermint 的比較, 或者1年前的一些技術可以參考我老婆翻譯的一些文章:https://lilymoana.github.io/ConsensusCompare.html

隱私

Bulletproofs 基於這協議的隱私幣有許多
零知識證明, parity 團隊也正在用substrate 框架去實現zcash
抗量子密碼學,同態加密等理論加密算法的研究

合約VM

WASM 陣營: 基於wasm VM 的鏈越來越多, 根本原因是wasm生態特別豐富,wasm現在已經支持c/c++/rust等編譯型語言,其他各種語言都是在支持的路途中。

非wasm陣營,如solidity 等VM

Polkadot & ChainX

在這裏插入圖片描述

Polkadot 多鏈如何組織與管理

共識的一致管理:共識由relay chain 統一管理, 各個parachain的驗證人由relay chain 隨機隨時分配。 舉個最簡單的例子, 比如polkadot 網絡由三條鏈組成(relay, para1, para2),一共有7個驗證人節點, 那麼relay chain 管理共識的模塊,可以採取2: 3 :3 的個數隨機分配給 relay, para1, para2 三條鏈隨機出塊

消息的統一路由:消息路由這是polkadot 需要做的第二大部分, 這部分在白皮書裏有介紹,但實現正在展開中,大致的思路可以對比參看路由器的路由協議。 只是這些不同鏈的路由,最後由relaychain統一管理

ChainX 多幣如何組織與管理

跨鏈方式的選擇:這又回到之前咱們說的問題, hash 和橢圓曲線誰更好的問題。 兩個例子:

BTC:是用hash方式的共識,更優選擇是鏈上輕節點。
EOS:是橢圓曲線式的共識, 更優選擇分佈式密鑰多籤。

幣在ChainX上價值的互換:ChainX 會在Runtime合約層內嵌各種coin撮合的交易所,同時也會把這些API接口留給合約層, 這樣任何開發合約的用戶,可以自如的選擇任何幣種作爲價值驅動來開發自己的合約。 比如, 可以用BTC來開發合約。

如何參與

在區塊鏈世界即將爆發的前夕,我們如何參與進來。技術人員如何參與 - hack substrate,開發合約的過程可以帶着這三個問題去學習:

交易怎麼調用進來
相關業務邏輯如何處理
處理結果如何存儲在鏈上
如何保證一致性

在這裏插入圖片描述


直播預告

直播時間:

北京時間2月24日(本週日)晚上8點

導師介紹:唐飛虎

在這裏插入圖片描述

前谷歌工程師
開源山寨幣礦池 Gpool Cofounder
ACM/ICPC 亞洲賽區區域賽金牌
2015 微軟編程之美冠軍
夢日記中文站主編
加密貨幣擬人鏈接偶像主催
區塊鏈遊戲隱祕世界 OL 策劃

分享大綱:

什麼是智能合約,智能合約可以做什麼,爲什麼需要應用算法。
盲拍算法
抵押分紅算法
連續流動性算法

聽課方式:

添加Jessie小姐姐微信號(yikuailianxi),回覆“15”,聽島娘講區塊鏈!

驅動幸福生活
鏈接美好未來

你的每一次轉發,讓區塊鏈世界更有意義。

一塊鏈習更多好課等你來看哦

關注「一塊鏈習」
與全球1000+區塊鏈開發者一塊學習

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章