zeppelinOS介绍: 智能合约应用的操作系统
前段时间发生parity HD wallet钱包漏洞导致大约$30M被盗事件, 该事件是由于一个简单的程序错误使得任何人都可以执行关键函数. 如果我们希望DApp运行的更好,是该认真考虑如何编写安全的智能合约了。
在计算机发展的前期,编写代码并在机器上运行是一项很困难并且效率低下的工作,那时还没有操作系统, 也没有现成的工具和资源,所以必须熟悉相关的机器知识才能编程. 这很像2017年智能合约的开发状态.
智能合约编程状态
以太坊通过创建分布式全局共享虚拟状态机(EVM)改变世界, 任何人可以使用该虚拟机运行程序来处理真实货币,并通过智能合约代码描述合同关系。这个承诺是宏伟的: 我们正在创建一个新的基于软件的全局原生数字经济.
尽管如此,开发人员可以非常简单地使用工具创造出这些梦幻般的效果。 但是:
一旦部署了智能合约,即使出于安全考虑,也无法升级它,这意味着应用程序无法通过新功能及修复来轻松升级;
由于不是调用标准库,应用程序开发人员将每个已部署的合同复制/粘贴代码,增加部署成本和错误余地;
最后但并非最不重要的是,调试合约的失败函数(fallback)是现在工具的”地狱”。
总的来说,构建DApp的创新速度受到手动和重复工作的限制,项目必须确保基本的可用性和安全性。
很像在早期的计算领域,操作系统使得功能丰富的应用程序的开发成为可能,开发复杂的智能合同应用程序也是如此。 我们需要一个用于EVM的操作系统。
什么是zeppelinOS
zeppelinOS是一个开源的,分布式的工具和服务平台,在EVM之上,可以安全地开发和管理智能合同应用程序。
EVM操作系统会是什么样子?我们考虑了四个主要组成部分,但随着行业的发展,未来可能会出现其他功能:
zeppelinOS内核:开发人员可以在其应用程序中调用链上智能合约库,该库实现了常用标准功能,是可升级的并由社区管理。最初的版本是当前的OpenZeppelin框架迁移为库的形式。智能合约应用程序使用的共享代码和可选的安全更新都是基于代理库模式。
zeppelinOS调度程序:以太坊网络中的每个交易都由用户启动和支付。这限制了智能合约可以做的事情种类,有时会造成不公平的情况。例如,当通过标准多重签名合同执行交易时,最后一个确认者将触发实际的调用并支付其gas费用。或者,如果众筹在达到上限时有一些结束逻辑,则最后一个TOKEN购买方将支付该执行的gas费用。 zeppelinOS调度程序将在EVM上启用异步执行,其中合约可以请求异步执行函数,任何人都可以支付gas花费并获得奖励。
zeppelinOS市场:为了促进DApp的指数增长,智能合约必须能够以标准方式相互交互。想象一下,如果Augur可以和0x进行交易,预测市场就可以使用任何货币来预测,这些都是使用Aragon公司完成的。这种互操作性将加速整个空间的进程,帮助开发者更快地将生态系统主流化。我们提出的解决方案是在操作系统内建立本地的合约间服务市场。
zeppelinOS链下工具:作为zeppelinOS提供的在线服务的补充,该平台将提供一套旨在简化DApp的开发,调试,测试,部署和监控的链下工具。
在zeppelinOS解决方案方面,我们所有的努力都集中在解决智能合约应用开发方面的技术挑战。我们与数十个安全审计项目合作,智能合约升级,有助于改进和测试开发工具,并通过OpenZeppelin标准和安全模式实现互操作性。我们是开发人员,我们相信我们知道如何使智能合约开发过程更好,更轻松,更健壮。