置顶 视频分享:Substrate是下一代区块链通用框架
发布于 1 个月前 作者 yuelipeng 61 次浏览 最后一次编辑是 1 个月前 来自 Substrate 技术

密码极客社区举办了一场Polkadot线下分享活动,ChainX技术社区的郭光华受邀讲解了Substrate与Linux的思想对比,另外ChainX技术社区正在开发Polkadot中的加密金融平行链ChainX Net,有意加入者可以联系lipeng@chainx.org。

另有Polkadot和ChainX Net的介绍视频请查看本期其他文章,Substrate完整视频如下:

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

PPT和文字版解说如下:

Substrate-下一代区块链通用框架.002.jpeg

开源Code三层次:

  • 初级层次:能正确写出能用的代码, 但得不到广泛应用。
  • 中级层次:能写出优秀的代码,但难以和他人一起团队维护,如Lua, python.
  • 终极层次:高瞻远瞩,定义通用框架,可以吸引不同层次的Coder来写与之能力匹配的地方。 如,Linux(各个层次分明),代码领袖(linus)身体力强,充满了才华,百年难遇的核心人物。 Substrate同样也是这个层次, 很像Linux的开源.

Substrate-下一代区块链通用框架.003.jpeg

substrate(https://github.com/paritytech/substrate) 由core, srml, node 三块构成。 core模块是链的基石模块,相当于手机的硬件组成部分。 srml模块是可以动态升级的runtime模块,相当于手机的系统部分, 随时可以基于更优版本的升级而动态升级。 node就是substrate链的示例代码, 能正常跑起来的最简单demo。

Substrate-下一代区块链通用框架.004.jpeg

Core模块有许多基本模块组成, 如网络,共识,存储, rpc等。 然而他们同样是可以插拔替换的,比如p2p就实现了2个版本(eth devp2p, ipfs 的libp2p), 当然你可以随时更换你认为最优的p2p, 再如共识: 支持Pbft, POA, ouroborous等等你能用的优秀共识。 存储, 现在用的还是ethereum的PAT树和rocksdb, 但可以只要实现几个trait,就可以轻松替换存储。

Substrate-下一代区块链通用框架.005.jpeg

srml模块可以包含系统级合约,和用户层Contract。 系统级合约相当于手机中的操作系统, 可以动态升级, 用户层合约相当于手机上的应用, 任何开发者可以部署自己的App。

Substrate-下一代区块链通用框架.006.jpeg

Runtime 和编程语言:目前Runtime已经支持RUST std版本的二进制直接集成或者no_std的RUST版本wasm动态更新。 其余能够编写成Wasm的语言(C++, js等), 都能够尝试集成substrate的接口,然后编成wasm, 可以动态的更新于基于substrate的链上。

Substrate-下一代区块链通用框架.007.jpeg

通俗的讲:你先用RUST写了runtime, 跑起来了你的第一个版本的你的主链, 然后你可以用C++或者任何能够编成WASM的语言来实现你的下一个版本的Runtime。 然后不用硬分叉,动态顺滑的通过治理投票升级到你后面实现的Runtime版本。

Substrate-下一代区块链通用框架.008.jpeg

Substrate/Polkadot/ChainX Net 的V0.1.0 的共识已经是2个月前的事情了, 现在各自都已经往前快速迭代了很多了。 两个月前的版本比较: Substrate 是用异步的BFT, Polkadot是基于异步BFT的共享安全共识, ChainX Net 是加了POS的异步BFT。 但现在大家都在往前迭代, substrate 的AFG共识也已经出来了, 各路优秀创新共识正在慢慢集成进来, substrate日新月异。

Substrate-下一代区块链通用框架.009.jpeg

ChainX Net版本比Substrate发布Node示例代码更早, Node 是通过工厂模式把各个模块(service)统一组装起来。 ChainX Net则是各个模块松散的分布在根目录下, 可以更好的定制ChainX Net需要特别定制的功能修改。

Substrate-下一代区块链通用框架.010.jpeg Substrate-下一代区块链通用框架.011.jpeg Substrate-下一代区块链通用框架.012.jpeg

回到顶部