写点什么

Zeppelin:用于区块链应用的开源安全智能合约架构

  • 2016-10-10
  • 本文字数:1528 字

    阅读完需:约 5 分钟

9 月 15 日, Zeppelin 的路线图建议发布。Zeppelin 是一种构建安全智能合约的开源架构,遵循 MIT 许可。该建议的推出正是时候,从 DevCon2 大会上围绕着智能合约形式验证的报告和讨论的次数上就可以证实这一点。

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

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

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

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

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

查看英文原文: Zeppelin: a Secure Smart Contracts Open-Source Framework for Blockchain Applications


感谢夏雪对本文的审校。

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

2016-10-10 19:005223
用户头像

发布了 227 篇内容, 共 85.7 次阅读, 收获喜欢 28 次。

关注

评论

发布
暂无评论
发现更多内容

覆盖全球4亿+用户的大型企业如何构建财务共享中心?

用友BIP

财务共享

“数智化供应链“赋能有色企业原料供应链管理优化

用友BIP

冶金

代码实训教学支持「分组作业」,学生协作分工一起学|ModelWhale 版本更新

ModelWhale

人工智能 云计算 数据分析 在线编程 云课堂

快对讲| 融合视频会议

anyRTC开发者

音视频 快对讲 融合会议 视频监控 电话入会

6位字节跳动资深技术人,给校招生的10个成长建议

字节跳动技术范儿

字节跳动 校园招聘

模块八 消息队列mysql存储表结构设计

家有两宝

#架构训练营

OpenMLDB 发布线上到线下数据自动同步工具

第四范式开发者社区

人工智能 机器学习 数据库 开源 特征

什么是供应链(Supply chain)?

优秀

#供应链 供应链管理

敏捷产品经理企业培训内容要点

顿顿顿

Scrum 敏捷 Scrum Master 敏捷开发管理工具

单线程 Redis 如此快的 4 个原因

越长大越悲伤

redis redis为什么如此快

用友BIP助力企业升级数智化底座,实现数智转型

用友BIP

国产替代

【MySQL技术专题】「问题实战系列」深入探索和分析MySQL数据库的数据备份和恢复实战开发指南(数据恢复补充篇)

码界西柚

MySQL 数据库 Binlog 数据库备份和恢复

华为云ModelArts:开启智能化时代的机器学习平台 | 社区征文

法医

华为云ModelArts 年中技术盘点

数字先锋|少跑多办!天翼云助力安徽政务跑出便民利企“加速度”

天翼云开发者社区

云计算 云平台

软件测试 / 测试开发丨 Linux 三剑客与管道使用

测试人

Python 程序员 软件测试 装饰器

兴业银行携手用友,为企业打造新一代财资管理服务

用友BIP

银行 司库

分布式系统中的数据复制

互联网工科生

分布式 数据 系统

浅说TCP状态机制

天翼云开发者社区

TCP 数据传输

【7.14-7.21】写作社区优秀技术博文一览

InfoQ写作社区官方

热门活动 优质创作周报

叮!你有一份夏日福利待签收

KaiwuDB

时序数据库 大促 KaiwuDB

PaddleSlim +​OpenVINO助力开发者实现Al模型量化与部署

飞桨PaddlePaddle

人工智能 百度 paddle 百度飞桨

打造工业互联网平台,强化“腰部”支撑,助力实现国产替代

用友BIP

国产替代

顺丰基于 Flink CDC + Hudi 推进实时业务落地

Apache Flink

大数据 flink 实时计算

高性能存储 SIG 月度动态:DSMS 完成 Anolis 23 预览版发布,欢迎体验和反馈

OpenAnolis小助手

高性能存储 龙蜥社区 sig Anolis 23 DSMS

喜报| 无限极入选信通院 2023 XOps“领新杯”业技融合攻坚先锋案例

CODING DevOps

成功举行|装备强国 数智驱动,走进泰开集团暨2023装备制造企业数智化创新论坛

用友BIP

制造

Linux中ARP学习和老化机制

天翼云开发者社区

Linux ARP

Zeppelin:用于区块链应用的开源安全智能合约架构_JavaScript_Jeevak Kasarkod_InfoQ精选文章