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

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

  • 四、区块链网络层
    • 1. 网络层安全
      • 1.1 分布式拒绝服务攻击(DDos)
      • 1.2 延展性攻击
      • 1.3 日蚀攻击
      • 1.4 分割攻击
      • 1.5 延迟攻击
  • 五、区块链安全与攻击
    • 1. 为什么区块链不安全?
      • 1.1 区块链层级架构视角
      • 1.2 区块链的六类安全隐患
      • 1.3 网络连通性与区块链安全性
    • 2 怎样让区块链不安全
    • 3 怎样让区块链更安全

四、区块链网络层

1. 网络层安全

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

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

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

1.2 延展性攻击

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

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

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

1.3 日蚀攻击

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

1.4 分割攻击

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

1.5 延迟攻击

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

五、区块链安全与攻击

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

1.1 区块链层级架构视角

《区块链原理与技术》学习笔记(六) — 区块链安全_第1张图片

1.2 区块链的六类安全隐患

常见的六类安全隐患

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

安全隐患举例

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

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

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

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

2 怎样让区块链不安全

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

3 怎样让区块链更安全

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

你可能感兴趣的:(区块链原理与技术,区块链,学习)