技術分享 |下一代區塊鏈技術框架 Substrate

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

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

完整版視頻以下:git

v.qq.com/x/page/l083…github

區塊鏈發展示狀算法

以太坊爲表明的區塊鏈自我改良派,歷史的包袱過重,走得慢。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年前的一些技術能夠參考我老婆翻譯的一些文章:lilymoana.github.io/ConsensusCo…

隱私

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+區塊鏈開發者一塊學習

相關文章
相關標籤/搜索