首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Bancor智能合约漏洞导致2300万美金被盗

Bancor协议的智能合约出现漏洞,其系统被攻破。丢失了大量以太坊、NPXS及BNT代币,总价值约2300万美金,引发了人们对智能合约安全性问题的讨论。

在人们开始展望区块链3.0时,没想到区块链2.0智能合约频频爆雷,各种状况不断刺激着我们的神经。这是一种警示,让从业者明白,我们离基于区块链构造的信用约社会还很远。智能合约由软件代码来编写,其执行结果也早已被写入了软件系统中,只需要满足特定的条件,事件便会被执行。

Bancor协议便是一种基于区块链技术的软件系统,它有一个支持多种智能合约平台的流动性机制。这些区块链技术具备很高的灵活性,允许在Bancor系统上进行代币锁仓,发布智能代币,让任何人能够立即购买或者清算任何交易所锁仓的智能代币。

BNT是Bancor系统上第一种智能代币,它以Ether作为单个保证金。其他的代币,通过使用BNT作为它们的保证金之一,连接到BNT网络上。BNT建立起来的网络能够促进任一其他网络代币对于BNT的需求增加,使得它们把BNT作为保证金。

正是由于Bancor跨平台技术,使智能合约变得复杂,虽然这带来了交易的灵活性,但同时也带来无穷的安全隐患。

比特币交易的执行过程从某种程度而言也执行了一个智能合约。一开始我们将比特币当作一个整体来理解,在抽象出区块链的概念之后,我们将比特币软件看成一种架构在区块链技术之上的应用,这使得账户资金管理层和智能合约应用层分离开来。在比特币系统中,交易便是应用层的主要功能,其细节由比特币原生脚本语言构造的智能合约完成。

比特币软件框架的去耦合设计,会将我们的资金存放在账户系统中,所以只要私钥不外露,我们的数字资产便是安全的。且其通过标准的交易类型(P2PKH,P2PK,MS,P2SH)来管理资金的流动,是非常安全的。而在Bancor协议中,资金被智能合约控制,即应用层管理了大量的资金,可是应用层的软件集成的功能较多,难免会出现漏洞。

Bancor协议是一个深度耦合的系统,各种智能合约的实现都会与其平台代币BNT相关,所以一旦BNT出现问题,整个平台的所有智能合约都将存在安全隐患,这就使系统的风险变得极大。

当然Bancor被盗还有一个更重要的原因便是其使用了单一管理员账户。对于智能合约来说,只有一个管理账号是非常危险的,目前大部分合约都只有一个管理员账户,没有做到职责分离。Bancor协议开发组应该设计了一个多管理员账户协同的管理架构,对不同账户分权分责,以保证智能合约系统在部分开发者账户被盗情况下仍然能够抵御这类攻击。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180710A1CEP700?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券