區(qū)塊鏈?zhǔn)且粋€(gè)融合了點(diǎn)對(duì)點(diǎn)傳輸(P2P),加密算法等技術(shù)的分布式數(shù)據(jù)庫(kù),它必須基于計(jì)算機(jī)網(wǎng)絡(luò)來(lái)進(jìn)行。
分布式記賬的方式帶來(lái)了的好處就是大家都來(lái)記賬,每個(gè)人手里都有一本完整的賬本(數(shù)據(jù)),某部分(節(jié)點(diǎn))的賬本(數(shù)據(jù))的丟失不會(huì)導(dǎo)致整個(gè)賬本(數(shù)據(jù))的丟失,因?yàn)橘~本(數(shù)據(jù))是全網(wǎng)所有(節(jié)點(diǎn))共有,即這個(gè)數(shù)據(jù)有無(wú)數(shù)個(gè)備份,隨時(shí)可以恢復(fù)。
而且隨著節(jié)點(diǎn)的增加,賬本(數(shù)據(jù))也越來(lái)越安全,很難摧毀。
當(dāng)然,另外一個(gè)好處就是,任意一個(gè)或部分(節(jié)點(diǎn))的賬本(數(shù)據(jù))的篡改,都不可能被全網(wǎng)認(rèn)同,對(duì)于數(shù)據(jù)的篡改幾乎不可能,除非你能控制其中51%的節(jié)點(diǎn),即51%攻擊。
前面我們通過(guò)極簡(jiǎn)化的家庭模型來(lái)闡述了中心化記賬和去中心化記賬的對(duì)比,了解了公開的分布式記賬的好處:安全(難摧毀)和真實(shí)(難篡改)。
那么極簡(jiǎn)化的家庭模型,只有少數(shù)人,大家都來(lái)記賬,都來(lái)對(duì)賬,也不會(huì)有什么大問題。
但如果是成千上萬(wàn)的人(節(jié)點(diǎn))呢?
誰(shuí)來(lái)記賬?憑什么來(lái)讓你記賬?你有什么能力來(lái)記賬?
這就需要達(dá)成一種共識(shí),這就是區(qū)塊鏈里面所需要的共識(shí)機(jī)制。
共識(shí)機(jī)制就是需要達(dá)成一致的問題,其中比較經(jīng)典的共識(shí)機(jī)制問題就是“拜占庭將軍問題”。
拜占庭將軍問題
拜占庭有10個(gè)將軍要攻擊一個(gè)繁華強(qiáng)大的城邦,由于某種原因他們要分開行軍和駐扎。
這個(gè)城邦雖然沒有拜占庭強(qiáng)大,但也足以打敗少于半數(shù)的拜占庭聯(lián)軍。拜占庭的將軍們必須有超過(guò)半數(shù)一起攻打,不然就會(huì)失敗,因此他們需要商定是否在約定時(shí)間攻擊。他們需要面臨的問題是,信使可能沒有到達(dá),也可能某幾個(gè)將軍是叛徒,會(huì)發(fā)不同的決定給不同的將軍,誤導(dǎo)他們使得最終無(wú)法統(tǒng)一行動(dòng)。
當(dāng)然還有一個(gè)很古典的有關(guān)共識(shí)機(jī)制的問題就是“類兩軍問題”。
由“類兩軍問題”引申出來(lái)的案例恐怕就是TCP的三次握手協(xié)議了:
1. A向B發(fā)送請(qǐng)求;
2. B對(duì)A說(shuō):我收到了你的請(qǐng)求;
3. A對(duì)B說(shuō):我知道你收到了我的請(qǐng)求;
但這其實(shí)是在假設(shè)第三次A對(duì)B說(shuō)“我知道你收到了我的請(qǐng)求”時(shí),假設(shè)B已經(jīng)收到了,就不再繼續(xù)確認(rèn)下去了,否則,這樣下去就沒完沒了,就變回成“類兩軍問題”了。
區(qū)塊鏈的共識(shí)機(jī)制——工作量證明
在比特幣系統(tǒng)里,比特幣區(qū)塊鏈的共識(shí)機(jī)制就是通過(guò)比拼計(jì)算能力來(lái)進(jìn)行的,誰(shuí)能在最短的時(shí)間內(nèi)完成具有一定目標(biāo)難度的hash散列值的計(jì)算,誰(shuí)就獲得這個(gè)記賬的權(quán)利,并獲得比特幣獎(jiǎng)勵(lì)。
新聞熱點(diǎn)
疑難解答
圖片精選