SlideShare a Scribd company logo
1 of 10
合成分叉
一种安全升级比特币协议的方式
johnyj 2016-10-26 R1BC
软分叉
• 对现有规则的收紧
(1MB 变为
0.5MB)
• 导致:
未升级节点接受所有的新区
块,因为它们都小于 1MB
已升级节点拒绝大于 0.5MB
的旧区块
1MB
原区块链:最大
1MB 区块
新区块链:
最大 0.5 MB 区块
无效
软分叉过程
C
G
B
旧矿工
5% 算力
新矿工
95% 算力
A有效
有效
有效
有效但非最长链
有效
区块链
有效
有效
D
E
F
有效
有效
区块 C 大于 0.5MB ,因此被新矿工拒绝,新矿工另外挖 D 。但旧矿工仍认
为其有效并在其上添加区块。由于新矿工掌握了绝对优势算力,可以在自己的
链上迅速添加区块 D,E,F ,使其成为最长链。这时旧矿工就会放弃自己挖出的
G 和 C 二者,而转到 DEF 链上去挖矿,因为 DEF 各区块都是符合他们的规则
的,小于 1MB
结果就是,两侧矿工都会最终到 ABDEF 上挖矿,区块链不会分裂。最重要的
是,旧矿工挖出来的大于 0.5MB 的块都会被孤立掉,所以他们有很强的动机
去升级到新版本以避免损失,不久就会达到矿工 100% 升级的状态
有效
有效
硬分叉
• 对于现有规则的放
宽 (1MB 到
2MB)
• 导致:
未升级节点拒绝大于 1MB 的
新区块
已升级节点接受所有旧的区
块,因为它们都小于 2MB
1MB
旧区块链:最大
1MB 区块
新区块链:
最大 2 MB 区块
有效
硬分叉过程
C
G
B旧矿工
5% 算力
新矿工
95% 算力
A
有效
有效
无效
有效
区块链
有效
有效
D
E
F 有效
区块 C 大于 1MB ,所以被旧矿工拒绝而去挖区块 D 和 G 。新矿工掌握了优势
算力,此后迅速添加了区块 E 、 F 并成为最长链。但是,旧矿工无法抛弃 DG
而转到最长链 CEF 上挖矿,因为 CEF 中包含了一个不符合他们规则要求的无
效区块 C
结果就是,旧矿工就在 ABDG 基础上继续添加区块,新矿工则在 ABCEF 上添
加区块,导致区块链的分裂
有效但非最长链
有效
软分叉和硬分叉
• 如上所述,软分叉可以防止区块链分裂,
但只能实现规则的收紧;硬分叉可以实现
规则的放宽,但有可能导致区块链分裂
• 是否可以既实现规则放宽又不导致区块链
分裂呢?
• 这就是合成分叉所能实现的
合成分叉
• 合成分叉是软分叉 + 硬分叉分两步走:
先使用软分叉来保证算力的 100% 升级,
从而避免区块链分裂,然后再用硬分叉来
放宽规则
无效
合成分叉过程(一期)
C
G
B
旧矿工
5% 算力
新矿工
95% 算力
A有效
有效
有效
有效但非最长链
有效
区块链
有效
有效
D
E
F
有效
有效
合成分叉中,区块 C 是旧矿工挖出来的,小于 1MB ,对两侧矿工来
说都有效,但新矿工专门设立了一条规则来拒绝它(旧区块格式不接
受)。旧矿工仍认为它有效并在其上添加区块。但正如软分叉中一样
, C 和 G 会被多数算力所挖出的最长链 DEF 给超越,旧矿工总是会
转到 DEF 链上去挖矿。这里重要的是:在一期,新矿工拒绝旧版区
块,但不接受大于 1MB 的区块,以保证旧矿工可以随时切换到算力
证明最强的新链挖矿
结果就是,这些算力占少数的旧矿工有很强的动机去升级到新版,以
免自己挖出来的区块被孤立。很快整网算力就会 100% 升级到新版
有效
有效
有效
合成分叉过程(二期)
L
K旧矿工
0% 算力
新矿工
100% 算力
J有效
有效
无效
有效
区块链
有效
有效
M
N 有效
在二期里,硬分叉被激活:区块 L 大于 1MB ,因此会被旧节点拒绝。但是,
因为已经没有算力在挖旧版的区块, 旧版的区块链最多就是延伸到 JK 了
其余未升级的旧版节点会发现区块链到了 JK 就停止增长了。他们可以继续运
行旧版软件,不会损失金钱,但所能看到的只是一个到 JK 为止的旧版区块链
镜像。如果他们想要发送或者接收交易,就必须要升级
如果矿工假装升级怎么办
• 合成分叉假定矿工都是倾向于合作的,正如任何
的软分叉中一样。这种升级方式主要是为了避免
在不小心的情况下导致了区块链分裂
• 矿工在一期中可以假装升级,然后在二期中再退
回原来版本,导致区块链分裂
• 但这是一种有意分裂区块链的行为。如果你想有
意分裂区块链,那么任何人都可以随时做,有很
多种办法,没必要采用假装升级这种极为复杂的
手段

