【區(qū)塊鏈探索筆記九】:最長鏈原則

前文我們已經(jīng)詳細(xì)介紹過“挖礦”的過程粘室,節(jié)點完成“工作量證明”算出隨機數(shù)后即可生成區(qū)塊并寫入?yún)^(qū)塊鏈,問題來了卜范,如果有兩個節(jié)點同時解出隨機數(shù)衔统,都把生成的區(qū)塊廣播到網(wǎng)絡(luò)中隨后寫入?yún)^(qū)塊鏈,必然會導(dǎo)致區(qū)塊鏈分叉海雪。那么所有節(jié)點就不可能有一本公共的總帳本锦爵。

如何確認(rèn)哪一份才是公認(rèn)權(quán)威的總賬本呢?

中本聰在論文《比特幣:一種點對點網(wǎng)絡(luò)中的電子現(xiàn)金》中曾介紹奥裸,比特幣工作量證明機制的本質(zhì)是一CPU一票险掀,而最長鏈包含了最大的工作量,所以“大多數(shù)人”的決定就可以表達(dá)為最長鏈湾宙。

通俗來講就是樟氢,比特幣區(qū)塊是依靠礦工們不斷進行數(shù)學(xué)運算而產(chǎn)生的,每一個區(qū)塊都必須引用其上一個區(qū)塊侠鳄,因此最長的鏈也是最難以推翻和篡改的埠啃,所以節(jié)點永遠(yuǎn)認(rèn)為最長鏈才是有效的區(qū)塊鏈,只有在最長鏈上挖礦的礦工才能夠獲得獎勵伟恶,這就是我們常說的比特幣最長鏈原則碴开。

去中心化共識

在挖礦一篇,我們了解節(jié)點通過工作量證明來競爭記賬博秫,權(quán)威的總帳本是怎么達(dá)到共識的潦牛,由以下四個獨立過程相互作用而產(chǎn)生:

1.每個節(jié)點(挖礦節(jié)點)依據(jù)標(biāo)準(zhǔn)對每個交易進行獨立驗證

2.挖礦節(jié)點通過完成工作量證明,將交易記錄獨立打包進新區(qū)塊挡育,并廣播至網(wǎng)絡(luò)巴碗。

3.每個節(jié)點獨立的對新區(qū)塊進行校驗并組裝進區(qū)塊鏈

4.每個節(jié)點對區(qū)塊鏈進行獨立選擇,在工作量證明機制下選擇累計工作量最大的區(qū)塊鏈

共識最終目的是保證比特幣不停的在工作量最大的區(qū)塊鏈上運轉(zhuǎn)即寒,工作量最大的區(qū)塊鏈就是權(quán)威的公共總帳本橡淆。

最長鏈的選擇

先來一個定義,在一般情況下蒿叠,把累計了最多難度的區(qū)塊鏈明垢,也是包含最多區(qū)塊的那個鏈稱為主鏈蚣常。每一個(挖礦)節(jié)點總是選擇并嘗試延長主鏈市咽。

1.分叉

當(dāng)有兩名礦工在幾乎在相同的時間內(nèi),各自都算得了工作量證明解抵蚊,便立即傳播自己的“獲勝”區(qū)塊到網(wǎng)絡(luò)中施绎,先是傳播給鄰近的節(jié)點而后傳播到整個網(wǎng)絡(luò)溯革。每個收到有效區(qū)塊的節(jié)點都會將其并入并延長區(qū)塊鏈。當(dāng)這個兩個區(qū)塊傳播時谷醉,一些節(jié)點首先收到#3458A, 一些節(jié)點首先收到#3458B致稀,這兩個候選區(qū)塊(通常這兩個候選區(qū)塊會包含幾乎相同的交易)都是主鏈的延伸,分叉就會產(chǎn)生俱尼,這時分叉出有競爭關(guān)系的兩條鏈抖单,如圖:


