专栏名称: 闪电HSL
读书分享
目录
相关文章推荐
51好读  ›  专栏  ›  闪电HSL

比特币协议升级的种类——进一步理解软分叉和硬分叉

闪电HSL  · 公众号  · 比特币  · 2017-06-09 23:58

正文

0 引言

比特币协议升级到底是怎么进行的。

1 协议改变的方式

任何协议的改变就存在两种,一是规则收紧;二是规则放宽。

比如对比特币区块大小这个规则来说,现在的协议里的规则 s ize<=1M ,如果要扩容,将区块上限设定为 si ze<=2M ,这就是规则放宽。如果要缩容,将区块上限设定为 s ize<=5K ,就是规则缩小。

另外还能派生出其他方法,比如先规则收紧,再规则放宽;或者先规则放宽,再规则收紧。但这本质上是两次规则修改,可以拆分来分析。

这种对规则的放宽旧节点是能识别的,并且旧节点会拒绝承认。而对规则的收紧旧节点则无法识别,所以旧节点不会拒绝,但新节点会识别出超越了规则收紧后的旧节点行为,就会对旧节点进行拒绝。

规则收紧就是软分叉,规则放宽就是硬分叉。

但这两种都是对现有的规则进行修改, 如果在现有规则的基础上再增补新规则呢?这本质上是对规则的放宽,但可以设计成旧节点不知道你放宽了。 这种情况就非常特殊了。

老节点遵守的规则集称为 X ,如果你搞个规则 y ,要求新节点遵守的规则集是 x&&y

还拿比特币区块大小这个规则来说,老节点是 size<=1M ,然后你要求在 1M 区块之外再加一个区块,对老节点来说,不知道这个新区块的存在,只有新节点知道。这就是隔离见证的原理。

2 比特币协议改变举例

先讲简单的原有规则收紧和放宽。

比如修改难度值,这是收紧,还是放宽?

难度值对比特币区块链系统中的定义是 d iff>= 某个数值。如果你要将它调大,就是收紧规则,这是软分叉。但如果你要将它调小,就是放宽规则。这就是硬分叉。

比如修改 2100 万,这是收紧,还是放宽?

因为 2100 万上限是通过挖矿的区块奖励发放的,从第一个区块奖励 50BTC ,到挖出 2100 万的一半时,即 1050 BTC 时,就降低到 25BTC ,然后再挖到剩下的一半时,即又挖出 525 BTC 时,就降低到 12 .5BTC ,现在就是每一个块挖 12.5 BTC 。然后会一直这样下去,直到最后无限逼进 2100 万。

而区块奖励在系统中的设定是 c oin base_coin<=50BTC/25BTC/12.5BTC …… + 手续费。

所以如果你要将







请到「今天看啥」查看全文


推荐文章
净土导师  ·  结婚唯一的使命
7 年前
总裁俱乐部  ·  武大郎凭什么能养得起潘金莲?
7 年前