区块链似乎是构想中最安全的网络之一。尽管如此,最近一群研究人员还是发现了多处漏洞。
区块链 - 全球在线分类账的网络 - 真的很安全吗?它的支持者说是的,因为它将交易或智能合约分配给不可变的总账,可由多方核实。然而,最近发表的一篇论文提出了一些漏洞,可能会导致区块链条效率低下,黑客攻击和其他犯罪活动。
随着区块链日益成为商业运营的一部分,需要仔细研究这种新兴技术带来的潜在安全责任。随着分散应用数量的增长,“区块链的隐私泄露风险将更加严重”,Li及其合着者称。“分散的应用程序本身以及应用程序和互联网之间的通信过程都面临着隐私泄露风险。” 他们敦促更多地采用技术来应对这一挑战:“代码混淆,应用强化和执行可信计算”。
研究人员用区块链概述了关键的已知风险因素:
区块链效率:对于初学者来说,区块链本身的效率可能会因复杂的共识机制和无效数据而变得过载。李和他的共同作者指出,互联网上采用的共识机制是计算资源巨头。例如,区块链中使用的最流行的共识机制是工作证明(Proof of Work),研究人员称之为“浪费计算资源”。他们表示,正在努力开发结合PoW和证明权益(PoS)的更高效和混合的共识机制。另外,区块链会产生大量的数据 - 区块信息,交易数据,合同字节码 - 可能已经过时并且毫无用处。“在Ethereum中有很多不包含代码或完全相同的代码的智能合约,许多智能合约在部署后从未执行。
“51%的脆弱性:”区块链“依赖于分布式共识机制来建立互信。然而,共识机制本身具有51%的脆弱性,攻击者可以利用它来控制整个区块链,更确切地说,在基于PoW的区块链,如果单个矿工的散列能力占整个区块链总散列能力的50%以上,那么51%的攻击可能会启动,因此,集中在少数采矿池的采矿能力可能会导致对不经意的情况,比如单个池控制着超过一半的计算能力。“
私钥安全性:“在使用区块链时,用户的私钥被认为是由用户而不是第三方机构生成和维护的身份和安全证书,例如,在比特币区块链中创建冷库时,用户必须导入他/她的私钥。“ 攻击者可以“恢复用户的私钥,因为它在签名过程中不会产生足够的随机性。一旦用户的私钥丢失,将无法恢复。由于区块链不依赖任何集中的第三方如果用户的私钥被盗,很难跟踪犯罪行为并恢复修改后的区块链信息。“
犯罪活动。“通过一些支持比特币的第三方交易平台,用户可以购买或出售任何产品。由于此过程是匿名的,因此很难追踪用户的行为,更不用说受到法律制裁。” 比特币频繁的犯罪活动包括勒索软件,地下市场和洗钱。
双重支出。“虽然区块链的共识机制可以验证交易,但仍不可能避免双重支出,或者多次使用相同的加密货币进行交易。攻击者可利用两笔交易启动和确认之间的中间时间快速发起攻击。 “
交易隐私泄露。“不幸的是,区块链中的隐私保护措施并不稳健,”李和他的共同作者说。“刑事智能合同可以促进泄露机密信息,盗窃密钥和各种现实世界的犯罪(例如谋杀,纵火,恐怖主义等)”
智能合约中的漏洞。“作为在区块链中运行的程序,智能合约可能存在程序缺陷导致的安全漏洞。” 例如,一项研究发现,在19,366个以太坊智能合约中,有8,833个易受诸如交易顺序依赖性,时间戳依赖性,无法处理的例外情况和重新入侵脆弱性等缺陷的影响。“
欠佳优化的智能合约:“当用户与部署在以太坊的智能合约进行交互时,会收取一定数量的”天然气“,天然气可以通过以太坊的加密货币”以太“进行交换,导致”无用与代码相关的模式“和”与循环相关的模式“。这包括”死循环中的死代码,不透明谓词和昂贵的操作“。
价格低廉的操作:“以太坊根据执行时间,带宽,内存占用率和其他参数来设置气体价值,一般来说,气体价值与操作消耗的计算资源成正比,但难以准确测量单个操作的计算资源消耗,因此一些气体值没有适当设置,例如,某些IO操作的气体值设置得太低,因此这些操作可以在一个事务中大量执行。这样,攻击者就可以启动对以太坊的拒绝服务攻击。“