信链财经第七期直播稿件:如何解决智能合约安全问题

智能合约因其具备合约内容公开透明、合约内容不可篡改、合约内容

永久运行特点备受业内关注,智能合约可以简化和自动化各个领域的交易,拥有管理和自动化程序的能力,帮助企业与客户建立信任,可以确保人们完成交易时,双方都对合约中的条款负责,因为是由计算机系统来执行的,并且是去中心化的计算机网络系统,任何人不可以篡改合约内容。但是,备受关注的不只是智能合约特点,它所存在的安全隐患也一直大多数人诟病,如何解决智能合约安全问题,成为区块链业内人士关注问题之一,为了让大家全面认识智能合约以及如何解决智能合约安全问题,信链财经有幸邀请到成都链安Zachary,为大家制作一期《如何解决智能合约安全问题》直播讨论。

以下是采访原文

信链财经开头:各位社区朋友们,大家好!我们经常会听到关于

区块链很多的流行语,比如“去中心化“、“智能合约”等词语,其中大多数人听说智能合约都是从以太坊开始,其实智能合约的概念早在以太坊出现以前就已经存在了,智能合约最早可以追溯到1995年,和互联网是差不多时间出现的。区块链被称之为“去中心化的”重要原因是智能合约,它允许我们在不需要第三方的情况下,执行可追溯、不可逆转和安全的交易,但是,智能合约并不是完美的,从2018年到至今,智能合约安全事件屡次发生,如何有效性解决智能合约安全问题成为时下区块链行业的一个热点问题,为了能让大家全面认识智能合约,今天我们有幸请到成都链安xx,给我们进行《如何解决智能合约安全问题》的主题直播分享。

成都链安:大家好,我是成都链安Zachary。

信链财经:能否先给粉丝朋友们介绍一下成都链安以及你们正在做的事呢?

成都链安科技,全球最早专门从事区块链安全的公司,由联想创投,复星国际,分布式资本等知名企业和创投战略投资,电子科技大学杨霞教授,郭文生教授,高子扬博士联合创立。

作为全球最早将形式化验证技术应用到区块链安全领域的团队,率先研发了全球领先的智能合约自动形式化验证平台VaaS,并基于此,建立了“一站式”区块链安全平台,为区块链企业提供安全审计(包括:底层链平台,智能合约,交易所平台,钱包,DAPP等)、资产追溯、隐私保护、安全咨询、威胁情报、安全防护等全方位的安全服务与支持。申请软件发明专利和著作权15项。

公司通过对全球近1000份智能合约和DAPP、几十家公链、联盟链、钱包(万向区块链,蚂蚁区块链,微众区块链、Neo、ONT、Celer等知平台)、近100家交易所(火币、OK等)的安全审计与防御部署,已经在区块链领域积累了丰富的安全攻防经验。

参与多个工信部组织的区块链安全标准的制定,入选工信部《2018区块链白皮书》,中国信通院可信区块链计划理事单位、区块链技术与数据安全工信部重点实验室理事单位,四川省区块链协会理事单位,荣获 “2018,2019中国区块链企业百强榜”,“2018,2019年度最专业安全服务机构”,“2019中国区块链安全领军企业”,“2019最佳区块链数据安全团队”等多项荣誉。申请软件发明专利和著作权15项。

让区块链更安全,是成都链安的使命和努力方向!

信链财经: 大多数人都知道智能合约,也有不少数媒体报道关于智能合约相关新闻,但是还是有很多人对智能合约存在一知半解的状况,大家都在想弄清智能合约到底是什么?它具备了什么意义呢?请您帮大家讲解一下。

成都链安:智能合约是一个事务处理系统,使数字化承诺在满足触发条件时被自动执行,而不会产生或者修改智能合约。相比于传统合约,智能合约在合同主体、执行的效率和违约成本都有很大不同,使得信息验证成本显著降低,加上自动执行和不可篡改性,极大提高了商业社会多方协作的效率。因此,智能合约技术是区块链应用中最主要的特征,也是区块链被称为颠覆性技术的主要原因。

信链财经:您刚刚说智能合约会极大提高了商业社会多方协作的效率,那么智能合约目前应用发展处于什么样的状况呢,主要应用到什么领域呢?

成都链安:目前智能合约的应用还处于早期阶段,主要集中在金融和政务领域。智能合约可以帮助实现可编程货币和金融功能,提高自动化交易水平和交易效率,降低金融交易及合约执行成本,便于交易行为的管理,因此得到国内外金融机构和央行的关注。根据央行提交的专利,为了实现该目的,DCEP可能加载智能合约功能,使DCEP只有在满足特定条件(例如特定的经济状态、时点、利率、流向主体)的情形下才生效。随着技术的发展,智能合约现在逐步延伸到物联网、智能家居和供应链管理等多个领域。

信链财经:在直播开始时候,我们就有提及到智能合约并不是十全十美的,在近几年期间发生了许多件安全事件,麻烦您详细说明一下近几年的智能合约安全事件以及您认为可以运用什么样的解决方案去消除这些安全顾虑。

