博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Zeppelin:用于区块链应用的开源安全智能合约架构
阅读量:5990 次
发布时间:2019-06-20

本文共 1483 字,大约阅读时间需要 4 分钟。

9月15日,发布。Zeppelin是一种构建安全智能合约的开源架构,遵循MIT许可。该建议的推出正是时候,从上就可以证实这一点。

\\

的创建者Demian Brener和Manuel Aráoz是相关工作的先行者。Zeppelin是一个社区驱动项目,目的在于实现安全的、经测试的且经审计的智能合约代码开发。到目前为止最大规模的智能合约应用,在今年早期由于在其智能合约中所存在的一个漏洞而。这个事件说明了社区中的许多关注是合理的,这将形式验证问题置于了一个重要位置。

\\

鉴于以太坊是最广为使用的智能合约开发平台,Zeppelin项目在初期是侧重于为构建工具。在发布的建议中,Brener提及将为Solidity语言构建下列的模块:

\\
\
  • 拉动式支付(Pull payment)辅助模块:使用拉动式支付(起名源于其工作方式与需要发送操作的推动式支付相反)策略可避免许多的安全问题(包括臭名昭著的“DAO被破解”事件)。我们已经具有了简易的PullPaymentCapable.sol合约,但是仍需要更全面的工具、文档和实例。 \\
  • 合约生命周期工具:当前在没有过多考虑未来将会发生什么的情况下,大部分的合约就被部署到区块链中。我们需要构建能更好地去管理合约终结策略、合约属主转变、合约暂停及恢复、合约升级等的工具。 \\
  • 容错和自动挑错奖励:其中包括对漏洞的自动检测、从不一致状态恢复的工具、限定合约所管理资金规模的简易工具。我们也在致力于漏洞奖励合约,并期望去改进该合约,这样可实现自动去支付可攻破我们合约固定部分的安全研究者。 \\
  • 可重用的基础组件:对于每个新的项目,其中的一些通用模块依然是需要从零开发重新实现。我们希望能为代币发行、众筹、表决、投注、工资单、收益共享等构建标准的合约。 \\
  • 探究形式验证理念:合约的形式验证是一个活跃的研究领域。将这些研究工作成果集成到Zeppelin中,可为合约提供有意思的安全保障。形式验证意味着对合约代码做静态分析,以形式上验证合约的正确性以及存在的问题。 \\
  • 与oracle更好的接口:如何与离区块链数据源进行交互是智能合约发展中的一个重要部分。其中一个值得去探究的有意思想法就是做反向控制。这种方式中,oracle通过通用接口方法调用合约(用于在Truth外进行通信),并按所需去实现oracle逻辑,其中包括了值得信赖的专家、关闭的投票、开放投票、API包装器等。这样并非是合约从oracle请求数据,而是在数据发生了改变时由oracle去通知合约。 \\
  • 更好的重用代码工具:当前Solidity的代码重用是基于拷贝-复制的,或是通过从其它的代码库中下载已有的代码。一个成熟的生态系统应具有好的代码库管理系统,就像NodeJS的npm和Ruby的gems这样。对已部署到区块链中代码重用的可能性,构成了以太坊的一个有意思的变体。我们正规划去构建实现将合约轻易链接到已部署的程序库上的工具。\
\\

这些功能模块的设计都是基于的。Zeppelin是与以太坊开发者所使用的首要构建架构相集成的。先期采用者可在上提问并追踪进度,也可在中学习如何使用Zeppelin。首个公共发布版本计划在11月发布,该发布将伴以基于Zeppelin构建的真正的DAO项目。

\\

Zeppelin意图在将来支持更多的区块链平台,其中包括Bitcoin、、等。

\\

查看英文原文:

\\

感谢对本文的审校。

\

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至。也欢迎大家通过新浪微博(,),微信(微信号:)关注我们。

转载地址:http://ptnlx.baihongyu.com/

你可能感兴趣的文章
封装基础
查看>>
Oracle之常用时间语句
查看>>
KnockoutJs学习笔记
查看>>
NInject注入方式
查看>>
iOS开发时间处理工具
查看>>
socket
查看>>
c# 简单日志记录
查看>>
centos5.8下用shell脚本监控服务器
查看>>
Android动态改变布局
查看>>
word专项---页眉页脚
查看>>
静态库和动态库
查看>>
libgdx应用的生存周期
查看>>
python struct.pack() 二进制文件,文件中打包二进制数据的存储与解析
查看>>
Django初印象之视图(view)
查看>>
遍历ArrayList数组时可能存在的问题
查看>>
python ATM机 案例代码
查看>>
Spring读写xml文件
查看>>
HTTP协议中GET和POST的区别
查看>>
tf-idf
查看>>
ES6学习笔记之函数(二)
查看>>