区块链攻击对象分析——数据层与激励层

数据层

区块数据

每个节点都有自己的一份区块数据,单一或少部分节点的区块数据被篡改无法影响整个区块链的运行。

恶意信息攻击

在区块链中写入恶意信息,信息被写入区块后很难删除,面临杀毒软件、政治敏感等多方面问题。

资源滥用攻击

区块链数据随时间推移而增长,可能导致节点无法容纳数据或运转,从而使稳定运行的节点数量减少。节点越少,则越趋于中心化。若限制块大小,会导致交易时间长、通信缓慢的弊端

签名与加密方式

区块链的安全性和不可篡改性依赖于密码学,但公认的高强度加密算法可能有漏洞,而且大多数加密方式可以通过暴力破解,甚至有专门的机器进行编解码(矿机)

穷举攻击

主要作用于散列函数。影响程度与函数本身无关,而是与生成的hash长度有关,典型攻击方式:生日悖论

碰撞攻击

主要作用于散列函数。通过寻找算法弱点,来瓦解算法的强抗碰撞性,典型攻击方式:彩虹表

长度拓展攻击

作用于基于Merkle–Damgård 构造的算法,在已知密文长度和密文hash的情况下,推导出密文与另一消息拼接后的hash

后门攻击

可能存在于所有开源的加密算法库中。在他人写好的加密库中可能存在后门,如NSA在RSA算法中安插后门,使攻击者能直接通过公钥算出私钥

量子攻击

作用于大部分密码学算法,本质是暴力破解,得益于量子计算机拥有传统计算机无可比拟的算力,完成暴力破解的时间消耗将大幅减小

激励层

概述

激励层的目的是提供一定的激励措施鼓励节点参与区块链的安全验证工作,奖励机制包括两种,一种是新区块产生后系统生成的虚拟货币,另一种是交易手续费

攻击方式

主要的风险为奖励不符合市场预期,当节点的工作成本小于或者接近于收益的时候,他们往往会选择不再为这个区块链工作,这很容易导致中心化问题,使攻击者能够以较低的成本发动51%攻击