微软发起工作小组 旨在提高智能合约安全性
Mandy 2016-09-02 00:00:00发布
5003
摘要:微软透露称正在组织一个工作小组致力于提高智能合约安全性。该工作小组名称为“Kinakuta”,旨在让行业内共享智能合约信息和建议更加简单。  
微软透露称正在组织一个工作小组致力于提高智能合约安全性。
 
该工作小组名称为“Kinakuta”,旨在让行业内共享智能合约信息和建议更加简单,而智能合约指的是基于区块链自动执行命令的代码。
 
然而,即使圈内众人都对区块链能够自动执行复杂交易的想法表现出越来越多的兴趣,但是自从该技术首次大规模的应用The DAO因其安全隐患而遭遇崩溃事件之后,人们对其使用案例也愈发担心。
 
从此以后,人们逐渐意识到智能合约太过年轻,如果使用不当有时会十分危险。
 
但是,微软商业发展和战略主管马利•格雷(Marley Gray)认为开放信息和新工具可能会帮助开发者在未来避免类似错误。

 
格雷称:
 
“我们认为加入该社区会拥有巨大机会。Kinakuta是围绕微软最棒的实践构建的,”
 
格雷称他已经和纽约初创公司ConsensYs的全球业务发展负责人Andrew Keys达成了合作,并已经起草了一份名单,列上了35家微软想要邀请的公司。其中包括以太坊基金和、R3CEV和初创公司BlockApps。
 
正式的公告将会在本月初等微软推出新的白皮书之后发布,该白皮书是由微软联合哈佛大学的研究人员共同撰写的,概述了一种方法来证明以太坊智能合约是否能如预想般起作用。
 
开发者们有可能会使用这些资源来确认自己的编码问题。
 
格雷说:“我们想要探索能否有可能在最开始编写智能合约的时候就使用一种安全的语言来书写。”
 
形式验证
 
这个白皮书提出了一种“形式验证”,或者说证明和反证明一个软件程序的正确性,即智能合约。
 
该白皮书是界内为提高智能合约安全性而做的最新努力,如为智能合约定制的全新编程语言。白皮书提出了以三种方法用两个工具来帮助验证智能合约。
 
第一种是Solidity*,它会把一部分Solidity代码翻译为F*,F*是一种能够验证程序是否会正确执行命令的编程语言。然后还有EVM*,它会把智能合约的EVM字节码陈述反编译为Solidity源代码。
 
第二个工具十分必要,因为截至目前,Etherscan上112802份合约中只有396份在运行,因此使用字节码是未来的最佳选择。
 
尽管Solidity*目前缺少对复杂Solidity特点的支持(如loops),这个团队能够从用Solidity写的396份智能合约当中翻译出46份。通过Solidity*运行这46份合约之后,他们发现当中只有一小部分是“有效的”。
 
白皮书总结道:“很明显,经过对已发布合约的大量分析之后,很有可能会发掘出普遍存在的漏洞;我们把这些分析留给未来的工作。”
 
但是值得注意的是,尽管许多人对于智能合约安全工具的迅猛发展感到兴奋,但是也有一位行业领导认为,近期而言,开发者们将会继续犯错。
 
以太坊创始人Vitalik Buterin写道,他并不认为新的研究领域一定能够阻止未来会有The DAO类似事件发生。
 
Buterin在一篇探索未来智能合约安全的以太坊博客中写:“还会出现进一步的漏洞,而我们会汲取到新的经验教训。”
 
作者:Alyssa Hertig
 
编译:Mandy
 
智能合约 安全性
点击进入招聘详情>
微信扫一扫
关注区块链新金融
扫一扫
下载数链APP
内容合作/商务合作:
gxcj@gongxiangcj.com
联系电话:
021-31128751