区块链原理与技术
  • 区块链原理与技术
  • 比特币密码学基础
    • 密码学简介
    • 哈希函数
    • 数字签名
  • 比特币数据结构
    • 哈希指针
    • 默克尔树
    • 数据结构
  • 比特币交易模型
    • 身份确认
    • 交易服务
  • 比特币共识机制
    • 共识机制
    • 区块链的共识机制
  • 挖矿&脚本
    • 挖矿
    • 比特币脚本
    • 多重签名
  • 区块链分叉
    • 硬分叉与软分叉
  • 问题
  • 比特币匿名性
    • Page 1
  • 以太坊数据结构
    • 以太坊概述
    • 以太坊账户
    • 以太坊状态树
  • 交易树&收据树
    • 以太坊交易树&收据树
    • 布隆过滤器
    • GHOST协议
  • 以太坊:从PoW到PoS
    • 工作量证明PoW(节能)
    • 权益证明PoS
Powered by GitBook
On this page
  • 恶意的分叉
  • 自私挖矿
  1. 区块链分叉

硬分叉与软分叉

Previous多重签名Next问题

Last updated 4 months ago

  • 硬分叉:增加new feature,扩展新功能。旧节点不兼容升级后的新节点产生的区块。

  • 软分叉:对协议加一些限制,旧节点兼容升级后的新节点产生的区块。

硬分叉是区块链发生永久性分歧,在新规则发布后,部分没有升级的节点无法验证已经升级的节点生产的区块,通常硬分叉就会发生。规则改变,产生一条不同的链(升级block size,从1M更新到4M)

THE DAO攻击:攻击者从THE DAO的智能合约中盗走了价值超过千万美元的以太币,通过硬分叉使得以太坊产生一条新链。ETH vs ETC

软分叉:当新的共识规则发布后,没有升级的节点会因为不知道新规则,而生产不合法的区块,就会产生临时性分叉。老版本节点可能做无用功:

  • 挖到无效块,因为这些块中包含了在新规则下无法被验证的交易

  • 转发给其他新节点,新块不会接受

  • 这会强迫老节点更新协议/规则

  • 老节点转而扩展最长的链:分叉消失

比如没升级的节点:P2PKH(一阶段验证),升级的节点:P2PSH(两阶段验证,需要验证赎回脚本)

恶意的分叉

分叉攻击——最长链机制带来的副作用

自私挖矿

自私的矿工会隐藏自己刚刚开采的新区块,并继续开采这个隐藏区块之后的下一个区块。只有他自己知道刚刚挖出了一个新区块,其他人 都在跟进旧的前一个区块进行挖矿。