Wasm 技术要达到什么程度才能打破生态板结?

在万向区块链实验室、新链空间、Parity 及 Web3 基金会合作发起的 Web 3.0 训练营第二期中,Patract Labs 在全球范围内经过层层筛选,成为 12 支优秀团队的成员之一。
5 月 14 日,Web 3.0 训练营二期开幕仪式,在上海市虹口区虹口科技金融大厦隆重举行。到场的除了主办方,被入选项目,还有 Web3 基金会主席兼 Polkadot 创始人 Gavin Wood 博士,通过远程分享了 Polkadot 目前发展情况及 Kusama 上线进展。在开幕仪式上,Patract Labs 与其他入选项目也分别进行了各自阐述。

以下为 Patract Labs 岳利鹏在开幕式上的主要发言内容:
Patract Labs 是波卡 Wasm 合约技术实验室。名字来源是 Parachain Contract 的缩写,成立于去年 8 月份。

Patract Labs 目前是波卡和 Kusama 两个议会的成员,会参与各类链上公共事务的投票,同时我们主要受波卡和 Kusama 国库的资助,现在已经有 13 个议案通过。

波卡的中继链、平行链都建立在 Wasm 虚拟机上,我们关注在其中上层的 Wasm 合约这一技术分支,也希望借助于此加速智能合约行业向 Wasm 技术栈的转变。我们认为这条路虽然困难,但终究也是必然,接下来我具体说明原因。

EVM 生态非常强大,而且在链模型层,Patract 现在不单指以太坊一条链,还包括 BSC\Heco 这样 EVM 兼容独立链,以及 Acala、Moonbeam 这样的 EVM 兼容平行链。但他们的本质都是基于 EVM 虚拟机,是 Gavin Wood 在 2014 年设计以太坊时,由于找不到一个确定性的执行环境,临时创建的一套新技术。
首先在语言层他们建立了 Solidity 这门语言,之后在工具层,以 Consensys 为代表的社区团队建立了一系列的开发工具和服务,然后是一步步的写各种合约应用,直到把 Layer1 的运行能力填满,大概 10TPS 左右。之后需求外溢为需要用 Layer2 来解决扩容问题。所以有点像老子道生一,最后三生万物的感觉。

我们再来看看 Wasm 生态这边。首先 Wasm 是发展于下一代的浏览器技术,由谷歌、微软、苹果、火狐、W3C 这类超级大厂共同研发多年的产物,才是真正的沙盒环境虚拟机迭代的极限,同时也天然适合区块链行业。然后我们发现这些年竞争性的新链纷纷把最底层的虚拟机换成了 Wasm。
除了波卡,还包括 eWasm,这是以太坊 2017 年提出来的 2.0 升级的一部分,只不过船大难掉头,积累的历史负担也越来越重,想换发动机已经不太可能了。之后是 EOS,合约部分有局部先进性,但其他方面短板太短。最近还有 Near,Solana,Dfinity 和 PlatON,他们都包含合约功能,而且都选择 Wasm 作为新的底层发动机。
在语言层,Wasm 天然支持很多成熟的高级语言,还可以很方便地发明新语言。所以只要链模型是优秀的,并且突破了工具层,任何 EVM 的应用都可以转化为 Wasm 写,而有些 Wasm 写出来的新应用 EVM 永远也写不出来。很多人寄希望于以太坊的 Layer2,但 Layer2 的技术也都是可以迁移的。所以你是想要 1*100,还是 100*100。

所以 Wasm 相对于 EVM 的优势具体是什么呢?
第一:大家都知道 Solidity 的限制非常多,但 Wasm 支持多种更加成熟的高级语言,表现力更强,支持编写更加复杂的业务逻辑,这将孵化出新的产品形态。
第二:Wasm 的执行效率接近 CPU 的原生性能,高于 EVM 两个数量级,用户可以用更低的成本跟链交互。
第三:Wasm 的可扩展性强,这也是为什么会出现这么多不一样的链模型和合约语言,也就代表更大的创新空间。

所以接下来是灵魂拷问的时间。EVM 是不是已经大而不倒,作为历史的一层,永远固化下来了?对于一个生态来讲,竞争对手只是好一点是没有用的,需要好多少才会有翻盘的机会?这么多项目都在开发 Wasm 合约,到底谁能最终跑出来?
从第一性原理上来讲,趋势是明确的,就像电动车一定会代替汽油车,世界一定会向可持续能源转变一样。接下来就是事在人为的问题,如果大家都不去选择开拓这个新方向,都以兼容 EVM 为短期更容易实现的目标,那历史会被 EVM 越拖越远。

