转载-ChainX团队:Substrate理论篇之二-下一代区块链通用框架

2018-11-10 18:22 评论 0 条

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

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

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

PPT和文字版解说如下:

开源Code三层次:

初级层次:能正确写出能用的代码, 但得不到广泛应用。

中级层次:能写出优秀的代码,但难以和他人一起团队维护,如Lua, python.

终极层次:高瞻远瞩,定义通用框架,可以吸引不同层次的Coder来写与之能力匹配的地方。 如,Linux(各个层次分明),代码领袖(linus)身体力强,充满了才华,百年难遇的核心人物。 Substrate同样也是这个层次, 很像Linux的开源.

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

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

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

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

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

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

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

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:转载-ChainX团队:Substrate理论篇之二-下一代区块链通用框架 | 新星资讯-全球新兴数字资产(区块链资产)资讯平台
分类:技术园区 标签:

评论已关闭!