3月22日消息,据ZDNet报道,全球在线账簿网络——区块链真的安全吗?它的支持者认为的确如此,因为它将交易或智能合同分配给不可变的分类帐,并可由多方验证。然而,最近发表的论文指出,有些漏洞可能会导致区块链陷入低效、黑客攻击以及其他犯罪活动中。
![](https://ip.bitcointalk.org/?u=http%3A%2F%2Fcms-bucket.nosdn.127.net%2Fcatchpic%2F5%2F53%2F53714964ac958a98ea788bf5c017a9b7.jpg%3FimageView%26thumbnail%3D550x0&t=665&c=4nJhLkZh916wUQ)
这篇论文由香港理工大学的李晓淇(Xiaoqi Li)、姜鹏(Peng Jiang)和罗夏普(Xiapu Luo)、中国电子科技大学的陈婷(Ting Chen)以及北京大学的温巧燕(Qiaoyan Wen)共同发表的,他们声称,区块链有几个漏洞,用户需要对它们保持警惕。
随着区块链逐渐成为业务运营的重要组成部分,需要对这种新兴技术带来的潜在安全责任进行更仔细的审视。李晓淇等人表示:“随着这种分布式应用数量的增长,区块链的隐私泄露风险将会变得更加严重。分布式应用本身,以及应用程序和互联网之间的通信过程,都面临着隐私泄露的风险。”
他们敦促采用更安全的技术来应对挑战,比如代码混淆、应用程序硬化以及执行可信任的计算等。研究人员概述了区块链已知的九大关键风险因素:
1.区块链效率
对于新手来说,区块链本身的效率可能会因复杂的共识机制(consensus mechanism)和无效数据而超载。李晓琪和他的合著者指出,互联网上使用的共识机制是计算资源的基础。例如,区块链中最流行的共识机制就是工作证明系统(Proof of Work),研究人员称之为“浪费计算资源”。他们表示,目前正在努力开发更高效和混合的共识机制,将工作证明系统和权益证明系统(Proof of Stake)结合起来。
此外,区块链将产生大量数据,包括区块信息、交易数据、契约字节码等,它们容易过时且无用。研究人员认为:“有很多智能合同不包含任何代码,或者在以太坊中使用完全相同的代码,而且许多智能合同在部署后永远不会被执行。为了提高区块链系统的执行效率,需要高效的数据清理和检测机制。”
2.51%的脆弱性
区块链依赖于分布式的共识机制建立相互信任。然而,共识机制本身有51%的漏洞,即攻击者可以利用它来控制整个区块链。更准确地说,在以工作证明系统为基础的区块链中,如果单个矿商的散列功率占整个区块链总散列功率的50%以上,那么51%的攻击可能就会被启动。因此,集中在少数几个矿池的采矿力量可能导致对疏忽情况的恐惧,例如单个矿池控制超过一半的计算能力。
3.私钥安全
当使用区块链时,用户的私钥被视为身份和安全凭证,由用户而不是第三方机构生成和维护。举例来说,当在比特币区块链中创建冷存储钱包时,用户必须输入他/她的私钥。攻击者可以恢复用户的私钥,因为在签名过程中它并非完全依赖随机性生成。一旦用户的私钥丢失,它将无法恢复。由于区块链不依赖于任何集中的第三方可信机构,如果用户的私钥被窃取,则很难跟踪犯罪行为并恢复修改的区块链信息。
4.犯罪活动
通过支持比特币的第三方交易平台,用户可以购买或出售任何产品。由于这个过程是匿名的,所以很难追踪用户行为,更不用说让他们受到法律制裁了。与比特币相关的犯罪活动通常包括勒索赎金、地下市场和洗钱。
5.重复支出
虽然区块链的共识机制可以验证交易,但仍然不可能避免重复支出,或者在交易中多次使用相同的加密货币。攻击者可以利用两次交易发起和确认之间的中间时间来快速发起攻击。
6.交易隐私泄漏
不幸的是,区块链的隐私保护措施并不是很健全。犯罪智能合同可能导致机密信息的泄露、窃取密钥,以及各种现实世界的罪行(如谋杀、纵火、恐怖主义等)。
7.智能合同中的漏洞
由于应用程序在区块链中运行,智能合同可能有由程序缺陷引起的安全漏洞。举例来说,一项研究发现,在19366个以太坊智能合同中,有8833个容易受到错误的影响,比如交易顺序依赖、时间戳依赖、错误异常处理以及重入性漏洞。
8.未充分优化的智能合同
当用户与在以太坊中部署的智能合同进行交互时,会收取一定数量的“气体”。这种气体可以用以太坊的加密货币——以太币来兑换。这就导致了“无用代码相关模式”和“循环相关模式”,其中包括“死代码、不透明谓词和循环中昂贵操作”。
9.定价偏低的操作
根据执行时间、带宽、内存占用率和其他参数,以太坊设置“气体”价值。一般来说,气体的价值与操作消耗的计算资源成正比。然而,要准确测量单个操作的计算资源消耗量非常困难,因此有些气体的价值是不准确的。例如,有些气体值设置得太低,因此这些操作可以在某个交易中大量执行。通过这种方式,攻击者可以发起对以太坊的拒绝服务攻击。