接觸到區(qū)塊鏈的同學(xué)框都,或多或少都聽過拜占庭將軍的問題,那么這個(gè)拜占庭景軍的問題到底是什么呢霎箍?
拜占庭帝國(guó)即中世紀(jì)的土耳其奇钞,擁有巨大的財(cái)富,周圍10個(gè)鄰邦垂誕已久漂坏,但拜占庭高墻聳立景埃,固若金湯,沒有一個(gè)單獨(dú)的鄰邦能夠成功入侵顶别。任何單個(gè)鄰邦入侵的都會(huì)失敗谷徙,同時(shí)也有可能自身被其他9個(gè)鄰邦入侵。拜占庭帝國(guó)防御能力如此之強(qiáng)驯绎,至少要有十個(gè)鄰邦中的一半以上同時(shí)進(jìn)攻完慧,才有可能攻破。
然而条篷,如果其中的一個(gè)或者幾個(gè)鄰邦本身答應(yīng)好一起進(jìn)攻骗随,但實(shí)際過程出現(xiàn)背叛蛤织,那么入侵者可能都會(huì)被殲滅赴叹。于是每一方都小心行事,不敢輕易相信鄰國(guó)指蚜。這就是拜占庭將軍問題乞巧。
在拜占庭的問題里,各鄰國(guó)最重要的事情是:所有將軍如何能夠達(dá)成共識(shí)去攻打拜占庭帝國(guó)
最終結(jié)局這個(gè)問題的是中本聰摊鸡,提出了區(qū)塊鏈技術(shù)
互聯(lián)網(wǎng)的存在绽媒,降低了信息傳遞的成本,給每個(gè)將軍配一臺(tái)電腦免猾,就解決了通訊過程中時(shí)間延遲的問題是辕。
但是,假如10個(gè)將軍中幾個(gè)將軍同時(shí)發(fā)起消息猎提,勢(shì)必會(huì)造成系統(tǒng)混亂获三,中本聰巧妙的在系統(tǒng)假如了發(fā)送消息的成本,即:一個(gè)時(shí)間內(nèi)只有一個(gè)節(jié)點(diǎn)可以傳播信息;加入的成本就是“工作量”疙教,節(jié)點(diǎn)只有完成一個(gè)計(jì)算工作才能向城邦發(fā)消息棺聊,收到消息的節(jié)點(diǎn)必須簽名蓋章,確認(rèn)自己的身份贞谓。中本聰引用了非對(duì)稱加密限佩,可以解決古代簽名的難題:
特點(diǎn)是:消息傳輸私密性;能夠確認(rèn)身份;簽名不可偽造、篡改,作用是保護(hù)消息內(nèi)容裸弦,并且讓消息接收方確定發(fā)送方的身份
例如祟同,將軍A給B發(fā)消息,將軍A只需使用B的公鑰對(duì)消息加密理疙,而B的的公鑰是公開的耐亏,B只要他自己的私鑰解密即可。
將軍B想要在信箋上聲明自己的身份沪斟,他可以自己寫一段簽名广辰,并用私鑰簽名,并廣播進(jìn)去主之,所有人可以根據(jù)B的公鑰來驗(yàn)證簽名择吊,確認(rèn)B的身份,由此:一個(gè)不可信的分布式網(wǎng)絡(luò)變成了一個(gè)可信的網(wǎng)絡(luò)槽奕,所有參與者可以在某件事達(dá)成一致几睛。‘