区块链之所以能够在以数字货币为代表的应用领域中大放异彩,同时也能够得到其他应用领域的广泛关注,是由于区块链系统具有去中心化、可追溯、不可篡改、不可伪造、不可否认和可编程等特点。然而,区块链在安全和隐私方面的挑战仍然制约着区块链的快速发展。
首先,区块链是集信息安全与隐私保护于一体的新型技术,其相应的安全评估检测方法还处于发展过程中,这些技术(包括共识算法、激励机制、智能合约等)在某些关键环境下存在一定的安全隐患,并且已有的安全检测手段还无法完全应用到区块链中。例如,共识协议中的攻击问题:在PoW中存在的问题是集中51%算力攻击的问题,即攻击者若获得了整个区块链网络的51%算力,就有控制整个区块网络的能力,其中也包括篡改和伪造。在比特币应用中,上述提到的51%的攻击问题带来的后果是攻击者可以实现双重支付(Double Spending),于是提出了PoS协议来替换PoW协议,上述协议的替换有效避免了某种程度上51%算力攻击的问题,然而新的问题会随之产生。现有的新的攻击问题有Nothing at Stake,此问题会导致共识节点不计成本地对区块链进行分叉处理,这样会造成区块链网络中不断地产生很多分叉。漏洞检测是安全问题的一个重要方面,从漏洞检测的角度出发,区块链无法提供有效的代码漏洞检测。例如在以太坊中,虽然提供了一些模板和测试环境以方便开发者开发智能合约,但由于智能合约逻辑的复杂性和分布式运行的特性,使得智能合约在代码的编写和密码模块的利用上不可避免地让黑客有可乘之机。
同时,网络架构的不一致性使得传统的入侵检测技术无法直接适用到区块链系统中,这也是导致区块链上各种安全问题无法解决的重要缘由之一。其次,量子计算机、人工智能、大数据分析等计算机技术的快速发展同样给区块链带来了安全威胁。尤其是量子计算机的出现会对区块链的安全性造成巨大冲击,量子计算机一旦产生,任意大整数的快速分解从理论上就变得极其容易,破解长度为1024位的非对称加密密钥只需要很短的时间,一些传统的计算性理论假设不再成立,例如基于数论的困难假设不再是密码学上的“困难”问题。2019年10月24日,科技公司巨头谷歌的量子计算机研究团队在Nature发表论文,此论文正式向世界宣告量子计算机已被成功研发,该计算机可以有效解决当前计算机不能解决的难题,量子计算机只用3分20秒就可以完成当前第一超算需要计算。