Parity亚洲工程总监演讲:不止是跨链,波卡让构建区块链“易如反掌”
9月12日,由巴比特、链节点以及时戳资本主办的Chainge技术沙龙·波卡生态全国行首站活动在杭州举行。Parity亚洲工程总监贾瑶琪发表主题演讲《Polkadot:现在与未来》。
以下为演讲全文:
大家下午好。很高兴能够受到邀请来分享。今天我会介绍一下波卡,我们目前已经完成的一些开发,以及我们亚洲团队或者是海外团队未来可以给波卡生态提供哪些支持。我负责亚洲和国内的开发,还有社区的推广工作。
其实,大家在讲到波卡的时候,很多时候会想到跨链,因为在17年的白皮书里出现过。大家不管是投资,还是在之后的开发,感觉波卡是一个跨链项目。但是,今天我接下来跟大家讲一下,其实,波卡帮助大家解决的不只是跨链的难题,而是从根本上让大家改观,发现开发一条区块链没有想象中的那么困难。
如何让从零开始构建区块链更简单?
从零开始开发一条区块链,其实是很一件困难的事情。为什么困难?作为一个开发者或者是作为一个团队,有很多需要面对的问题,因为区块链不只是我们经常提到的共识算法、底层,还有如何构建底层的点对点网络,以及在链上怎么进行处理,特别是包含一些比较复杂的逻辑,比如说隐私或者是跨链的逻辑。
在过去几年,市面上涌现出各种各样的公链项目,例如从最早的比特币延伸出来的UTXO账户模型的区块链,还有以太坊账户模型的区块链,然后开发者根据自己的模型或者活动进行改造。然而,直接用改造的区块链来做新链会遇到各种各样的问题。例如,本身没有很好的模块化。刚刚提到的问题都是在原代码进行操作,在实际操作当中,或者是实际开发中还会遇到各种各样的困难。
Parity创建以来,我们开发过比特币和以太坊的客户端,现在在开发波卡,其实我们其中一个初衷是为了开发一个更加好用的区块链的框架。在开发过程当中,我们更加迸发出这样一个想法:因为波卡需要做跨链,跨链希望越来越多开发者有自己的商业逻辑或者是有特殊功能的区块链,除了我们自己开发波卡,未来其他的团队在开发自己的链时,怎么样让他们更好进行这样的开发呢?
Substrate:开源、模块化和可扩展的区块链开发框架
我们当时就在波卡的代码里面提出一个很不错的开发框架,命名为Substrate,大家可以看到做波卡的时候有在维护两个代码库,一个是Substrate,另外一个是波卡。Substrate就像我刚刚说的,初衷就是为开发者或者不同开发团队提供一个更好的、开源、模块化、可扩展的区块链开发框架。
我们的开发框架里面包含了很多核心模块,包括数据库层、网络层、交易队列等。组件都是可定制和扩展的。你在这里做了新的模块以后,有哪些不一样的地方呢?在18年的峰会上面,Gavin Wood博士拿出一个崭新的苹果笔记本,从头部署一个有具体定制功能的区块链,只花费15分钟。
现在大家看Substrate的代码库以及构架,其实已经有了更多更丰富的模块,以及可插拔的功能。具体我在这里先简单提一下。首先是共识协议,可以为波卡未来支持更多的平行链提供更好的可吞吐性。同时,这一套系统是RUST语言开发,有更高的安全性,同时有链下工作机,链上治理框架以及链上升级功能。
之所以提出链上升级,是因为我们大家在过去的几年可以感觉到,链上升级是一个很大的痛点,例如16年的DAO分叉,以及到后来以太坊逐步的迭代升级,每一次分叉都是很痛苦的事情,需要大量的矿工进行协作,同时更改的逻辑很复杂。与此同时,市面上有很多比特币的分叉,社区的不合分出BCH,其实花费了大量的时间。
作为一个这么大的痛点,我们是怎么进行改进呢?大家使用Substrate的时候,一个默认的模块可以做链上升级。好处是这样的:作为工程师或者是开发者,我们知道我们写的代码行数越多,风险越大,我们要添加新的功能,都需要进行升级。Substrate这方面我们提供线上链上升级的模块。所以,可以更方便大家在不需要进行硬分叉的情况下,只要提交对应的新的逻辑模块,大家通过以后就可以进行升级。
第二点我强调链下工作机的机制。在以太坊上面,或者现在市面上的区块链系统里,区块链数据库跟Web 2.0的数据库是不能通用的,所以现在有预言机的项目。在波卡里,大家使用Substrate开发应用的话,我们内含链下工作机的模块,好处是大家可以很方便从链外,例如你自己的数据库或者是其他的交易所数据,直接拿到对应的数据,你不需要依赖于第三方的预言机。
其实刚刚提到的链上升级可以搭配比较好的链上治理模块,例如我们现在讲的DeFi很多时候都是割裂的,如果用过的话,你会发现我们自己链上投票,但是链上投票最终的结果需要工程师去实现,需要一个过程,然后工程师实现新的模块,放到以太坊上面去更新它的智能合约,它是不能做到无缝的。
但我们可以做到一步操作。比如说,前段时间改面额,大家在链上进行投票,大家通过以后,逻辑可以直接接入到链上,链下工作机让我们开发的时候可以轻松使用Web2.0的数据。有了这个框架,你在开发区块链的时候,你可以开发各种模式的区块链。大家比较熟悉连接波卡的方式,一个是平行链,还有平行线程,如果竞拍不到插槽的时候你可以用平行线程进去。我们目前开发模块方便大家搭建自己内部的联盟链或者是私有链来满足国内做商业的需求。
同时,我们在大量进行代码迭代来推进Substrate整个框架的成熟度以及完整性,现在是在2.0的版本,大家感觉到2.0版本比1.0稳定很多。
使用Substrate的开发框架,你可以接触到各种各样的工具,不管是使用隔离化的钱包,还是开发各种各样的智能合约模块,未来在Substrate上面,大家可以直接发布一个智能合约,不管是联盟链还是私有链,还是平行链都是非常方便。希望未来大家在使用这样一个框架时都有很好的体验。
Polkadot如何进行跨链?
回到波卡,一个亮点就是跨链。波卡有一个中介链,相当于一个中继链,相当于一个大通路,这个大路肯定有其他的小路,它们互相之间进行交流,不同的路有平行链的概念,平行链接入以后可以进行沟通。大家有一个比较常问的问题,已有的这些链例如以太坊或者比特币怎么办?已有的这些链通过一个叫做桥的模块连接到中继链里面。
大家可以开发出平行链或者是用Substrate搭建出一个链,怎么连接到波卡的中继链或者是系统里面呢?就需要一个Cumulus的模块。大家在搭建完Substrate的链之后,可以进行稍微的改进,使用Cumulus连入这样的平行链里面。我们上两个月开发第一批的平行链测试网,目前已经有几支团队接入进行测试。再接下来是属于跨链信息交互这一块,我们有一个跨链信息协议XCMP,不同的链通过协议传递信息和数据。
最后一个大家最陌生的,是跨链逻辑执行SPREE。以太坊或者是新的区块链协议,它们都会做一个叫做状态分片,状态分片跟我们这个平行链有点类似。在状态分片中,一个分片发信息跟另外一个分片做了哪些信息之后,都需要反馈一个信息,保证执行某一件事情需要证明已经执行过。同样,在波卡系统里面,我们有这样一个SPREE,不同的平行链大家同时使用某一块的逻辑执行,都要做某一项运算,为了确定大家做的这个运算的逻辑一样,需要不同的平行链同时包含对应不同的SPREE模块,保证一个平行链发信息给另外一个平行链大家执行的逻辑是相同的。
目前来看,我们波卡在几个月之前已经上线了,上线分为几个阶段,第一个阶段是PoA的阶段,接下来是NPoS,还有Governance。不管是Parity自己,还是跟社区一起共同开发智能合约的模块,希望未来有更多的平行链可以提供智能合约的功能,大家直接在平行链进行智能合约的部署,同时方便开发者直接使用智能合约进行开发。
与此同时,我们积极开发基于不同链的转接桥,最重要的是以太坊。在未来一段时间,随着开发进度的进展,这些功能的完善,我们希望有越来越多各种各样的社区项目可以基于这样的一些新的功能,来开发出更有意思、更有趣的面向3.0的一些商业应用。
波卡生态:共同推进Web 3.0愿景
讲到生态,大家可能会提到,作为一个开发者或者是一个团队我们希望有比较成熟的各种工具链。目前我们已经有各种各样的钱包支持,同时我们区块链浏览器上面开发的产品都是很方便。与此同时,刚刚提到Substrate,之所以说模块化很好,是因为我们现在通过过去三年给各种各样的团队发经费或者是联合开发,我们已经开发了很多有意思的模块,与此同时,我们有各种各样的智能合约模块,还有DeFi相关的模块。
此外,大家可以使用搭建自己的波卡或者自己链的这些节点的相关工具,比较方便大家很快搭建起自己的节点,进行比较轻松的维护。
比较有意思的是,前几个月的时候,我们给出的支持的相关团队数量超过100个,前两天我们给出了第6批的团队,我们希望有更多的团队开发有用有意思的模块。与此同时,我们有波卡大学的活动,为团队定期提供比较好的技术指导以及技术支持。不管是融资还是开发上面的进展,我们希望支持比较好的团队。
目前有超过100个团队基于Substrate开发。针对新来的开发者,大家可以去访问Substrate.io,去学习不同中英文版本的教材,可以在线上进行搭建和尝试。与此同时,我们亚洲团队对中文这一块的支持很多,我们目前每两个月办一次线上的Substrate课程,基本没有收费的,收一点点,大家学习,毕业之后完全返还给大家。
总之,今天我讲了这么多,希望大家可以理解,波卡不只是一个跨链项目,我们的初衷是给大家提供更多的选择,希望通过构建Substrate或者波卡,为整个社区或者区块链行业提供更好的产品,帮助大家进行区块链开发的框架以及基础设计。未来希望跟社区团队共同推进这样的愿景,不管是区块链长期的发展愿景,还是web3.0的愿景,我们希望大家共同努力,把一整套系统推向给越来越多的受众。
谢谢大家。
Scan QR code with WeChat