区块链漏洞频出,公链安全如何保证?

12月19日上午,BetDice、EOSMax相继发布公告称,遭受回滚交易漏洞攻击,其中BetDice损失20万EOS,EOSMax损失5万EOS。


此外,还有多个EOS DAPP遭遇回滚攻击,包括ToBet损失22000EOS,Big.game损失超1万个EOS等。如果按当天EOS市价18元来算的话,此次黑客攻击获利超500万,这对于普通的DAPP开发者来说,可以说是一笔很大的损失。

根据调查显示,在EOS上接连发生的几款竞猜类游戏被攻击事件,均与EOS Node存在漏洞有关,使用的攻击方式主要是回滚交易攻击和重放攻击。也就是说, 从API节点发起请求到同步至BP节点,期间有一个时差,攻击者就是利用这个漏洞下注,如果发现没有中奖,可以将每次投注的EOS退回,从而无成本重新加入游戏,直到获奖为止。

随后,被攻击的几个DAPP开发团队纷纷采取了应对措施,从修复方案来看,EOSMax、ToBet、Big.game均采用读写分离的方式修复,读取采用read-only的节点,写入采用另一个节点,以规避该漏洞风险。而此次攻击受损最严重的BetDice 则表示,有人在利用微分叉进行回滚,但如何实现的还无法确定。如果无法重现,现阶段唯一的应对办法是让重复投注得出不一样的结果。

漏洞形式多样,箭箭击中把心

事实上,从今年5月开始,EOS就被360公司发现了一个“史诗级”漏洞。而随后的几个月,据不完全统计,EOS平台上的DAPP应用共遭遇了35起黑客攻击,波及近30个DAPP。除去部分未披露损失情况的应用,项目方已累计遭受损失达72万个EOS,约合1296万人民币(按照现价18元/EOS)。其中,12月受损金额为近5个月最高,约570万人民币。

从攻击手段来看,形式也是多样,从7月份的“溢出攻击”到8月份“合约RAM吞噬”问题,再到后来的“假EOS攻击”、“重放攻击”、“假通知攻击”,近来又是接连不断的“随机数攻击”、“交易回滚攻击”。如果把黑客比喻成子弹的话,弹无虚发,箭箭不离靶心,并且攻击愈加频繁。

可以说,自EOS诞生以来,凭借吞吐量大、交易成本低且处理速度快等优势,EOS受到了众多DAPP开发者的青睐,看似低级错误引发的安全漏洞相比于以太坊初期少了很多,但由于游戏类DAPP的业务逻辑比单纯的数字货币智能合约要复杂很多,黑客还是能从业务逻辑中找到作恶的机会并发起攻击。

黑客契而不舍,公链安全怎能懈怠

当然,从区块链长远发展的角度来看,此类DAPP攻击事件可能并不是件坏事,足以引起行业和开发者更多的关注和思考。

目前这些竞猜游戏虽比数字货币复杂,但也只是DAPP开发的最小可用模型,如果这类DAPP的安全性都无法保证,大家想象的杀手级DAPP甚至更复杂的大规模落地应用更是无从谈起。

特别就区块链技术而言,目前还存在很多问题,诸如安全稳定性风险、交易风险、扩展应用的安全漏洞风险等等。那么,作为区块链基础设施,公链在设计之初就一定要充分考量这些安全问题,并有针对性的进行改进。

比如说,因为没有人能保证写出来的智能合约是万无一失的,因此对于时有发生的智能合约漏洞,比原链就提出了“隐形合约”的概念,能够在不被人看到合约具体内容的情况下自动执行。而公链QOS则采用双层链的架构,将系统中的交易行为和合约行为分离,底层主链专注于高TPS、以及支持生态中所有通证的原子性跨链交易,而上层业务链可灵活的实现任意业务的智能合约。这种分层设计最直观的好处就是,假设合约受到攻击,交易可以不受影响。

此外,既然这些漏洞暂时都无法避免,那么作为系统运营方,在漏洞被攻击之后的响应速度和止损能力也显得尤为重要。据悉,上述的公链QOS就设计了一套防御系统,能够根据项目方请求对权限内的交易做隔离阻断,具备快速将防御策略打包分发到所有节点的能力。

诚然,区块链的安全问题是一项复杂的大工程,也非一朝一夕能解决之事。当下的公链,基本都谈不上有大规模商业应用接入,但至少在整体设计上,后起的几个公链项目都借鉴了比特币和以太坊的优势,同时,在安全性、稳定性等方面做了更多接地气的改进,为各项商业应用使用区块链提供了更实际的可能性。

你可能感兴趣的:(区块链漏洞频出,公链安全如何保证?)