原文标题:《Substrate大法,15分钟速成区块链大神》作者:蒋新,分布式资本投资经理
随着Polkadot主网临近,Substrate这个词作为没几个人懂什么意思但是不提显得不太专业的代表,也变得越来越热。
然而,Substrate框架的开发公司Parity在2018年9月发表的博文《什么是Substrate》中,开篇非常有预见性地说道,「我认为要理解Substrate最重要是要知道它根本不是Polkadot的一部分(IthinkthemostimportantpartofunderstandingParitySubstrateisthatitisnotpartofPolkadotatall)」。
那为什么人们在提及Polkadot时总会提到Substrate呢?
软件的开发框架
想必知道「Substrate」的同学下一句会脱口而出两个字:「框架」,那么什么是框架?
维基百科是这样说的:
在编程领域,软件框架是指一种抽象形式,它提供了一个具有通用功能的软件,这些功能可以由使用者编写代码来有选择的进行更改,从而提供服务于特定应用的软件。软件框架提供了一种标准的方式来构建并部署应用。
软件框架是一种通用的、可复用的软件环境,它提供特定的功能,作为一个更大的软件平台的一部分,用以促进软件应用、产品和解决方案的开发工作。软件框架可能会包含支撑程序、编译器、代码、库、工具集以及API,它把所有这些部件汇集在一起,以支持项目或系统的开发。
看不明白没关系,你只需要对「通用」、「可复用」这几个词留下印象。
Netbeans的创始人Jeroslav在《软件框架设计的艺术》中强调:软件开发并不需要了解每一个API背后的实现原理,只要知道它是怎么用的就可以了。这是大型软件协作开发的理论基础。
做个不那么恰当的比喻,如果我们把构建大型软件的工作比作制造汽车,那么最后整车厂完成的是对汽车各个零部件的设计、组装和再加工,而不是自己造轮子、沙发、座椅、和仪表板。或者换个例子来说,玩乐高玩具的小朋友可以用乐高块搭出埃菲尔铁塔和美国队长,但小朋友们不需要自己把塑料加工成乐高块。
如果还想再了解深入一点,《代码大全》的作者金戈的观点可以作为补充:1、框架本身一般不完整到可以解决特定问题;2、框架天生就是为扩展而设计的;3、框架里面可以为后续扩展的组件提供很多辅助性、支撑性的方便易用的实用工具,也就是说框架时常配套了一些帮助解决某类问题的库或工具。
Substrate是个什么样的框架
根据上面对框架的理解,想必你应该猜到,Substrate也是将通用的部分提取出来,而它所构建的框架是Parity认为搭建一个区块链所必须具备的通用模块。
这些模块主要包括:
1.区块链系统基础架构:
共识机制
网络通信
存储
交易池的二进制串)
RPC
2.特定的链的功能
比特币的UTXO机制、以太坊的智能合约等等
在Substrate的框架体系中,林嘉文博士将第一个区块链技术架构称为SubstrateCore,也就是区块链的基础架构,即通用功能模块;而将第二个特定功能模块称为Runtime,开发者在构建区块链的时候,只需要关注于Runtime自己区块链的核心功能,而无需将注意力放在底层的Core模块上。
在2018年柏林Web3的峰会场,利用Substrate高度通用化的便捷性,林嘉文博士也在柏林秀了一把骚操作,从拆封一台全新的Macbook电脑开始,15分钟写出来一个新的区块链,包括部署、升级平行链,还包括了升级UI。用现场社区人员的话来形容:「柏林FunkhausNalepastra?e广播大楼,一栋宏伟且有年代感的包豪斯建筑里,林嘉文博士彻底High翻了全场,坐在现场前排的观众,甚至激动地有些喘不上气来。」
事实上,15分钟写出平行链依靠的不是博士个人的编码超能力,而是Substrate框架将区块链的必备底层已经设置好,普通人利用Substrate一样可以15分钟构造自己的区块链。
Substrate厉害在什么地方
对区块链有基础了解的人知道,区块链要进行系统升级非常复杂。
普通的网页只需要后台部署新版本的代码即可以实现升级,移动端app可以通过提醒用户在appstore下载新版本实现升级。而区块链要更新版本,需要链上所有节点都同意,统一进行新版本的部署,实际过程往往是构建了一条新的链,也就是俗称硬分叉,认同新版本的链会迁移到新版本运行,而旧的链依然存在。可以说,升级一次就是对社区的一次分裂,严重影响区块链的生态价值,典型的例子比如BTC和BCH/BSV;ETH和ETC等等。
Substrate的厉害之处就在于:不用硬分叉就可以实现区块链的系统升级。
实现的机制讲起来稍显硬核,用人话来简单解释,就是Substrate的Runtime在执行的时候,节点的本地会产生一个版本,链上会产生一个版本,如果两者不一致,则可以按照链上的新版本执行,本地的老版本则会被舍弃。
波卡是Substrate的波卡,但Substrate不是波卡的Substrate
上面这句话有些绕,但基本可以说明两者之间的关系。
总结一下就是:波卡基于Substrate框架开发,而使用Substrate框架开发的链将来也可以直接接入Polkadot的生态作为一个平行链。
这也就可以解释为什么Polkadot主网还没上线,就有那么多使用Substrate搭建的链可以就此蹭热度。
平行链和Substrate框架的关系
Substrate在韦伯大字典中的释义为:thebaseonwhichanorganismlives。在区块链这颗小幼苗生长成加密世界的繁茂森林过程中,希望Substrate是那个不可或缺的基质。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。