随着Web3.0和元宇宙的到来,如何更好更快地开发支持Web3.0应用的区块链系统成为行业亟需解决的问题。
作为开源的区块链开发框架,Substrate和Polkadot(波卡)将区块链系统模块化,同时集成更加优秀的共识协议,链上链下交互模块以及不同链之间的互操作协议,为Web3.0和元宇宙提供了高效的区块链系统开发平台。
日前,在51CTO主办的MetaCon元宇宙技术大会上,Parity亚洲区技术总监、Zilliqa联合创始人贾瑶琪带来了主题演讲《面向Web3.0的区块链开发和跨链框架》,分享了Substrate的主要模块和Polkadot的跨链协议,以及生态中的落地项目,为大众呈现了全新的视角。
现将相关演讲内容整理如下,希望对诸君有所启发。
期待中的Web3.0
在过去的几年,我们一直致力于为Web3.0做更好的底层框架的开发。那么Web3.0应该具备怎样的属性呢?我们简单梳理一下。
Web1.0:只读互联网。互联网很早就已经存在了。在早期的黄页或者门户网站,网页是“只读的”,用户只能搜索信息,浏览信息,无法进行个人分享。
Web2.0:可读写互联网。用户不仅仅局限于浏览,他们还可以自己创建内容并上传到网页上,可以通过手机或电脑,通过微博、微信等平台分享自己的生活。最明显的变化是信息变得不再是从官方到个人了,而是拓展出来交互式的内容产生。
对于Web3.0,根据行业和立场的不同,大家可能有不同的定义。而在在区块链或者元宇宙行业,我们更多是希望把Web3.0定义为一个数字资产以及数据回归个人和社区的时代。当用户不希望共享数据时,有权利通过私钥来保证自己的数据所有权和使用权。
面向Web3.0的愿景,我们如何更好地借助已有的区块链开发框架和跨链框架来开发高度定制化的高效的应用或者系统,成为了亟待解决的问题。
挑战一:从零开始构造区块链
众所周知,从零开始构造一个区块链系统特别是定制化系统是非常有挑战性的。因为这涉及到数据库层、网络层以及各种各样的控制协议。总体而言,一套比较理想的定制化系统开发成型需要几十个资深工程师2-3年时间。
而我们开发的Substrate区块链开发框架,提供了区块链必备的核心组件,如数据库层、可插拔共识、链下工作机等等,支持开发者去做更好的定制化系统和应用的操作。
以智能合约部署为例,在已有的区块链系统上搭建Substrate应用链有很多优势。通常来说,针对部分资产操作,直接去开发Solidity智能合约应用是相对方便的,但受限于其已有的操作码以及其本身的各种约束,无法完成更高程度的定制化操作。而基于Substrate运行环境构建的应用链却可以实现高度定制化。比如逻辑和安全完全由开发者负责,可以获取链上所有状态,进行链上链下的互操作,以便更好地支持某些联盟链或者私有链场景。
需要注意的是,定制化区块链和智能合约直接部署,两者并非直接的竞争关系,因为在Polkadot生态里这些都可以实现。既可以开发一个独立的Substrate链,也可以开发一个平行链接入Polkadot,甚至是开发一个轻量级平行线程定期地接入Polkadot,把对应数据共享在Polkadot生态里。与此同时,已经运行的一些平行链支持像Solidity、WASM这样的智能合约系统,开发者也可以在上边部署智能合约。
在整个部署或者开发过程中,使用Substrate去开发Polkadot的平行链,会享受到非常多的功能,例如各种模块的组合、无缝的链升级等等。在传统的区块链开发里,升级是非常痛苦的。但Substrate让用户可以开发定制化的区块链,且具有最高的可控度和自由度。其高度可扩展和可组合的特性能充分节约用户的时间和资源。
直接使用Substrate开发平行链连入到Polkadot,能获得的另外一个好处是共享安全性。举个例子,有时候开发者自己开发的链,还需要跑一些对应的节点来保证节点的安全性,而后链的安全性才能有保障。但在Polkadot整个环境里,如果用户可以拿到对应的插槽,接入到Polkadot中继链的模型里,最终Polkadot会配一定的中继链节点去帮助平行链验证。这种设计方式在保障整个区块链系统横向扩容分片的过程中不会降低某单一分片的安全性。对平行链来说,它享受了中继链提供的安全性,仅需安心关注自己的区块链业务即可,极大便利了区块链业务的开发,降低了单一平行链对安全的额外投入。
在对比矩阵(如上图)中可以看到,从安全角度和功能完备性角度来看,平行链或者平行线程能够达到最好的效果。然而某些应用,比如智能钱包或者轻量级智能合约应用,并不需要成为一个单独的链,部署在已有的平行链上或许是更好的选择。
不管是开发Web3.0应用还是元宇宙应用,开发者可以灵活地选用开发模式。而且Polkadot的租用模式也比较新颖,相当于它会定期释放对应的插槽,需要大家竞争拿到对应的插槽,进而享受到共享安全以及跨链的特性。总体来说,作为区块链开发框架,Substrate以及Polkadot可以很好地帮助开发者快速地开发一条适应于自己元宇宙应用或者定制化场景的应用系统。
挑战二:跨链之困
未来我们可能会看到成千上万的区块链或者元宇宙应用世界,但要让不同的世界进行更好的沟通和数据传递,我们很快会意识到,其实跨链本身也是一件极其困难的事情。
在传统的 Web2.0的应用场景中,其服务是高度互联的。但区块链目前仍是孤岛,链与链之间并没有很好的沟通。
区块链的重要特性是其确定性,网络中的每个节点都必须以相同的结果结束,这意味着没有外部数据和外部副作用。但事实上,我们需要不同链之间、链上链下都进行有效地沟通交互。在多链的世界中,我们需要能够验证传入数据的正确性,需要完全去信任的交互。
Polkadot本身是很好的跨链框架,不同的开发者可以使用Substrate去开发各种各样的定制化区块链系统或者元宇宙应用——身份链、IoT链、支付链等等。不同链之间又可以经由Polkadot本身,通过跨链消息协议的方式,将不同的信息和资产在不同的链之间进行交换和转移。这些专用区块链包括价值转移链,智能合约链,隐私链。
对于已有的非Substrate区块链平台或者系统,开发者可以通过对应的桥,将已有的链桥接到Polkadot生态,以便将来给其它平行链提供服务。另一方面,除了链与链之间的交互,链本身也需要跟Web2.0世界有比较好的交互,这就涉及到链下工作机。
类似以太坊的传统区块链系统需要中心化预言机系统,将数据从链下传到链上的智能合约里,不仅开销大,而且进度慢。在Polkadot生态里,平行链可以通过链下工作机直接将链下数据传到链上,让链上不同的节点进行处理,这样就更便于验证链下数据在链上是否有其正确性。
此外,我们还开发了各种各样的桥工具包,更好地打通了Polkadot本身生态以及Polkadot外已有的异构区块链之间的消息传递以及资产转移的问题。
共建Web3.0开放生态
从区块链开发框架到跨链数据传输,我们一直致力于更好地构建Polkadot生态系统。截止目前约有400多个项目接入到了Polkadot生态。
基于Polkadot开发环境的灵活性,整个生态的项目多样性也迥异于其他区块链生态。不同的开发团队得以在其中开发更加多样化的产品和系统,包括增加可扩展性、隐私保护、去中心化存储、去中心化身份以及各种各样的桥,进而方便不同的应用系统,获取更好的数据和资产交互,完善整个生态。
与此同时,Parity本身也在亚洲特别是国内开展了各种各样的活动,包括面向开发者的课程,面向初创团队的服务,跟万向区块链合作组织的Web3.0训练营。
我们目前也在招募新的初创团队,帮助他们从技术、市场、商务等方面更好地做定制化系统和应用开发。与此同时,大家如果对我们的区块链开发以及跨链框架感兴趣,可以关注我们的公众号获取更多技术相关的信息。与此同时,作为一个偏向于研究以及技术开发的企业,我们希望在未来能够拥抱更多面向开源社区以及Web3.0的开发者,与我们同行,打造一个更加多样化、更加开放的Web3.0生态。
更多内容请关注MetaCon元宇宙技术大会官网 https://metacon.51cto.com/