對于兩個區(qū)塊都收到的節(jié)點,會把其中有更多工作量的一條鏈作為主鏈遇八,另一條鏈作為備用鏈保存(保存是因為備用鏈將來可能會超過主鏈難度稱為新主鏈)矛绘。

2.分叉解決

收到#3458A的(挖礦)節(jié)點,會立刻以這個區(qū)塊為父區(qū)塊來產(chǎn)生新的候選區(qū)塊刃永,并嘗試尋找這個候選區(qū)塊的工作量證明解货矮。同樣,收到#3458B區(qū)塊的節(jié)點會以這個區(qū)塊為父區(qū)塊開始生成新區(qū)塊斯够,延長這個鏈(下面稱為B鏈)囚玫。這時總會有一方搶先發(fā)現(xiàn)工作量證明解并將其傳播出去,假設(shè)以#3458B為父區(qū)塊的工作量證明首先解出读规,如圖:


當(dāng)原本以#3458A為父區(qū)塊求解的節(jié)點在收到#3458B, #3459B之后抓督,會立刻將B鏈作為主鏈(因為#3458A為頂點的鏈已經(jīng)不是最長鏈了)繼續(xù)挖礦。

節(jié)點也有可能先收到#3459B掖桦,再收到#3458B本昏,收到#3459B時,會被認(rèn)為是“孤塊“(因為還找不到#3459B的父塊#3458B)保存在孤塊池中枪汪,一旦收到父塊#3458B時涌穆,節(jié)點就會將孤塊從孤塊池中取出,并且連接到它的父區(qū)塊雀久,讓它作為區(qū)塊鏈的一部分宿稀。

3.一點思考

比特幣將區(qū)塊間隔設(shè)計為10分鐘,是在更快速的交易確認(rèn)和更低的分叉概率間作出的妥協(xié)赖捌。更短的區(qū)塊產(chǎn)生間隔會讓交易確認(rèn)更快地完成祝沸,也會導(dǎo)致更加頻繁地區(qū)塊鏈分叉。與之相對地越庇,長的間隔會減少分叉數(shù)量罩锐,卻會導(dǎo)致更長的確認(rèn)時間。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末卤唉,一起剝皮案震驚了整個濱河市涩惑,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌桑驱,老刑警劉巖竭恬,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件跛蛋,死亡現(xiàn)場離奇詭異,居然都是意外死亡痊硕,警方通過查閱死者的電腦和手機赊级,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來岔绸,“玉大人理逊,你說我怎么就攤上這事『腥啵” “怎么了挡鞍?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長预烙。 經(jīng)常有香客問我墨微,道長,這世上最難降的妖魔是什么扁掸? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任翘县,我火速辦了婚禮,結(jié)果婚禮上谴分,老公的妹妹穿的比我還像新娘锈麸。我一直安慰自己,他們只是感情好牺蹄,可當(dāng)我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布忘伞。 她就那樣靜靜地躺著,像睡著了一般沙兰。 火紅的嫁衣襯著肌膚如雪氓奈。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天鼎天,我揣著相機與錄音舀奶,去河邊找鬼。 笑死斋射,一個胖子當(dāng)著我的面吹牛育勺,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播罗岖,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼涧至,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了桑包?” 一聲冷哼從身側(cè)響起南蓬,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后蓖康,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡垒手,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年蒜焊,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片科贬。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡泳梆,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出榜掌,到底是詐尸還是另有隱情优妙,我是刑警寧澤,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布憎账,位于F島的核電站套硼,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏胞皱。R本人自食惡果不足惜邪意,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望反砌。 院中可真熱鬧雾鬼,春花似錦、人聲如沸宴树。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽酒贬。三九已至又憨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間锭吨,已是汗流浹背竟块。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留耐齐,地道東北人浪秘。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像埠况,于是被迫代替她去往敵國和親耸携。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,514評論 2 348

推薦閱讀更多精彩內(nèi)容