成都链安:据成都链安统计,2019年,DApp数量持续增加,全年运行在ETH、EOS、波场等公链上的DApp总数量超3000个,智能合约漏洞事件超百起,大多被黑事件发生于EOS DApp,DApp被黑总损失超1000万美元。

EOS公链上去年共发生超60起典型攻击事件,1-4月为集中爆发期,占全年攻击事件的67%,主要原因为EOS公链上菠菜类应用的持续火爆,加之项目合约代码安全性薄弱,导致黑客在多个DApp上就同一个漏洞进行连续攻击,手法主要以交易阻塞、回滚交易攻击,假EOS攻击,随机数破解等。

TRON公链共发生近20起典型攻击事件,主要集中在4、5、7月,以小规模攻击为主,手法为回滚交易为主。

ETH公链未发生较严重的DApp攻击事件,一是因为ETH公链上菠菜竞猜类合约数量较少,热度不够,二是因为整体来说ETH智能合约项目方在安全方面做的较完善。

信链财经第七期直播稿件:如何解决智能合约安全问题

典型案例:

信链财经第七期直播稿件:如何解决智能合约安全问题

针对智能合约漏洞问题,我们建议:

(1)、游戏合约开发者应该重视游戏逻辑严谨性及代码安全性。

(2)、尽快将合约代码开源,让更多专业人士和技术团队参与进来,分析整理出易发生的意外事件,提升合约编写的安全性和功能准确性,防患于未然。

2020年第一季度,随着Defi金融持续升温,随之显现而出的安全问题也日益突出,2020年Defi方面也发生多起典型安全事件:

1、2月15日,BZX协议被爆出遭到可组合资产流动性套利攻击,攻击者通过闪贷从BZX借出ETH后通过一系列操作抬高币价,套利ETH,获利1000多ETH。

2、2月18日,BZX再次遭到类似攻击,攻击者通过抬高币价对BZX合约进行『蒙骗』,BZX未对币种价格进行多次验证,导致损失2378ETH。

3、去中心化交易平台Curve出现异常交易,该笔交易使用价值8.9万美元的USDC兑换了价值46.5万美元的BUSD,攻击者对Curve的busd.curve.fi以及y.curve.fi两种资金池进行一次钳形攻击 (Pincer Attack)。

4、3月,bZx闪电贷二度开花攻击,导致用户损失14万美元。

5、3月,以ETH作为抵押资产的MakerDao去中心化Defi项目清算,有1462场拍卖以0dai成交,导致平台共计损失780万美元。

6、3月,Defi项目Synthetix公开一个合约漏洞。

Defi项目正在快速发展壮大,据统计截止2020年,锁定在以太坊Defi应用中的资产已达到了10亿美元。Defi项目的火爆主要来源它的高收益。Defi又被称为『去中心化金融』,开放式金融的基础,则是高达8%-10%的收益率必然会伴随着巨大的风险。

这是一个快速迭代的领域,因此各方Defi团队开发自己的合约产品也是自由发挥;但并没有一个统一的、标准的安全方案去遵守,或者说是必须通过严格的安全审计,这就导致了各种合约漏洞与相关安全问题层出不穷。

因此,成都链安在此建议:任何Defi项目方在开发合约时应重视合约安全问题,以应对各种突发情况和各种非正常使用合约情况,从而避免造成损失;同时建议做好相关安全审计工作,借助专业的区块链安全公司的力量,避免潜在的安全隐患。

信链财经您刚刚已经非常详细向大家分析了近几年关于智能合约发生的安全隐患事件,也提出了许多建设性意见,那么,在将来发展中智能合约所面临的安全挑战一定也是非常大的,想请您给我们说说未来智能合约安全性挑战主要集中在哪一方面以及您的建议?

成都链安:智能合约的安全性问题的焦点在于智能合约代码的安全性,此外也存在运行环境和区块链平台的安全性问题。合约代码的安全性问题种类众多,比如常规的整数溢出漏洞和合约特有的gas限制问题等,这些都是容易受到关注的问题,在此不做过多讨论。

运行环境的安全问题相对比较容易被忽视,比如虚拟机的安全性,EVM这种开源且经过多次迭代的虚拟机可以认为相对安全,但是一些不开源的或者开源但不活跃的虚拟机,则需要更多的关注安全性问题。

区块链平台的安全性问题也会直接影响智能合约的安全性,比如加密 算法安全性考虑不足可导致的复用问题,共识算法造成结果不一致可被重放攻击。这些问题在区块链平台开发的过程中应当被考虑到。

因此,项目方应全方面做好智能合约安全审计并加强风控策略,必要时可联系第三方专业审计团队,在上链前进行完善的代码安全审计。另外尽快将合约代码开源,让更多专业人士和技术团队参与进来,分析整理出易发生的意外事件,提升合约编写的安全性和功能准确性,防患于未然。

信链财经:您刚刚分析了智能合约的安全隐患和未来安全挑战,但是我们知道智能合约也被赋予了许多人的期待,您可否全面的、简洁的向大家总结智能合约的优缺点以及发展趋势?

