被炒得火热的区块链如今已变成了大众明星,几乎可以说是传遍大街小巷。区块链技术开发的应用层出不穷,前几天一款号称可以挖矿的智能手机也出来了,区块链共识系统已逐渐被应用到各类电子产品中,互联网巨头百度、谷歌都已纷纷进军区块链,百度在前不久推出了基于区块链技术的萌宠游戏,相信不久的将来谷歌也将会有自己的区块链产品。
那么一个全球都在玩的区块链技术真的安全吗?区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。所谓共识机制是区块链系统中实现不同节点之间建立信任、获取权益的数学算法。它的实质是一个分布式的在线账簿网络,将交易或智能合同分配给不可变的分类帐,并可由多方验证,实现去中心化是它的技术核心所在。是技术就会存在漏洞,区块链也只是衍生出来的二次互联网产品,当然也会存在漏洞。例如我们经常在网上看到的相关报道,黑客攻击导致用户文件丢失,还有像17年发生的比较重大的虚拟货币盗窃案,黑客利用的是什么?正是其中暗藏的漏洞。
那么区块链的几大关键风险因素是什么?
区块链效率
区块链本身的效率可能会因复杂的共识机制(consensus mechanism)和无效数据而超载。互联网上使用的共识机制是计算资源的基础。区块链中最流行的共识机制就是工作证明系统(Proof of Work),被称之为“浪费计算资源”。目前相关研究人员正在努力开发更高效和混合的共识机制,将工作证明系统和权益证明系统(Proof of Stake)结合起来。
此外,区块链将产生大量数据,包括区块信息、交易数据、契约字节码等,这些数据容易过时且无用。很多智能合同不包含任何代码,或者在以太坊中使用完全相同的代码,并且许多智能合同在部署后永远不会被执行。为了提高区块链系统的执行效率,需要高效的数据清理和检测机制。
51%的脆弱性
区块链依赖于分布式的共识机制建立相互信任。然而,共识机制本身有51%的漏洞,即攻击者可以利用它来控制整个区块链。更准确地说,在以工作证明系统为基础的区块链中,如果单个矿商的散列功率占整个区块链总散列功率的50%以上,那么51%的攻击可能就会被启动。
私钥安全
当使用区块链时,用户的私钥被视为身份和安全凭证,由用户而不是第三方机构生成和维护。当在比特币区块链中创建冷存储钱包时,用户必须输入自己的私钥。攻击者可以恢复用户的私钥,因为在签名过程中它并非完全依赖随机性生成。一旦用户的私钥丢失,它将无法恢复。由于区块链不依赖于任何集中的第三方可信机构,如果用户的私钥被窃取,则很难跟踪犯罪行为并恢复修改的区块链信息。
犯罪活动
通过支持比特币的第三方交易平台,用户可以购买或出售任何产品。由于这个过程是匿名的,所以很难追踪用户行为,这样一来便没法确切地找出具体用户,更不用说相应法律制裁了。由虚拟货币爆发出的洗钱、盗窃案比比皆是,这一系列犯罪活动若不加以制止,后果是非常严重的。
重复支出
虽然区块链的共识机制可以验证交易,但仍然不可能避免重复支出,或者在交易中多次使用相同的加密货币。攻击者可以利用两次交易发起和确认之间的中间时间来快速发起攻击。
交易隐私泄漏
区块链的隐私保护措施并不是很健全。用户在交易过程中可能导致机密信息的泄露、密钥丢失等,然而这些都是在不知不觉中发生的。基于区块链技术产生的应用逐渐商业化,如何保证交易隐私就变得尤其重要。
智能合同中的漏洞
由于应用程序在区块链中运行,智能合同可能有由程序缺陷引起的安全漏洞。举例来说,一项研究发现,在19366个以太坊智能合同中,有8833个容易受到错误的影响,比如交易顺序依赖、时间戳依赖、错误异常处理以及重入性漏洞。
未充分优化的智能合同
当用户与在以太坊中部署的智能合同进行交互时,会收取一定数量的“气体”。这种气体可以用以太坊的加密货币——以太币来兑换。这就导致了“无用代码相关模式”和“循环相关模式”,其中包括“死代码、不透明谓词和循环中昂贵操作”。
定价偏低的操作
根据执行时间、带宽、内存占用率和其他参数,以太坊设置“气体”价值。一般来说,气体的价值与操作消耗的计算资源成正比。然而,要准确测量单个操作的计算资源消耗量非常困难,因此有些气体的价值是不准确的。如果气体值设置得太低,这些操作便可以在某个交易中大量执行。通过这种方式,攻击者可以发起对以太坊的拒绝服务攻击。
任何新技术的出现都会有漏洞,互联网当年产生也面临了很多的风险。随着区块链技术的逐渐成熟,风险也会逐渐减小。区块链本身的分布式应用决定了它必然面临隐私泄露的风险。
尽管区块链技术存在漏洞,它本身还是一个值得让人期待的技术。希望不久的将来这些潜在的风险都可以得到解决,那么区块链才可以真的算是瓜熟落地。
*本文为“币口袋”签约作者原创奖励文章,
未经授权,严禁转载!
领取专属 10元无门槛券
私享最新 技术干货