【链得得独家】专访智能合约专家Peter Vessenes:如何应对区块链技术安全难题?

链得得潘璇
链得得潘璇

Nov 26, 2018 欢迎砸料xuanpan@chaindd.com

摘要: 作为全球智能合约安全的早期从业者,Peter Vessenes是第一个跟美国财政部探讨比特币的人,也曾作为顾问,接受来自美国财政部、美国国土安全部、德勤等提出的咨询。他是如何看待目前全球智能合约安全的现状,又有何应对方式?

图/New Alchemy创始人、比特币基金会创始主席Peter Vessenes

The DAO攻击事件,一直被称为史上最大的智能合约漏洞事件。

2016年6月,黑客攻击the DAO转走了300多万ETH资产,当时价值为6千万美元,两年后,若以2018年6月的ETH价格计算,其价值已达到了15亿美元。

事实上,比特币基金会创始主席Peter Vessenes在该事件发生前,就发表了一篇有关具体安全性弱点的论文,指出像DAO这样的智能合约完全建立它们的代码之上,一旦发布在以太坊区块链上,DAO的代码将无法修改。

随着The DAO “重入式攻击”事件的发生,Peter Vessenes越发意识到智能合约安全对区块链产业发展的重要性。他选择在2016年成立New Alchemy,一家专门提供代币化服务和软件的企业,同时也会提供智能合约安全相关的咨询服务。

近日,链得得App独家专访了Peter Vessenes,就“目前全球智能合约安全的现状”、“交易吞吐量、安全性和去中心化的三角要如何权衡”、“熊市下安全技术公司该如何生存”等问题进行探讨。

链得得App了解到,New Alchemy早期的开发项目包括为Bittrex创建安全存储客户代币的钱包以及大量的智能合约软件系列。Peter Vessenes称:“如今,通过New Alchemy的软件交易的电子加密货币价值数十亿美元,并且没有一美元丢失过。”

智能合约有所进步,但整体创新速度变慢

“在某些程度上来讲,现在的智能合约比两年前进步很多了。” Peter Vessenes表示:“但是不幸的是,人们害怕做一些新尝试,在我看来这是比较失望的结果,因为我们希望在智能合约上看到更多的创新,而不是保守地、更少地用智能合约。”

正如Peter Vessenes所言,现在很多人都知道怎样让ERC20智能合约更安全地运行,但是只有非常少的人在真正研究怎么样将Solidity编程语言应用在区块链技术行业上。

他坦言:现在做“类似基于Solidity的语言”这样应用的人越来越少,创新的速度变得越来越慢。即使市场上的交易体系相比之前是较完善的,很多软件工程师也知道怎么样去设计一个安全的智能合约或安全的程序。但是很多工具,并没有让这些工作变得更简单,或者让更多的开发者更容易地去完成这样的事情。

这跟很多现实的因素挂钩,智能合约的设计门槛相对较高、容错率较差,随着技术的不断完善,创新成本也变得越来越高。

智能合约有一个最基本的特点,就是一旦公布后,就会无条件一直运行下去。这种性能让它本身非常强大,同时也非常危险。因为一旦智能合约执行中涉及到一些负面的事情,无法关闭停止它的运作。

因此,写智能合约的程序这件事变得非常严谨,Peter笑谈就像给太空飞船或火箭写程序一样,在设计网页程序或前端程序的时候,错误率是在每1000行代码里面有30个错误。但是像NASA应用在太空技术、航天技术里的程序里,他们的错误率在每1000行代码里面只能有0.1个错误。

熊市之下:缩减部门、关注研发

从今年一季度后,整个区块链的市场陷入熊市,且一直没有回暖的迹象。Peter Vessenes认为在这样熊市的市场里,大家应该缩减开支,真正把钱花在更创新、更优秀的技术应用和开发上。

他很遗憾告诉链得得App表示:在短时间内整个安全性相关的市场会比较小,所以在New Alchemy,已经把安全部门和技术服务的部门合并成一个部门。

“我愿意为那些现在愿意在熊市的情况下需要扩张的公司提供区块链安全方面、或更多技术上的解决或服务,帮助他们度过区块链的寒冬,或者让他们加入我们的团队来。因为从长期的角度看,如果区块链公司做了很多新技术开发,会变得非常有价值。”

Peter Vessenes认为大家应该把注意力转移到积极的一面去,需要看到更多技术上面的创新,可以达到更多、更高量的交易频率和速度。

他谈到:很多区块链的项目,不论是有币区块链,还是无币区块链都面临着处理速度和安全性的问题。对于高速率的处理,现有的侧链技术,可以支持非常高效的交易速度和过程。当然,最终侧链上面的信息和所有的交易都会被放到主链上进行记录。

另一方面,智能合约虽很难做到无懈可击,但也在不断研发新的技术避免成为黑客攻击的对象。目前市场上常用的解决方案是采用更严格的代码审计和形式化验证。

Peter Vessenes认为代码审计是一个非常有用的工具,可以让所有的开发者很快速地检查他们所写的代码里的错误。

但是形式化验证不是一个很好的解决方案,因为形式化验证会限制开发者在形式化设计的框架下面进行技术上的开发和应用。不管形式化验证这套解决方案有多好,如果它很难大规模被程序员采用,比如如果只有10个程序员能采用这样形式,整个体系是没有价值的。

大部分的形式化验证只被非常小的一部分的开发者进行使用,因为他们都非常聪明,但对于普通的程序员来讲是非常大的挑战。当少数的人去推广形式化验证,这对整个行业而言极难大规模复制化发展。

(本文首发链得得App)

链得得仅提供相关信息展示,不构成任何投资建议
本文系作者 链得得潘璇 授权链得得发表,并经链得得编辑,转载请注明出处、作者和本文链接

更多精彩内容,关注链得得微信号(ID:ChainDD),或者下载链得得App

分享到:

相关推荐

    评论(0

    Oh! no

    您是否确认要删除该条评论吗?

    分享到微信