写点什么

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:004781
用户头像

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

关注

评论

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

我们小公司,哪像华为一样,用得上IPD(集成产品开发)?

快乐非自愿限量之名

产品开发

为什么AI大模型离不开GPU?

Finovy Cloud

AI gpu GPU算力

机器人流程自动化与低代码流程自动化:技术革新的双重驱动

不在线第一只蜗牛

RPA 低代码 机器人自动化

【FAQ】HarmonyOS SDK 闭源开放能力 —Ads Kit

HarmonyOS SDK

HarmonyOS

前端菜鸡,对于35+程序员失业这个事有点麻了

伤感汤姆布利柏

华为云发布ServiceStage:内置优秀业界实践「云应用管理和运维」模板

华为云PaaS服务小智

云计算 软件开发 华为云

小而美:两步完成从源码到应用的极简交付

阿里巴巴云原生

阿里云 Serverless 云原生

飞天发布时刻|阿里云可观测全速演进

阿里巴巴云原生

阿里云 云原生 可观测

对话阿里云云原生产品负责人李国强:推进可观测产品与OpenTelemetry开源生态全面融合

阿里巴巴云原生

阿里云 云原生 可观测

AutoMQ 社区双周精选第十期

AutoMQ

Java 云计算 云原生

AutoMQ 对象存储数据高效组织的秘密: Compaction

AutoMQ

Java 云计算 云原生

你还在用工单系统的思维建设ITSM吗?

嘉为蓝鲸

ITSM 运维管理 平台化

低代码如何赋能电信运营商行业数字化转型

EquatorCoco

低代码 运营商

智研未来,直击 AI DevOps,阿里云用户交流日杭州站来啦!

阿里巴巴云原生

阿里云 DevOps 云原生

业务功能流程图是什么,怎么做?附带推荐8款流程图软件!

彭宏豪95

效率工具 职场 流程图 在线白板 流程图绘制工具

智研未来,直击 AI DevOps,阿里云用户交流日杭州站来啦!

阿里云云效

阿里云 云原生

打破壁垒,实现多引擎3D内容轻量化交付|点量云流

点量实时云渲染

Unity 视频流 实时云渲染 ue 3D实时云渲染

反射API与AOP:打造可插拔的插件式架构

技术冰糖葫芦

API Explorer API 文档 API 性能测试

基于Python的性能优化(线程、协程、进程)

我再BUG界嘎嘎乱杀

Python 性能优化

NumPy 正态分布与 Seaborn 可视化指南

EquatorCoco

正态分布 Numpy

如何使用 NFTScan NFT API 在 Mint Blockchain 上开发 Web3 产品和协议

NFT Research

NFT NFTScan API 文档

百度王颖:百度文库开启创作新纪元,人人都是内容创作者

Geek_2d6073

学校选择云桌面厂家需要考虑哪些因素?

青椒云云电脑

云桌面 云桌面厂家 云桌面系统

Apache IoTDB 分布式架构三部曲(一)集群概念

Apache IoTDB

一图解锁 | 运维管理到工具体系的建设逻辑

嘉为蓝鲸

运维管理 运维工具

数智时代下的低代码如何赋能传统汽车制造企业实现数智转型

快乐非自愿限量之名

低代码 数智制造 智驾

带你一起阅读《Forrester Wave:AIOps 调研报告》

乘云数字DataBuff

彻底搞懂JavaScript原型和原型链

快乐非自愿限量之名

JavaScript 原型

心识宇宙 x TapData:如何加速落地实时数仓,助力 AI 企业智慧决策

tapdata

数据库 Clickhouse 数据集成 CDC

ITSM新用法揭秘:构建科技公司售后服务管理体系

嘉为蓝鲸

运维 ITSM 流程管理

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