第10讲 BTC-分叉

第10讲 BTC-分叉

state fork(日常的分叉)

  • forking attack
  • deliberate fork(人为攻击)
    升级软件,修改协议

protocol fork

  • hard fork硬分叉
  • soft fork软分叉

硬分叉

block size limit: 1M -> 4M

比特币协议升级,如增大区块尺寸。部分更新的节点,生成的区块都是大区块,他们会在大区块或者小区块之后继续接上区块。

对于旧节点,认为大区块和大区块所在的链均是非法的,只会在小区块后面继续加入区块

当新节点算力大于旧节点,大区块形成的分链成为主链。但是只要有旧节点未升级,就还会出现分叉(永久性)。

添加chainID

软分叉

block size limit: 1M -> 0.5M

比特币协议升级,如减小区块链尺寸。部分更新的节点,生成的区块都是小区块,会认为原来的大区块为非法。

旧区块会兼容新区块,但是新区块不会兼容旧区块,只沿着新区块之后继续扩展。当新节点算力足够时候,旧节点的工作等于白挖,得不到实际出块奖励。

提议:coinbase域中,部分字节表示为UXTO的Merkle Tree的根哈希值。这个分叉为软分叉

著名软分叉例子:P2SH

硬分叉和软分叉总结

  • 新节点兼容旧节点,反之不然,为硬分叉;
  • 新节点不兼容旧节点,反之不然,为软分叉;
发布了57 篇原创文章 · 获赞 12 · 访问量 7710

猜你喜欢

转载自blog.csdn.net/volunteer1024/article/details/100558255