区块链跨链项目 Cosmos 将为用户提供至少三种编程语言作为选择,此举可能会威胁以太坊作为全球顶级智能合约开发平台的长期主导地位。
Cosmos 所支持的第一种语言是 Ethermint,它直接复制了以太坊的智能合约语言 Solidity。创建 Cosmos 的公司 Tendermint 的研究负责人 Zaki Manian 表示,Ethermint 项目早在 2016 年就已启动,目的是让以太坊开发者可以更容易地将其应用程序转移到 Cosmos 网络上。
第二种语言称为 Secure EcmaScript(SES),是区块链初创企业 Agoric 为安全智能合约部署而构建的 JavaScript 版本。一旦原生的 Cosmos 互连链通信(Inter-Blockchain Communication,简称 IBC)协议被赋予血肉而变得更加充实,Agoric 区块链及其 SES 编程语言将很容易被 Cosmos 用户访问,Agoric 首席执行官 Dean Tribble 这样介绍道。
第三种语言同样重要——摩根大通(JP Morgan)区块链衍生公司 Kadena 周二宣布,它也将为 Cosmos 生态系统开发其智能合约语言 PACT 的版本,该语言被称为 Kadenamint。
“我们致力于在(Cosmos)上创建一种行业级别的智能合约语言,以为开发者提供更多的部署选择。”Kadena 创始人 Stuart Popejoy 说道。
根据 Popejoy 的说法,Kadenamint 的相对强度在各个方面都优于 Solidity。
“我们认为 PACT 是智能合约语言的标准,因为 PACT 比 Solidity 更好,”Popejoy 表示,“每个使用它的开发人员都可以更快地完成任务,并且更加安全。我们已经在该语言中加入了正式验证,它是为了安全而设计的。”
公平地说,以太坊开发者非常清楚 Solidity 以及为执行 Solidity 代码而构建的虚拟机的局限性。在名为 “以太坊 2.0” 的以太坊下一次主要更新中,eWASM 将取代以太坊虚拟机(EVM),并使开发者能够使用多种不同的编程语言编写代码。
尽管如此,Popejoy 仍然对 eWASM 和以太坊 2.0 持怀疑态度,并称针对以太坊虚拟机和 Solidity 的批评“本可以在很久以前就得到解决”,但由于领导不力而未能完成。
“我没把他们看作是竞争对手,但事实上,我认为他们是遗产,”Popejoy 谈到以太坊时说,“他们(以太坊)在创建智能合约方面做得很好,并且让人们考虑到这一点,但这终将成为一个注脚。”
新的竞争对手与 Solidity 不同之处在于,它们更加强调安全,而非一成不变和不可阻止的。
“我们正在构建一个安全模型的平台,普通开发人员都能理解,”Agoric 的 Tribble 说,“对我们来说,以太坊和 Solidity 的最大问题在于,它们的安全模型是错误的。即使是安全专家也无可奈何。”
与 Solidity 不同,PACT 和 SES 都采用了对象能力(object-capability)安全模型。这意味着智能合约中的权限可以动态、快速地更新,以使用户以安全的方式访问应用程序数据的不同部分。
Tribble 做了一个浅显易懂的类比来描述该模型:就好比是将你的车钥匙交给代客泊车者,而不需要移交汽车所有权。
“典型的基于身份的访问控制使用的安全模型是这样的:我能给你的权限要么太多要么太少。这并不适合我们试图进行的业务交互。”Tribble 表示。
在 Tribble 看来,将对象能力安全性移植到智能合约是一种创新,它将向主流开发者社区的其他成员发出信号,表明区块链行业已经准备好进行大规模采用。
“对于主流人士来说,让那些针对不同市场领域、但又明显重叠的人成为竞争对手实际上是健康的。”Tribble 说,“这意味着存在一个真正的市场。”
从 Manian 的角度来看,Cosmos 是一个生态系统,可以支持和托管这个快速增长的智能合约和分布式应用程序开发市场。但同时他也警告说,在他看来,Cosmos 不会也不能完全取代以太坊,因为以太坊已经不仅仅是一种技术。
“以太坊不只是软件——它包括以太坊区块链、以太坊社区、以太坊区块链的用户,还有人们对其核心开发者的信心。所有这些都集中在一件事上,那就是以太坊的用户体验。”Manian 补充道,“我们只是在为开发者创造新的可能性。”