我们觉得这个转变大概率会发生在波卡生态内。
首先 Gavin Wood 强调波卡不是智能合约平台,而是链创新的平台,合约只是众多 Pallet 中的一种。所以波卡可以在 Layer1.5 同时,容纳多种智能合约技术,形成最丰富的技术多样性,达到异构多链的状态。
这样就可以吸收已有的生态,同时低成本开展新的创新,这也是波卡对以太坊等同构单链的根本性优势。但其他的合约模型都是隔了一层的翻译,只有他这个新的 Pallet-Contracts 才是最原生的 Wasm 合约,才能发挥虚拟机最直接的效能。

那在波卡生态内,为什么不直接用 Pallet 这种 Layer1 的技术开发,而要用 Contract 这种 Layer 1.5 的技术开发呢?原因很简单。如果直接用 Pallet 开发应用,那一条链只能容纳一个开发团队,平行链的资源也是独占的。但如果添加了 Contract 模块,就可以接纳社区上百万的开发者,他们不再需要拍槽,应用的部署成本也极低。
平行链插槽的拍卖大概半年轮换一次,而 Contract 模块能够把一条平行链的资源按照 Gas 价格,以每个块的粒度实时拍卖出去。两者之间在可以支持的技术先进性上没有本质区别,就是一种资源分配模型的不同。

但现在的波卡原生 Wasm 合约模型以及基于 Rust 的这个 ink! 语言框架,还不是很成熟。目前虽然已经有多家平行链在尝试集成,但我们也发现了模型和语言设计上的一些问题,正在跟 Parity 沟通解决。

Patract Labs 的工作涉及三个层次,模型层我们正在试图介入,在语言层,我们引入了基于 AssemblyScript 的 Ask! 项目,用于快速转账 JS 开发者。更多的是我们在补足工具这一层,大概有 10 来条产品线。L1 和 L2 应用层的推进交给社区。

具体到我们实际的产品,大多在 EVM 生态找得到对标。Jupiter 是快速测试网,Ask! 是因为有人觉得用 Rust 写语言框架太难,JS 就简单很多。Redspot 是脚手架,Europa 是沙盒调试环境,zkMega 为 Substrate 添加了 4 条密码学曲线的零知识支持,ZoPatract 迁移自 ZoKrates,用来支持 zk-ink! 合约。云 IDE 是最便捷的开发入口,Elara 类似 Infura,还有 4 个语言的 SDKs,应用商店和浏览器等。整体产品线的进度条大概是 1/3。

为了联合最广泛的力量共建 Wasm 合约生态,我们成立了 Patract Open Platform(简称 POP),现在已经有接近 20 家合作伙伴。我们作为基础设施提供方,帮助社区平行链集成 Wasm 合约功能,并根据他们的自身特性进行定制,同时帮助 DApp 开发者使用 Wasm 合约,积极推广这一技术路线、吸收社区反馈、同时成为社区跟 Parity 沟通的桥梁。

由于波卡生态基于 Substrate 的强大扩展性,Wasm 合约技术只是一个大的方向,并不是一个确定性的技术方案,还有非常多的工程上的优化空间,包括并发和异步带来的可扩展性、丰富和高速的存储、跨链执行带来的可交互性、更简洁的语言、以及更加集成的开发环境等,还可以无限探索下去。
About Patract
Patract 为波卡 Wasm 合约生态的平行链和 DApp 开发提供解决方案。我们帮助社区平行链设计和开发链上合约模块和 Runtime 支持,并且为 DApp 开发者提供覆盖开发、测试、调试、部署、监控、数据提供和前端开发等阶段的全栈工具和服务支持。
How to join Patract
1.对于合约开发者,可以访问官网 (https://patract.io),熟悉测试链和工具套件。欢迎加入官方开发群:
Element(https://app.element.io/#/room/#PatractLabsDev:matrix.org)
Discord(https://discord.gg/wJ8TnTfjcq)
搜索“Patract 开放平台”关注 Patract 微信公众号
2.对于将要集成 Wasm 合约功能的平行链项目方,或者使用 Wasm 合约开发的 DApp 项目方,欢迎加入 POP https://open.patract.io
3.对于用户,欢迎加入:
Telegram(https://t.me/patract)
Twitter(https://twitter.com/PatractLabs)
4.对于求职者,我们在招聘区块链开发工程师、前端/全栈开发工程师、产品经理、开发者运营等岗位,可以联系 sean@patract.io
评论