区块链公链“三元悖论”专题系列之安全性(Security)

区块链公链“三元悖论”专题系列之安全性(Security)

上两期我们讲了区块链公链系统“三元悖论”中的【可扩展性】和【去中心化】,本期我们结合区块链公链系统中所存在的安全问题和挑战,以及一些实际案例,来讲一下这个系列文章的压轴话题:安全性(Security)。

区块链公链“三元悖论”专题系列之安全性(Security)

在很多人看来,对于一个系统来说,安全性是必要条件,而非充分条件;甚至有人说,“去中心化”和 “可扩展性” 是“二元悖论”的说法反而比“三元悖论”更为精准,仅仅二元即可说明一个区块链公链系统的性能状况。但实际情况真的是这样吗?

首先,我想引用BTC系统在白皮书中对安全性的描述,来对区块链公链系统的安全性进行一个范围上的定义:以密码学为基础,基于工作量证明(POW)的共识机制,使得整个系统中只要恶意节点的总算力不超过50%,系统就能保证大概率上的安全,并且不会发生致命的“双花”( double spending双重花费问题)欺诈。

从这段文字中可以看出,区块链公链系统的安全范围有两个方面,一是系统自身的安全性(防崩溃机制)方面,二是系统参与者的数据、交易安全性(隐私保护)方面。

区块链公链系统区别于中心化系统的很重要的一部分,就是“安全性”是作为系统中一种性能指标(通过密码学和共识机制等技术作为保障),可根据系统的整体需要,进行弹性选择,甚至在系统迭代过程中可以进行更换。

另外,从本质上讲,区块链技术是一种在信息不对称的情况下,无需相互担保信任或第三方中介参与,采用技术手段,实现节点间“普遍通过即为认可”的信任机制。

所以,在我看来,安全性对于区块链系统来说,既不能粗略的以充要条件的方式来定义,也不能脱离去中心化、可扩展性等场景需求而单独评价;这也是区块链安全技术中最有魅力的地方。

区块链公链“三元悖论”专题系列之安全性(Security)

▲BTC系统全节点分布图(数据来源:京东智联云BDS区块链数据服务)▲

说到区块链安全技术,就不得不提一下针对区块链系统的各种攻击手段,目前来看,根据区块链的技术特性,具体的技术攻击手段主要分为以下三种:

(一)以共识机制为目标的针对性攻击:共识机制是维持区块链系统有序运行的基础,相互间未建立信任关系的区块链节点通过共识机制,共同验证写入新区块中的信息的正确性。区块链中使用的共识机制有很多,包括PoW、PoS、BFT等(之前两篇文章中均有所提及)。目前,PoW、PoS和DPoS(DelegatedProof of Stake,委托权益证明)机制已经过大规模长时间的实践检验,发展较为成熟。但在区块链共识机制的长期发展应用中,也衍生出了算力攻击、分叉攻击、女巫攻击等大量针对性的攻击手段,造成链上记录被篡改等后果,如下图所示:

区块链公链“三元悖论”专题系列之安全性(Security)

▲区块链典型攻击策略表▲

(二)对区块嵌入恶意代码,利用分布式存储机制进行快速传播:区块链通过构建开源的共享协议,实现数据在所有用户侧的同步记录和存储。与传统中心式数据库在一个或几个中心集中存储数据的方式不同,在区块链系统中,所有用户侧均有可能存放完整的数据拷贝,因此,单个或多个节点被攻击均不会对全网数据造成毁灭性的影响,提高了存储的可容错性。但是这种分布式的存储机制也在一定程度上扩大了安全威胁面,最典型的是恶意节点可在新区块中嵌入病毒、木马等恶意代码,利用分布式机制自发向全网传播,伺机发起网络攻击,如下图所示:

区块链公链“三元悖论”专题系列之安全性(Security)

▲利用区块链分布式存储机制进行恶意代码攻击示意图▲

(三)针对密码学机制固有安全风险的各类攻击:非对称算法、哈希函数等密码学机制在区块链中的应用解决了消息防篡改、隐私信息保护等问题,但这些密码学机制的固有安全风险仍将面临各类攻击,主要有两点,一是ECC、RSA等复杂加密算法本身以及在算法的工程实现过程中都可能存在后门和安全漏洞,进而危及整个区块链系统和其上承载的各种应用的安全性。二是随着量子计算等技术的飞速发展,当计算机算力达到一定级别后,即可在秒级时间内破解非对称密码算法中的大数因子分解问题(例如通过量子计算机破解1024位密钥的RSA算法只需数秒),这也成为区块链公链系统未来很大的安全隐患。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwpyfz.html