比特币史话·75 | 分道扬镳(2): 脑裂

(脑裂问题。图片来源于网络)
前情回顾:比特币史话·70 | 智能合约(5): 停机问题
比特币史话·71 | 智能合约(6): 逆波兰式
比特币史话·72 | 智能合约(7): 多重签名
比特币史话·73 | 智能合约(8): 从人到神
比特币史话·74 | 分道扬镳(1): 三种分叉

正文:
比特币系统的自主“存在”和“延续”,就是不断对抗外部环境输入的随机的冲击的过程,在这个“与天奋斗、与人奋斗”永不停歇的历史进程中,最长链共识得以维持并不断强化。随机产生的分叉就是这些冲击的体现。比特币系统通过短暂的分叉吸收冲击,然后通过回归最长链共识化解冲击,把外部冲击向开放系统中注入的负熵源源不断地转化为自身的价值。
比如一个新区块A被位于世界某处的某一个节点创建后,在通过网络广播给全球网络的每个节点时,因为网络的连通性、传输速度、稳定性参差不齐,可能就会有远在天边的另外一个节点在收到这个新区块之前也成功计算出了一个新区块B,但是新区块B并不是接在区块A后面,而是接在了区块A的前一个区块的后面,也就是说,新区块B和新区块A位于比特币区块链的同一个“区块高度”(block height)(试着把区块链竖起来,自下而上,创世区块在最下面,向上增加新区块,就像盖摩天大楼一样),两者形成了一个“分叉”。这个分叉的解决,需要靠它们各自的后续区块的出块情况,最终,总有一条链会领先,从而把信奉最长链原则的绝大多数算力都吸引过去,淘汰另一条落后的分叉链。被淘汰的分叉链从分叉处开始的区块会被解体,未被长链打包的交易会回到内存中的交易池,交给最长链重新打包写块确认。
但是,如果网络的传输延时甚至中断不是一个短暂的随机性事件,而是人为故意制造的网络封锁,导致比特币网络节点被强行割裂、天各一方,此时,比特币系统会发生“脑裂”的情况吗,万一发生了会发生怎样的情况?在2010年7月8日的论坛帖子中,中本聪分析和回答了这个问题:
“很难想象互联网会被分割成密不透风的几个部分。可能必须是某个国家故意地、完全地把它自己与全世界其他部分切割开来。”
“任何能够访问两边的节点都可以自动把区块链流通过去,比如有人用拨号调制解调器或者卫星电话绕过封锁。只需要有一个节点去这么做即可。任何想要继续做生意的人都会被激励来做这件事。”
“如果网络被分割然后又复合,那么在较短分叉而不在较长分叉中的任何交易都会被再次释放到交易池中,并有资格进入未来的区块中。他们的确认数将重新开始。”
“如果有任何人想利用割裂来双花,比如在每一边把同一笔钱支付给不同的地址,之后,较短分叉里的双重花费就会失败,变为「0/未确认」并保持在这个状态。”
“想利用割裂来双花并非易事。如果从一边到另一边的通信都是不可能的话,你又该如何能够把一次花费放到每一边呢?如果有办法的话,那么也许另外有人就已经在使用这种方法把区块链流通过去了。”
“你通常会知道你在较小的部分。例如,如果你的国家把它自己与全世界其他部分切割开来,世界其他部分会是一个更大的部分。如果你在一个较小的部分里面,你应该假设什么都确认不了。”
比特币交易的确认是通过出块和区块链的延长来完成,出块就需要计算工作量证明(PoW),计算就需要消耗算力。PoW的优点之一就在于它不能被任意复制,网络割裂就会造成算力割裂,切割比例通常也不会是对半等分,而更有可能是一个小算力网络从大网络中孤立出去。但是PoW计算的难度系数需要大约两周才调整一次,因此不会立刻下调挖矿难度,这就导致被划分到小算力网络中的节点会立刻觉察到出块速度显著变慢,很久都收听不到一个新区块广播。这样的情况会持续一周、两周,这么长的时间,足够被孤立网络中的用户反应过来他们被断网了。然后,他们就会开动脑筋去寻找大部队,用各种方法,包括架设卫星天线,收听来自大部队的区块信号……再然后,要么口子被撕开,最长链渗透到“局域网”中,要么“局域网”中的用户纷纷逃离,投入中本聪共识的怀抱,“局域网”被人们遗弃。估计用不了多久,他们就能够找到大部队,然后和大网络胜利汇合了。最长链共识战胜了人为的网络切割和封锁,重新回归了全球唯一共识。
【未完待续】(公众号:刘教链)

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇

您不能复制本页内容(。・_・。)ノI’m sorry~