More Related Content

More from 正炎 高

安卓软件漏洞修复与检测技术研究-zhangyuan
安卓软件漏洞修复与检测技术研究-zhangyuan安卓软件漏洞修复与检测技术研究-zhangyuan
安卓软件漏洞修复与检测技术研究-zhangyuan正炎 高
 
移动客户端恶意行为分析系统
移动客户端恶意行为分析系统移动客户端恶意行为分析系统
移动客户端恶意行为分析系统正炎 高
 
Android软件安全审计及漏洞修复经验谈.宋申雷
Android软件安全审计及漏洞修复经验谈.宋申雷Android软件安全审计及漏洞修复经验谈.宋申雷
Android软件安全审计及漏洞修复经验谈.宋申雷正炎 高
 
基于大数据的Web攻击溯源
基于大数据的Web攻击溯源基于大数据的Web攻击溯源
基于大数据的Web攻击溯源正炎 高
 
钱林松-专业逆向人才培养模式探讨与实践 - 21日上午分论坛2
钱林松-专业逆向人才培养模式探讨与实践 - 21日上午分论坛2钱林松-专业逆向人才培养模式探讨与实践 - 21日上午分论坛2
钱林松-专业逆向人才培养模式探讨与实践 - 21日上午分论坛2正炎 高
 
网易蜂巢容器公有云的docker实践
网易蜂巢容器公有云的docker实践网易蜂巢容器公有云的docker实践
网易蜂巢容器公有云的docker实践正炎 高
 
当当网Docker应用实践
当当网Docker应用实践当当网Docker应用实践
当当网Docker应用实践正炎 高
 

More from 正炎 高 (8)

安卓软件漏洞修复与检测技术研究-zhangyuan
安卓软件漏洞修复与检测技术研究-zhangyuan安卓软件漏洞修复与检测技术研究-zhangyuan
安卓软件漏洞修复与检测技术研究-zhangyuan
 
移动客户端恶意行为分析系统
移动客户端恶意行为分析系统移动客户端恶意行为分析系统
移动客户端恶意行为分析系统
 
Android软件安全审计及漏洞修复经验谈.宋申雷
Android软件安全审计及漏洞修复经验谈.宋申雷Android软件安全审计及漏洞修复经验谈.宋申雷
Android软件安全审计及漏洞修复经验谈.宋申雷
 
基于大数据的Web攻击溯源
基于大数据的Web攻击溯源基于大数据的Web攻击溯源
基于大数据的Web攻击溯源
 
钱林松-专业逆向人才培养模式探讨与实践 - 21日上午分论坛2
钱林松-专业逆向人才培养模式探讨与实践 - 21日上午分论坛2钱林松-专业逆向人才培养模式探讨与实践 - 21日上午分论坛2
钱林松-专业逆向人才培养模式探讨与实践 - 21日上午分论坛2
 
网易蜂巢容器公有云的docker实践
网易蜂巢容器公有云的docker实践网易蜂巢容器公有云的docker实践
网易蜂巢容器公有云的docker实践
 
当当网Docker应用实践
当当网Docker应用实践当当网Docker应用实践
当当网Docker应用实践
 
圈圈App
圈圈App圈圈App
圈圈App
 

比特币分叉相关