1分鐘了解“區(qū)塊鏈分叉”的本質(zhì)
《1分鐘了解區(qū)塊鏈的本質(zhì)》,介紹了什么是區(qū)塊鏈,區(qū)塊鏈是一個沒有管理員,每個節(jié)點都擁有全部數(shù)據(jù),高可用的分布式存儲系統(tǒng)。
《1分鐘了解挖礦的本質(zhì)》,介紹了什么是挖礦,挖礦是在***區(qū)塊鏈的數(shù)據(jù)上,生成一個符合條件的區(qū)塊,鏈入?yún)^(qū)塊鏈的過程。
有不少朋友問,全球每個區(qū)塊鏈節(jié)點都包含全部數(shù)據(jù),都在***的區(qū)塊鏈數(shù)據(jù)上挖符合條件的區(qū)塊,如何兩個節(jié)點同時挖到新區(qū)塊,出現(xiàn)數(shù)據(jù)不一致,該怎么辦呢?
今天,花1分鐘和大家介紹什么是區(qū)塊鏈分叉,來解答上面的問題。
假設(shè)當(dāng)前***的區(qū)塊鏈有三個區(qū)塊:
假設(shè)中國有一個節(jié)點,美國有一個節(jié)點,同時挖到了礦(即找到了符合哈希預(yù)期的區(qū)塊,挖礦的過程詳見《1分鐘了解挖礦的本質(zhì)》),這兩個節(jié)點都會把自己挖到的礦,鏈到自己本地的區(qū)塊鏈上,這就出現(xiàn)了區(qū)塊鏈分叉。
同時,這兩個節(jié)點會將“我挖到礦啦”同步全球其他節(jié)點,以便于其他節(jié)點同步完***的數(shù)據(jù)后,在***的區(qū)塊鏈上繼續(xù)挖礦,此時:
- 離中國節(jié)點較近的點,可能先同步到“中國鏈”,并在此鏈的基礎(chǔ)上繼續(xù)挖,鏈條會持續(xù)增長
- 離美國節(jié)點較近的點,可能先同步到“美國鏈”,并在此鏈的基礎(chǔ)上繼續(xù)挖,鏈條也會持續(xù)增長
- 節(jié)點收到兩個沖突的區(qū)塊鏈同步,會判斷此時哪條鏈的長度更長,會以長度更長的區(qū)塊鏈為準
畫外音:長度更長的區(qū)塊鏈消耗的計算力更多,不能讓大部分礦工“白干啦”。
如此迭代,最終全球區(qū)塊鏈終究會達成一致,以最長的區(qū)塊鏈為準。
畫外音:如果不遵守規(guī)則,成為“少數(shù)派”的節(jié)點挖到的新礦將不會被“多數(shù)派”承認,就等于“白干啦”,在區(qū)塊鏈系統(tǒng)里,“遵守規(guī)則”是所有節(jié)點的***策略。
除非,有人掌握了全球51%的計算力(額,這不是相當(dāng)于中心化了嗎),才能為所欲為。承載比特幣應(yīng)用的區(qū)塊鏈,一般認為一個區(qū)塊后面再鏈了6個區(qū)塊后,就不肯能被“顛覆”了,故稱為“六次確認”。
畫外音:額,挖到一個新區(qū)塊別高興太早,等后面鏈了6個其他區(qū)塊的時候,再慶祝吧。承載比特幣應(yīng)用的區(qū)塊鏈,平均10分鐘生成一個區(qū)塊,“六次確認”大概需要經(jīng)歷1個小時。如何保證平均十分生成一個區(qū)塊,詳見《1分鐘了解區(qū)塊如何勻速生成》。
關(guān)于區(qū)塊鏈分叉,“軟分叉”和“硬分叉”這兩個概念是不能不提的。
什么是軟分叉?
答:區(qū)塊鏈系統(tǒng)升級后,在所有節(jié)點升級到***的版本之前,由于程序版本的差異可能會產(chǎn)生分叉,只要升級到***的版本,分叉就會消除,這就是“軟分叉”,軟分叉是臨時的。
畫外音:原文是說
A temporary fork in the block chain which commonly occurs when miners using non-upgraded nodes violate a new consensus rule their nodes don’t know about. |
什么是硬分叉?
答:有些人頭硬,不按照規(guī)則來,拉了一個分支,以“道德”或者“法律”的名義,號召大家認可自己的鏈,形成分叉,這就是“硬分叉”,硬分叉是***的。
區(qū)塊鏈領(lǐng)域最有名的硬分叉,是“以太坊”分叉,事情大概是這樣的:
- 黑客盜取了大概6kw美元的合約幣
- 以太坊開發(fā)團隊修改源碼,強行把第1920000個區(qū)塊的資金轉(zhuǎn)移到另一個地址,“奪回”黑客控制的合約幣
- 大部分礦工認同這個修改,一部分礦工不認同這個修改,于是形成了兩條鏈,新鏈是以太坊(ETH),原鏈是以太經(jīng)典(ETC)
- 大家繼續(xù)在自己認可的鏈路上繼續(xù)挖礦
畫外音:
- 區(qū)塊頭里能記錄版本信息,所以理論上任何人都可以改程序,升級版本自己玩,只是沒有人陪你玩罷了,沒人陪你玩,你挖到的礦大家不認可,就只是浪費電。還是那句話,區(qū)塊鏈的世界里,遵守規(guī)則才能讓礦工的利益***化。
- 硬分叉,其實違背了區(qū)塊鏈“不能修改”的技術(shù)本質(zhì),采用了人為手段“強制回滾”,樓主認為,這違背了區(qū)塊鏈去中心化的技術(shù)本質(zhì)。
講了四篇區(qū)塊鏈,后續(xù)開始講比特幣:
- 為什么大家瘋狂的挖礦,有什么價值
- 比特幣的本質(zhì)是啥
- 區(qū)塊能勻速生成,比特幣為啥總量有限
- 比特幣交易的過程是怎么樣的
- …
【本文為51CTO專欄作者“58沈劍”原創(chuàng)稿件,轉(zhuǎn)載請聯(lián)系原作者】