成都链安:智能合约在区块链技术的加持下实现了防篡改性、一致性、可审计性、 自动化执行等技术特点,同时也成为区块链技术的重要组成部分,在区块链技术的普及下将为各行各业带来一场变革。

目前智能合约的应用还处于早期阶段,主要集中在金融和政务领域。智能合约可以帮助实现可编程货币和金融功能,提高自动化交易水平和交易效率,降低金融交易及合约执行成本,便于交易行为的管理,因此得到国内外金融机构和央行的关注。

不过技术的发展也面临诸多挑战,如安全性问题。除了合约自身,合约运行环境和区块链平台带来的安全问题也需要受到重视。由于处于发展早期,可信、可靠的数据来源要么没有,要么需要一个过程才能安全对接上,因此缺乏链外可信、可靠数据来源给技术的应用落地带来了较大挑战。

随着技术的发展,智能合约已经已经延伸到物联网、智能家居和供应 链管理等多个领域。特别是这次疫情给政府的治理能力带来了新的挑战,区块链作为一种新兴的互联网技术,将促进政府组织结构扁平化、治理及服务过程透明化,提高政府创新绩效,增强政务数据安全,建设智能化和可信任政府,智能合约技术将发挥关键作用。

信链财经:根据了解,链安旗下主打安全产品有 VaaS 形式化验证和AML平台,您能否用简单的语句和案例给大家诠释一下分别这些产品的运作机制是怎么样的?

成都链安:Beosin-VaaS“一键式”智能合约自动形式化验证工具,可精确定位到有风险的代码位置并指出风险原因,有效的检测智能合约常规安全漏洞、安全属性和功能正确性,精确度高达95%以上,为智能合约代码提供“军事级”的安全验证。

而形式化验证是用逻辑来验证程序的可靠性,就是把一段程序用逻辑的方法证明一遍,证明它能得到预期的结果,没有bug。具体而言的步骤就是:第一步,对智能合约或其他程序要完成的功能进行形式化的描述;第二步,对代码进行形式化建模;第三步,通过对代码模型检测证明代码的功能实现与合约的设计目标一致。

信链财经:形式化验证相比传统的自动检测有什么优势?

成都链安:传统的自动化检测,主要是以模糊测试为主。模糊测试的基本原理是通过大量的测试用例进行测试,在测试过程中发现系统的异常情况。这种测试方法一个最基本的问题就是无法做到路径的全覆盖,只能通过提高测试的次数,消耗更多的时间来做到更高的覆盖率,对于那些只有在少数特定状态下才会出现的问题是较难通过模糊测试来发现的。而形式化验证是通过数学方法进行逻辑证明来验证问题的,是可以做到路径的完全覆盖的,可以更加全面的发现问题。

我们之所以需要形式化的方式来验证合约安全,主要原因就是硬件设计周期长,成本高,一旦生产出来就很难改动了。例如一个CPU设计如果已经开始投入生产了,那么再出了问题就是大事,修复成本将会非常高,所以对安全有非常高的要求。而现在区块链上的合约有一个和传统软件较大的区别就是部署成功后很难修改,而且很多公链如以太坊,上面的合约是开源的,这样合约中的隐藏问题更容易被黑客等不法分子发现,从而被攻击。由于现在的区块链合约很多都涉到个人资产,所以受到攻击会造成大量的财产损失。比如现在已经发生的著名的The DAO安全漏洞,最终导致5000万美元的损失。基于这些情况,我们可以看出合约同样有着很高的安全需求,这也是为什么我们需要采用形式化验证的方法来保证合约的安全。

信链财经:非常感谢Zachary精彩的分享,相信大家对智能合约有了很大的认识,我们知道智能合约具备防篡改性、一致性、可审计性、自动化执行等技术特点,但同时也具备许多安全性隐患,比如加密算法安全性考虑不足可导致的复用问题,共识算法造成结果不一致可被重放攻击等,成都链安也提出了他们很多建设性意见,也给大家介绍了许多保证安全性的产品,这是一场干货满满的直播分享!再次感谢成都链安。

    • 2019年4月11日凌晨00:17,TCX1Cay开头的黑客,创建了大量BTTx假币,并于凌晨00:25至01:00之间向多个地址转入共计4,000万个BTTx代币,并把假的BTTx洗成真BTT进而对TXHFhq开头的BTTBank游戏合约实施攻击,共计损失1.8亿BTT。
    • 2019年7月23日,18:49至22:24分,黑客向波场竞猜类游戏TronChip发起连续攻击,共计获利61,867个TRX。造成此次攻击的原因为游戏合约遭到随机数被破解。
    • 2019年9月14日,EOS DApp EOSPlay 中的 DICE 游戏遭受新型随机数攻击,损失金额高达数万 EOS。攻击者(账号:muma**mm)在此次攻击过程中利用 EOS 中的经济模型的缺陷,使用了一种新型的随机数攻击手法对项目方进行攻击。
    • 、项目方全方面做好智能合约安全审计并加强风控策略,必要时可联系第三方专业审计团队,在上链前进行完善的代码安全审计。