波卡与 Wasm 合约双剑合璧

187 阅读6分钟

6.png 开发者如果想参与到波卡生态的建设,为 Polkadot、Kusama 和 Substrate 技术堆栈做出贡献,开发通常分为三类:

1.Substrate 链:支持链级别创新,但开发难度和拍槽成本高。 2.EVM 合约:同样受限于初级语言 Solidity 的表达能力和运行效率。 3.Wasm 合约:使用链级别的高级语言 Rust 或 AS 开发,部署和运行成本都很低。

01 Substrate 链开发:底层技术创新的温床

如果用 Substrate 来开发某一种应用并且部署成平行链,比如 DeFi、游戏、身份等,那这条平行链就仅是一个“产品”,任意跟生态内其他产品的交互均需要经过跨链机制,需要承受多个块的通信延迟。

由于平行链本身没有对链内资源设定分配逻辑,所以它无法快速批量让合作伙伴动态部署应用。而当前以太坊生态的发展,大家都意识到了在区块链各类标准的基础上,生态由于去中心化开放协作和可组合性而大爆发。

我们仍然需要智能合约链这种模型,通过类类似 Gas 的资源模型来动态分配资源,容纳上百万的合约应用形成平台效应,合约间的交互是块内实时进行,没有延迟。因此 Substrate 的真正价值不在于开发特定的业务逻辑应用,而在于开发各类平台技术,隐私平台、 EVM 平台、Wasm 平台、存储平台等底层技术创新。

02 EVM vs Wasm

目前走在最前列的是 EVM 平台和 Wasm 平台。以太坊在5年前上线了以后,底层的虚拟机和合约技术几乎没有改变,是智能合约概念刚发明阶段的临时方案。以太坊基金会在 Devcon 上多次说明了自己打算将 EVM 过渡到 Wasm 的想法,但已经上线的庞大合约体量无法支持深层次的变革,生态也在这一临时方案上越走越远,大而不倒。

波卡包括中继链和平行链以及链上合约均是建立在 Wasm 之上,可以从零搭建这一新的合约技术体系,Substrate 开发和 Wasm 合约开发同根同源,仅仅是资源模型层级上的区别。

平行链项目会独占一个插槽的资源,如果不包含合约功能,则仅是供给自己开发的 Runtime 产品独占使用,采用预先设定好的固定手续费模式。如果平行链包含了合约模块,则可以按照动态 Gas 计费模式,动态将链的资源分配给上层的合约使用。

而使用 Rust 或者 AssemblyScript 这类高级语言开发 Wasm 智能合约,相比于 Solidity,他们支持更多的基本数据类型和复杂数据类型,还有更丰富的开发库支持。Wasm 智能合约支持开发者突破 Solidity 的编写限制,用真正像样的高级语言正常表达业务逻辑,可以将产品逻辑和复杂度提升一个数量级。之后 Patract 将编写更多教程,介绍 Wasm 和 EVM 的技术细节差异,同时会输出多篇报告,对比两者的性能差异等。

举个简单的例子来说,EVM 就像是汽油车,经过多年的优化已经走到了极限,虽然满大街跑得还大多是汽油车。Wasm 就像是电动车,从原理上来讲就优于汽油车(无需变速箱,能量转化率高,天然支持智能化),而且存在持续的巨大优化空间,虽然仅仅在小规模量产阶段。但汽车公司的市值已经提前告诉了我们,哪个才会是未来。现在很多开发者就像依赖加油站一样地在依赖 EVM 生态,但未来会奖励那些勇于创新并提前入局的先行者。

03 以往的 Wasm 合约平台

波卡并不是第一个宣称支持 Wasm 合约的,目前有很多项目均已经选择采用 Wasm 技术来编写智能合约,包括 EOS、NEAR 等。很多人会诟病 EOS,说即使性能很高,但仍然无法与 EVM 竞争,所以得出结论 Wasm 无用、EVM 至上,甚至出现技术迭代无用的结论。

然而区块链只分为两种,一种是比特币,纯粹围绕对币的共识来维持,技术模型极致简单,没有迭代的空间和必要。另一种是其余的链,它们都只能由技术和产品逻辑的迭代来立足,之所以目前以太坊还是第一大区块链生态,是因为还没有项目全方位超越以太坊,而并不是简单因为后续项目的合约技术都差于以太坊。

链之间的竞争是多维度的,EOS 是第一个大规模用起 Wasm 技术的项目,同时支持表格存储,这方面而言是有进步性的。但整个项目其余的劣势过于明显,节点中心化,资源模型体验差,DDoS 攻击不断,创始团队后续不迭代等,导致整个链的衰落,但不代表 Wasm 合约的错误。波卡借助 Substrate 的底层抽象能力,链技术的异构丰富性大幅提升,成为能够产生跨代际差异的区块链平台。Patract 专注在 Polkadot 这一区块链3.0平台上,做智能合约2.0的事情。

04 Wasm 合约开放平台 Patract

Patract 已经准备好了波卡 Wasm 合约开发的关键部件,包括测试网 Jupiter,开发和测试脚手架 Redspot,调试沙盒 Europa,节点 API 服务 Elara,多语言 SDK Himalia,零知识证明支持 zkMega,DApp 前端支持 PatraStore 等,还在开发中的是合约浏览器 PatraScan、合约监控 Leda、新合约框架 Ask!、云端 IDE Carpo 等附属产品。

我们在联合多家社区平行链一起推动 Wasm 合约生态,并积极反馈社区意见给 Parity 迭代合约模型和 ink! 开发框架,相信在不久的将来,Wasm 合约生态会走向完善和成熟。

About Patract

Patract 为波卡 Wasm 合约生态的平行链和 DApp 开发提供解决方案。我们帮助社区平行链设计和开发链上合约模块和 Runtime 支持,并且为 DApp 开发者提供覆盖开发、测试、调试、部署、监控、数据提供和前端开发等阶段的全栈工具和服务支持。

How to join Patract

1.对于合约开发者,可以访问官网 (patract.io),熟悉测试链和工具套件。欢迎加入官方开发群: Element(app.element.io/#/room/#Pat… Discord(discord.gg/wJ8TnTfjcq)

2.对于将要集成 Wasm 合约功能的平行链项目方,或者使用 Wasm 合约开发的 DApp 项目方,商务合作欢迎联系 santry@patract.io

3.对于用户,欢迎加入: Telegram(t.me/patract) Twitter(twitter.com/PatractLabs…

4.对于求职者,我们在招聘区块链开发工程师、前端/全栈开发工程师、开发者运营等岗位,可以联系 sean@patract.io