《区块链原理与技术》学习笔记(六) — 区块链安全

《区块链原理与技术》学习笔记 第六部分

四、区块链网络层

1. 网络层安全

常见的针对区块链网络层的攻击有:

1.1 分布式拒绝服务攻击(DDos)

通过主动向网络节点发送大量虚假信息,使得针对这些信息的后续访问都指向受害者来到达攻击效果。

1.2 延展性攻击

网络的延展性攻击:攻击者通过外部的虚假交易,恶意支付高手续费提高验证优先级,从而阻塞了交易队列,浪费了诚实节点与攻击者竞争的时间和带宽资源。

交易的延展性攻击:攻击者监听异步未确认的交易,通过修改交易签名使原有交易ID发生改变,并生成一笔新的交易进行广播和确认,原有的ID无法被确认。

解决方法:隔离见证(Segwit)
将签名从交易中移出,生成区块头的哈希值,这样签名的改变不影响交易哈希。

1.3 日蚀攻击

攻击者通过侵占节点路由表的方式,控制的节点对外联系,使其保留在一个隔离的网络中。从而实施路由欺骗、拒绝服务、ID劫持等攻击行为。

1.4 分割攻击

攻击者让诚实的节点分到不同的子树下贡献算力,并分开击破。

1.5 延迟攻击

拦截诚实节点的请求,返回过时的区块。

五、区块链安全与攻击

1. 为什么区块链不安全?

1.1 区块链层级架构视角

在这里插入图片描述

1.2 区块链的六类安全隐患

常见的六类安全隐患

密码学 区块链信任基础 哈希算法、数字签名、随机数
用户私钥 用户参与凭证 防御彩虹攻击
节点系统安全 传统安全范畴 缓冲区溢出、分布式节点可靠度、API接口等
底层共识协议 区块链一致性 难以证明的协议安全性、不可能实现的三角关系
智能合约 区块链业务逻辑 合约漏洞、合约可信度以及合约的规范化
激励机制 好的区块链生态 防止庞氏骗局

安全隐患举例

  • 数据层:彩虹攻击
    彩虹表:一个为加密的hash func逆运算做准备的表,由公钥和私钥的组合构成。
    然后让彩虹表上的公钥和在区块链上的公钥进行碰撞配对
    公钥配对成功,则私钥也会暴露给黑客。

  • 庞氏骗局
    利用新投资人的钱向老投资者支付利息和短期回报,来制造赚钱的假象进而骗取更多的投资。

1.3 网络连通性与区块链安全性

  • 网络的连通性越低,系统越容易出现分叉,矿工进行51%攻击所需的算力就会越低
  • 网络连通的差异性越大,具有更好连通性的矿工发起51%攻击所需算力就会越低。

2 怎样让区块链不安全

  • 攻击基础组件和设施:
    哈希碰撞、P2P网络的安全威胁
  • 攻击系统核心设计:共识层的安全威胁、合约层的安全威胁、数据层的安全威胁
  • 攻击应用生态:对交易网站的攻击、对数字货币/钱包App的攻击
  • 攻击区块链:私钥在运行和存储时的安全(丢失后的资产安全)、智能合约的代码可靠性和协议安全性、交易的隐私和安全

3 怎样让区块链更安全

  • 人为主观的强化:
    持有者提高安全意识,开发者谨慎开发、创业者注意风险
  • 区块链系统漏洞优化
  • 结合其他技术提升区块链安全性

猜你喜欢

转载自blog.csdn.net/weixin_60482947/article/details/129326407