五分钟了解 TrustBase:波卡生态开发者的引渡人
通过自主研发的轻量级 WASM 智能合约语言 Subscript,TrustBase 抓住了开发者这个区块链生态发展的「关键少数」,为波卡及 Web 3.0 愿景的实现,提供了一把任何开发者都可以轻松使用的利器。
根据 PolkaProject 统计,截至 1 月 31 日,建立在波卡生态的项目数量已经达到了 354 个,涵盖 DeFi、隐私、游戏、钱包等诸多领域,项目的扩充速度还在不断增加。
而在其中,有近 1/3 的项目(114 个)都是基于波卡区块链框架 Substrate 开发的平行链。作为 Polkadot 为全球区块链开发者提供的开源开发框架,Substrate 框架无疑是波卡生态形成如此气象的最大功臣。
遍历波卡问世之前的区块链世界,从没有哪一条公链或项目能够像波卡这样把其它项目迅速团结在一起共事,而这仅仅是个开始。
Substrate:实现 Web 3.0 的利器
当 Gavin Wood 在 2018 年 Web 3 峰会上向世人展示用 15 分钟开发一条区块链时,人们意识到,一个全新的时代被开启了。
在 Substrate 出现之前,人们在每一条区块链上做着重复的事情,p2p 网络、共识协议、Merkle 树……这些繁复的基本底层设计工作耗费了开发人员巨大的精力,「重复造轮子」成为区块链开发者的不可承受之重。
而 Substrate 框架通过将区块链的基本底层设计进行模块化封装,开发者只需「一键调用」,省去了原本繁复的工作量,可以大幅度提升开发者的效率,从而把更多注意力放在业务逻辑的开发上。
不止如此,作为曾经以太坊黄皮书的撰写人,Gavin Wood 也将当初以太坊没有完成的事情放入了 Substrate 框架里。作为高度可定制、适应性强的区块链开发框架,Substrate 被赋予了前所未有的特性:
-
可扩展性。孤立的区块链只能处理有限的流量,而基于 Substrate 开发的区块链通过平行链的机制使得交易可以高效、并行地处理;
-
专业化。Substrate 框架可以根据特定的用例或应用建块,进而创造高度定制化的区块链。
-
互操作性。基于 Substrate 框架的不同区块链可以共享信息和功能,实现互操作和链间的兼容性;
-
无分叉式升级。Substrate 框架中的 Runtime 板块赋予区块链在升级时无需耗时和分裂;新功能可以添加,而无需完全改造网络。
-
自治。社区可以根据自己意愿来管理其网络,并在未来整个 Polkadot 网络治理中拥有透明的权益。团队可以根据自己的需求来自定义及优化其区块链治理,实验新想法,或更快部署预置模块;
借助 Substrate 框架,Gavin Wood 开启了「一键发链」的时代,使波卡成为了「区块链平台的平台」。从这个角度看,Substrate 框架的定位类似于以太坊的 ERC-20 标准——从以太坊的「一键发币」,到波卡的「一键发链」。
从此之后,通过「一键发链」和平行链插槽竞拍,任何开发者都可以创造一条波卡的平行链,并根据特定的用例或应用进行定制,共享波卡全域生态的信息和功能,这在区块链的发展史中是前所未有的革新创造。
也正因如此, 众多开发者在接触了 Substrate 之后就很快被它圈粉,越来越多团队开始积极构建一系列的应用,而目前有近 1/3(114 个) 的波卡平行链项目都采用 Substrate 框架,既奠定了 Substrate 作为最好的区块链搭建工具的地位,也说明了基于它的波卡多链生态在长期来看具有旺盛的生命力:
兼容支持 TEE、硬件可信模块、隐私模块,方便其他区块链工程师进行使用、开发和再开发 ,注定了其未来的发展体量将空前巨大,甚至有希望结合人工智能、大数据、物联网、云计算等真正有价值的领域,实现区块链与实体经济社会的融合与落地。
飓风往往起于微萍,波卡目前于 PolkaProject 上牛刀小试的成就,正是其一砖一瓦构建属于自己的区块链帝国的开始,也证明了 Gavin Wood 口中的 Web3.0 正在大踏步向我们走来。
而在这个征程中,Substrate 正是那把可以助力开发者一往无前的无坚利器。
ink!:语言的门槛与泥潭,开发者才是「关键少数」
只是,能拿起这把「利器」的又有多少人呢?
根据 Polkadot 社区的统计,2021 年 1 月份,波卡的开发者月活人数为 356 人,同期以太坊的开发者月活人数约为 2200 人,EOS 的开发者月活人数为 109 人,较去年的 162 人下降 31.48%。
如果把镜头再拉远些,我们会发现整个区块链世界的开发者其实都很少,这个「关键少数」在某种程度上极大制约了行业的快速发展:
根据《2019-2020CSDN 中国开发者报告》,有 31% 的传统开发者看好大数据与区块链的结合、28% 看好物联网与区块链的结合,13% 看好人工智能与区块链的结合等等。
然而,在这些精通大数据、物联网、人工智能开发的编程人员里,有超过 76% 的开发者完全不了解或仅了解一些概念,无法参与到区块链领域的开发工作。
尤其是相对于 Web3.0 的宏伟愿景,为此奋斗的开发人员数量还不及 Web2.0 的零头,因此,抓住开发者这个「关键少数」、壮大开发者阵营,不仅是壮大早期生态的当务之急,也是后续长线竞争的核心所在。
同样,Polkadot 想要实现 Web3.0 的愿景并最终成为 Web3 网络的一部分,也需要对开发者群体进行长期的、大规模的引流,让更多的传统开发者能够直接使用这把利器。事实上,这并不是一件容易的事——Substrate 的一切都使用基于 Rust 的 ink!语言。
与 Java、C/C++等传统语言相比,Rust 语言的难度曲线是陡峭的,学习门槛较高;并且 ink! 智能合约目前缺乏工具来支持 DApp 的开发,也基本没有易于使用并可以安全地将现有基于 EVM 的应用程序迁移到基于 WASM 的 Substrate 区块链的工具或应用,不易与 Dapp 集成。
简单的语言才有更高的上限,而高门槛的 ink!显然不在此列。基于 ink!的 Substrate 对传统开发者并不友好,它不仅使波卡陷入了与以太坊争夺存量开发者的泥潭,更没有帮助波卡从阶级森严的 Web2.0 社会群体里主动为区块链世界争夺开发者,这个问题极大限制了波卡开发者生态的发展,成为 Web3.0 愿景实现的最大绊脚石。
在传统开发者最多的国家(中国),笔者搜集了 CSDN 论坛统计的开发者数据,Java 是开发者最常用的开发语言,而 Solidity、Rust 等区块链语言均占比不足 1%,足见后续区块链世界的发展壮大需要更为开放的生态,尤其需要更多的传统开发者参与进来。
2019-2020 开发者最常用的语言(调查为多选)
Gavin Wood 曾在《为什么我们需要 Web3.0》中写道,「Web 3.0 是一组包容性协议,为应用程序开发者建块。,程序的全新方式。」
如果这个点对点的、无服务器、无信息流管理权限的网络代表未来,那么它必须具备容纳世界上的所有底层语言都能工作其中的能力,并无准入的允许所有开发者自我赋权。
TrustBase:打破开发者壁垒,做波卡与 Web3 的引渡人
为了解决这个痛点,把基于 Rust 的 Substrate 框架整个推翻重建是愚蠢的,而基于 Substrate 框架的 TrustBase 的推出,正是基于此考虑提出了全新的解决方案:
TrustBase 自主研发了轻量级 WASM 智能合约语言 Subscript,帮助传统的 Web 开发者和 Java 工程师无障碍参与 Polkadot 生态建设,以满足传统开发人员突破行业壁垒,开展区块链开发事业的需求。
轻量级 WASM 智能合约语言 Subscript 语言沿用了 Typescript 语法,并在 Assemblyscript 中完成对 Substrate 智能合约的封装,能够高效地与 JavaScript 互操作,不仅实现与 Dapp 的集成,也支持任何开发者快速入手部署 Web3.0 网络组件的能力。
而且其甫一亮相就惊艳全场,2020 年 6 月,在德国柏林的夏洛腾堡-威尔默斯多夫区,Symon Ho 团队向人们展示了如何用 Subscript 拖拽 Substrate 框架的各个模块,一键部署波卡原生智能合约,整个操作过程的简单程度就像「一个传统 Java 程序员的日常工作」。
「由于 Subscript 从 API 到语法都为 Wasm 而设计,整体使用严格类型和语言检查,使它的学习曲线非常扁平,我们的目标是,让一个 Java 工程师见到 Subscript 的感觉就像自己见到了老朋友。」
也正因如此,越来越多的智能合约开发者开始对 TrustBase 和其 Subscript 语言表示出浓厚兴趣,TrustBase 也被业内认为是解决「帮助传统开发者降低门槛,无障碍的参与 Polkadot 生态」这一问题的核心,其生态的发展也如火如荼地进行:
-
2020 年 4 月,TrustBase 团队自主开发了全新的底层编程语言 Subscript,经过半年的测试,实现兼容 WASM 虚拟机;
-
2020 年 9 月,TrustBase 被 Web3 基金会 Grant 计划选中,其产品 Subscript 正式成为 Grant 计划的官方扶持项目;
-
2020 年 11 月,TrustBase 开始布施早期的市场计划;
-
2021 年 1 月,TrustBase CC1 测试网上线;
-
2022 年 2 月 2 日,TrustBase 向 Web3 基金会交付了 Subscript 语言的核心库功能,将按计划获得第二次 Grant。
它致力于通过提供更轻量级的底层开发工具,帮助更多开发者参与 Polkadot 建设,实现一键部署应用程序,形成 Polkadot——平行链——智能合约的强大生态。
回顾 Symon Ho 团队的动作,笔者并不认为 TrustBase 可以简单的看作波卡的智能合约平台,因为 Subscript 正在赋能传统开发者,支持开发任何的 Web3.0 网络组件:基于 Subscript 的定制化底层编程工具、数字资产、智能合约、DeFi、预言机,而这也得益于其自身的原创特性:
-
静态的语法检查。与针对动态类型运行环境的 TypeScript 不同,Subscript 在编译时具有严格的静态语法检查,避免了无法提前有效编译 TypeScript 的动态特征;
-
多重访问支持。智能合约与沙盒外环境交互时,能够传递的参数仅限于基本的整数类型。Subscript 提供了完备的语法可以用来定义外部接口类型。Subscript 还自带可访问 wasm 底层的指令函数,提供整数运算,虚拟机栈访问,内存加载等操作。
-
丰富的库函数。Subscript 在扩展库中增添了 ERC20 兼容、ERC721 兼容合约、权限控制合约、代理合约、治理合约、多签合约等常用合约库函数,并扩展了对 string、address、hash 等数据类型的支持。
-
IDE 开发环境。Subscript 使用 Subscript workbench 为开发者提供基于浏览器的智能合约集成开发环境 (IDE)。workbench 与以太坊开发环境 Remix 相似,自带了 wasm 智能合约开发所需的编译工具。DApp 开发者可以在 Subscript workbench 中同步 github 中的代码、创建智能合约项目、编译 wasm、发布到测试网络。在智能合约虚拟机开发完成后,Subscript workbench 还可以提供类似 Remix 的智能合约的在线调试功能,开发者可以选择在浏览器源代码中加入断点,单步调试编译后的 wasm 代码;
由此可见,基于 Subscript 的底层编程工具对波卡的意义是深远的。随着波卡生态的拓展,整个波卡结构会产生很多对底层工具的要求和需求,而具备以上技术特性的 Subscript 语言实现了与波卡的向后兼容能力,使得基于 Subscript 的定制化底层编程工具将服务于整个波卡生态,坚实 Web3.0 的地基。
在智能合约应用方面,Subscript 语言实现了基于波卡 Substrate 框架的 WASM 虚拟机兼容。不同于 Solidity 的 EVM 兼容,使用 Subscript 语言开发波卡智能合约,不会产生类似以太坊智能合约平台的历史包袱。
「想象一名不了解共识算法、Merkle 树等技术难题的传统开发者,却能快速部署一个比以太坊还要好用的智能合约,这正是 TrustBase 做到的事情。」基于 TrustBase 开发的智能合约和 DeFi 应用将没有 EVM 兼容的历史包袱,没有不合理的交易费用(Gas),没有 Solidity 智能合约的灵活性所带来的 DeFi 合约安全漏洞,并共享与 Polkadot 生态的全域跨链互操作性甚至是与 比特币 、以太坊公链的跨链互操作性。
总结来看,TrustBase 大致有以下的特性:
-
技术参与门槛低
-
支持开发 Web3 网络组件
-
智能合约应用更简单可靠
-
Wasm 执行速度高
-
满足多元化定制模型
-
共享跨链和良好互操作
-
无分叉升级
-
部署成本低
-
Gas 费用低
开发者永远是一条公链的生命线。如果说波卡打破了公链间的「信息孤岛」、Substrate 框架成为了 Web3.0 的利器、那么 TrustBase 试图让所有开发者都能拿起并使用。
TrustBase 平行链通过 Subscript 语言可以做很多事:底层编程工具、数字资产发行、原生智能合约部署、Dapp、DeFi、Dex 等等,由于 Subscript 开发工具的支持,TrustBase 未来的生态将是十分丰富的。
所以它正在全球的开发者群体中建立影响力,以中国地区,根据 Subscript 技术社区官方统计,TrustBase 与金色黑客松(Jinse Hackthon)、 火币 波卡生态基金合作举办的「Polkadot 开发者训练营」已经收到了超过 260 人注册报名,近 100 人持续学习,而这仅仅是首期课程的数据。
正如当初 Gavin Wood 惊艳世人的「一键发链」,Polkado 在 Web 3.0 时代的愿景面前拥有目前其他任何竞争对手都可能难以企及的魅力与可能性,已然成为一个不断自行生发更大世界的「区块链伊甸园」。
而通过 Subscript 语言,TrustBase 团队做到了让任何人都可以使用 Substrate 这把利器去 Web3.0 的世界开疆拓土,与波卡共赴 Web3 的彼岸,几乎扮演了「波卡的引渡人」的角色。