參考
https://www.zhihu.com/question/37290469
http://www.lxweimin.com/p/5fea30b25f0a
總覽
區(qū)塊鏈本質(zhì)上是一個(gè)去中心化的分布式賬本數(shù)據(jù)庫(在與比特幣相關(guān)的區(qū)塊鏈應(yīng)用中可使用這一術(shù)語,但區(qū)塊鏈技術(shù)可能并不包含“賬本”)。其本身是一串使用密碼學(xué)相關(guān)聯(lián)所產(chǎn)生的數(shù)據(jù)塊,每一個(gè)數(shù)據(jù)塊中包含了多次比特幣網(wǎng)絡(luò)交易有效確認(rèn)的信息。
這是區(qū)塊鏈的定義,因此要逐步了解區(qū)塊鏈,我們需要一步步了解如下東西。
去中心化
先來考慮一個(gè)中心化集中式處理的過程。你要在某寶上買一部手機(jī),交易流程是:你將錢打給支付寶-支付寶收款后通知賣家發(fā)貨-賣家發(fā)貨-你確認(rèn)收貨-支付寶把錢打給賣家。
在這個(gè)過程中,雖然你是在和賣家交易,但是這筆交易還牽扯到了除了你和賣家的第三方,即支付寶,你和賣家的交易都是圍繞支付寶展開。因此,如果支付寶系統(tǒng)出了問題便會(huì)造成這筆交易的失敗。并且雖然你只是簡單的買了一個(gè)手機(jī),但是你和賣家都要向第三方提供多余的信息。因此考慮極端情況,如果支付寶跑路了或者是拿了錢不卻不承認(rèn)你的交易或者是支付寶所在的城市因?yàn)殚_G20把所有人都趕走了,那么你就悲劇了。
而去中心化的處理方式就要顯得簡單很多,你只需要和賣家交換錢和手機(jī),然后雙方都聲稱完成了這筆交易,就OK了。
可以看出在某些特定情況下,去中心化的處理方式會(huì)更便捷,同時(shí)也無須擔(dān)心自己的與交易無關(guān)的信息泄漏。
其實(shí)如果只考慮兩個(gè)人的交易并不能把去中心化的好處完全展示出來,設(shè)想如果有成千上萬筆交易在進(jìn)行,去中心化的處理方式會(huì)節(jié)約很多資源,使得整個(gè)交易自主化、簡單化,并且排除了被中心化代理控制的風(fēng)險(xiǎn)。
去中心化是區(qū)塊鏈技術(shù)的顛覆性特點(diǎn),它無需中心化代理,實(shí)現(xiàn)了一種點(diǎn)對(duì)點(diǎn)的直接交互,使得高效率、大規(guī)模、無中心化代理的信息交互方式成為了現(xiàn)實(shí)。
當(dāng)然,上述的例子有一個(gè)很大的潛在問題:沒有了權(quán)威的中心化代理,怎樣保證每筆交易的準(zhǔn)確性和有效性呢?比如:如果沒有了權(quán)威的中心化代理,張三某一天借了我100塊錢,但是不還錢還不承認(rèn)怎么辦?這里就引出了區(qū)塊鏈的其它特性。
兩個(gè)基礎(chǔ)難題
在去中心化以后,整個(gè)系統(tǒng)中沒有了權(quán)威的中心化代理,信息的可信度和準(zhǔn)確性便會(huì)面臨問題。
問題1:類兩軍問題
第一次聽說這個(gè)問題居然是在TCP的課上,大致說的是有兩個(gè)相距很遠(yuǎn)的軍隊(duì)要傳遞信息,紅軍派遣一個(gè)信使去跟藍(lán)軍說:“你他娘的把意大利炮拿出來!”。藍(lán)軍收到信息后又派了一個(gè)信使去紅軍說:“收到指令!”。然后紅軍又派一個(gè)信使去藍(lán)軍說:“知道你收到指令了!”。然后藍(lán)軍又派一個(gè)信使去紅軍說:“知道你知道我收到指令了!”。然后紅軍又派一個(gè)信使去藍(lán)軍說:“知道你知道我知道你收到指令了!”……然后就沒完沒了了。
在這種情況下,因?yàn)槭屈c(diǎn)對(duì)點(diǎn)的通信,雙方不可能在這種情況下達(dá)到信息的一致性。嚴(yán)謹(jǐn)一點(diǎn),就是“在分布式計(jì)算上,試圖在異步系統(tǒng)和不可靠的通道上達(dá)到一致性是不可能的”。
問題2:拜占庭將軍問題
拜占庭羅馬帝國在軍事行動(dòng)中,采取將軍投票的策略來決定是進(jìn)攻還是撤退,也就是說如果多數(shù)人決定進(jìn)攻,就上去干。但是軍隊(duì)中如果有奸細(xì)(比如將軍已經(jīng)反水故意亂投票,或者傳令官叛變擅自修改軍令),那怎么保證最后投票的結(jié)果真正反映了忠誠的將軍的意愿呢?
拜占庭將軍問題反映到信息交換領(lǐng)域中來,可以理解為在一個(gè)去中心的系統(tǒng)中,有一些節(jié)點(diǎn)是壞掉的,它們可能向外界廣播錯(cuò)誤的信息或者不廣播信息,在這種情況下如何驗(yàn)證數(shù)據(jù)傳輸?shù)臏?zhǔn)確性。
區(qū)塊鏈技術(shù)的誕生
現(xiàn)在讓我們來一步一步在去中心化的系統(tǒng)中解決這些問題,見證區(qū)塊鏈技術(shù)雛形的誕生。
1
我們先來建立一個(gè)去中心化的系統(tǒng),為了方便理解,我們來看一個(gè)簡單的去中心化借貸模型:如果A借了B 100塊錢,這個(gè)時(shí)候,A在人群中大喊“我是A,我借給了B 100塊錢!”,B也在人群中大喊“我是B,A借給了我100塊錢!”,此時(shí)路人甲乙丙丁都聽到了這些消息,因此所有人都在心中默默記下了“A借給了B100塊錢”。你看,這個(gè)時(shí)候一個(gè)去中心化的系統(tǒng)就建立起來了,這個(gè)系統(tǒng)中不需要銀行,也不需要借貸協(xié)議和收據(jù),嚴(yán)格來說,甚至不需要人與人長久的信任關(guān)系(比如B突然又改口說“我不欠A錢!”,這個(gè)時(shí)候人民群眾就會(huì)站出來說“不對(duì),我的小本本上記錄了你某天借了A100塊錢!”)。
2
可能你已經(jīng)發(fā)現(xiàn)了,在上述的模型中,所謂的“100塊錢”已經(jīng)不重要了。換句話說,任何東西都可以在這個(gè)模型中交換,甚至你可以憑空杜撰一個(gè)東西,只要大家承認(rèn),你就可以讓你杜撰的東西流通。比如:我在人群中高喊一聲“我創(chuàng)造了10個(gè)查克拉!”,我甚至不需要知道查克拉是什么,也不需要關(guān)心世界上是不是真的有查克拉,只要大家都聽到,然后在自己的小本本上記下“LaiW3n有10個(gè)查克拉”,于是我就真的有100個(gè)查克拉了。從此以后,我便可以聲稱我給了某人1個(gè)查克拉,只要路人甲乙丙丁都收到并且承認(rèn)了這一信息,那我就算完成了這次交易,哪怕世界上沒有查克拉。
你現(xiàn)在腦海中是不是浮現(xiàn)出了三個(gè)字——“比特幣”?由于真正的區(qū)塊鏈和比特幣比我上述的模型復(fù)雜太多,細(xì)節(jié)也豐富太多,因此以下還是以查克拉舉例,畢竟本文是Blockchain for Babies。
3
假設(shè)過了很長一段時(shí)間,我憑空創(chuàng)造的查克拉已經(jīng)在這個(gè)系統(tǒng)中流通了起來,大家都開始認(rèn)可了查克拉。但是這個(gè)系統(tǒng)中一共就只有10個(gè)查克拉,于是有人動(dòng)了壞心思,他在人群中高呼“我有10個(gè)查克拉!”怎么辦?大家是直接在本本上記下他有10個(gè)查克拉么,這樣不是人人都可以偽造查克拉了么?
為了防止這種現(xiàn)象發(fā)生,我決定在我創(chuàng)造查克拉的時(shí)候給我的查克拉打上標(biāo)記(更準(zhǔn)確地說,我是給我喊的那句“我創(chuàng)造了10個(gè)查克拉”打上標(biāo)記,比如標(biāo)記為001),這樣以后在每一筆交易的時(shí)候,我在高喊“我給了某某1個(gè)查克拉!”的時(shí)候,會(huì)附加上額外的一句話:“這1個(gè)查克拉的來源是記為001的那條記錄,我的這句話標(biāo)記為002!”。我們?cè)俪橄笠稽c(diǎn),某人喊話的內(nèi)容的格式就變成了:“這句話編號(hào)xxx,上一句話的編號(hào)是yyy,我給了某某1個(gè)查克拉!”,這樣就解決了偽造的問題。其實(shí)上述模型就變成一個(gè)簡化的中本聰?shù)谝话姹忍貛艆^(qū)塊鏈協(xié)議:
一些問題
- “憑啥?”
你可能會(huì)問:“憑啥你喊一句話我就幫你記?我的小本本不要錢么?”。為了激勵(lì)大家?guī)臀覀髟捄陀涃~,我決定給第一個(gè)聽到我喊話并且記錄在小本本上的人一些獎(jiǎng)勵(lì):第一個(gè)聽到我喊話并記錄下來的人,你就憑空得到了1個(gè)查克拉,這個(gè)查克拉是整個(gè)系統(tǒng)對(duì)你幸苦記賬的報(bào)酬,而你記錄了這句話之后,要馬上告訴其它人你已經(jīng)記錄好了,讓別人放棄繼續(xù)記錄這句話,并給你自己的記錄編號(hào)讓別人有據(jù)可查,然后你再把我的話加上你的記錄編號(hào)一起喊出來,供下一個(gè)人記賬。
當(dāng)這個(gè)規(guī)則定下以后,這個(gè)系統(tǒng)中一定會(huì)出現(xiàn)一批人,他們開始豎著耳朵監(jiān)聽周圍發(fā)出的聲音,以搶占第一個(gè)記賬的權(quán)利。對(duì)的,你腦海中是不是又浮現(xiàn)出了“比特幣挖礦”的字眼?
- “聽誰的?”
在這個(gè)系統(tǒng)中,如果我和另一個(gè)人C幾乎同時(shí)地喊出一句:“為了艾澤拉斯!”。由于聽眾所處的位置不同,一定會(huì)有人先聽到我說的那句話,而另外一些人則先聽到C的那句話,如果我們規(guī)定只能有一個(gè)人說出這句話,那到底這句話是誰說的?
如果不加任何條件,那么上述的情況一定會(huì)這樣發(fā)展:一部分人認(rèn)為這句話是我說的,在聽到這句話之后開始記賬,之后他們所做的所有事情都是基于這個(gè)事實(shí),并且隨著這個(gè)信息一次次的傳下去,這條信息鏈會(huì)越來越深;而另外一群認(rèn)為是C先說這句話的人,也會(huì)按照這樣的趨勢(shì)發(fā)展。這樣,原本是一條唯一的信息鏈,在我們喊出“為了艾澤拉斯”這句話之后,分叉了!?
這會(huì)導(dǎo)致怎樣的情況呢?按照我們的設(shè)想,應(yīng)該每個(gè)人的小本本上記錄的東西都是一樣的,都是一條可以把所有信息串聯(lián)起來的鏈條。但是在這一刻,他們小本本上記錄的東西不一樣了!這還玩毛啊?以后還怎么確定交易和信息的真實(shí)性!?
為了解決這個(gè)問題,我又追加了新的規(guī)則:每個(gè)人在記錄小本本的時(shí)候,需要脫鞋然后用腳拿筆,在小本本上用正楷體書寫!有了這個(gè)規(guī)定,由于用腳寫字難度很大,每個(gè)人至少需要10分鐘才能寫完,而且由于每個(gè)人用腳寫字的熟練度不通,寫完這句話所用的時(shí)間也不同,因此一定會(huì)有人先寫完然后高呼“我寫完了!那句話是LaiW3n喊的!”,這樣其它正在寫這句話的人便會(huì)停筆,然后在小本本上重新開始寫“那句話是來文寫的,上一句的編號(hào)是xxx”。
如果你對(duì)上述我的解決方法感興趣,你可以對(duì)照我上面的比喻去了解以下知識(shí):
“聽誰的”——中本聰破解“拜占庭將軍問題”的算法
“在小本本上記錄”——比特幣挖礦
“脫鞋用腳寫字”——比特幣挖礦難度
“脫鞋寫字速度”——算力
“新的規(guī)則”——工作量證明鏈
PS:中本聰與拜占庭將軍問題
拜占庭帝國即中世紀(jì)的土耳其,擁有巨大的財(cái)富,周圍10個(gè)鄰邦垂誕已久,但拜占庭高墻聳立,固若金湯,沒有一個(gè)單獨(dú)的鄰邦能夠成功入侵。任何單個(gè)鄰邦入侵的都會(huì)失敗,同時(shí)也有可能自身被其他9個(gè)鄰邦入侵。拜占庭帝國防御能力如此之強(qiáng),至少要有十個(gè)鄰邦中的一半以上同時(shí)進(jìn)攻,才有可能攻破。
然而,如果其中的一個(gè)或者幾個(gè)鄰邦本身答應(yīng)好一起進(jìn)攻,但實(shí)際過程出現(xiàn)背叛,那么入侵者可能都會(huì)被殲滅。
于是每一方都小心行事,不敢輕易相信鄰國。這就是拜占庭將軍問題。
在拜占庭問題里,各鄰國最重要的事情是:所有將軍如何能過達(dá)成共識(shí)去攻打拜占庭帝國。
達(dá)成共識(shí)并非坐下來開個(gè)會(huì)那么簡單,有的將軍心機(jī)深不可測(cè),口是心非,如果有叛徒,可能會(huì)出現(xiàn)各種問題:
叛徒可能欺騙某些將軍自己將采取進(jìn)攻行動(dòng)。
叛徒可能慫恿其他將軍行動(dòng)。
叛徒可能迷惑其他將軍,使他們接受不一致的信息,從而感到迷惑。
針對(duì)拜占庭問題的深入研究,科學(xué)家們得出一個(gè)結(jié)論:如果叛徒的數(shù)量大于或等于1/3,拜占庭問題不可解。
解釋過程可以用一個(gè)副官模型來解釋:
假設(shè)只有3個(gè)人,A、B、C,三人中如果其中一個(gè)是叛徒。當(dāng)A發(fā)出進(jìn)攻命令時(shí),B如果是叛徒,他可能告訴C,他收到的是“撤退”的命令。這時(shí)C收到一個(gè)“進(jìn)攻”,一個(gè)“撤退“,于是C被信息迷惑,而無所適從。
如果A是叛徒。他告訴B“進(jìn)攻”,告訴C“撤退”。當(dāng)C告訴B,他收到“撤退”命令時(shí),B由于收到了司令“進(jìn)攻”的命令,而無法與C保持一致。
正由于上述原因,在只有三個(gè)角色的系統(tǒng)中,只要有一個(gè)是叛徒,即叛徒數(shù)等于1/3,拜占庭問題便不可解。
當(dāng)然,只要叛徒數(shù)小于1/3,問題還是可解的。
科學(xué)家們提出了口頭信息方案和書面協(xié)議兩個(gè)方案。
解決方案一:用口頭信息
口頭信息即使將軍們派人用口信傳達(dá)消息,口頭傳達(dá)消息的實(shí)際含義指的是:
- 每個(gè)被發(fā)送的消息都能夠被正確投遞
- 信息接受者知道消息是誰發(fā)的
- 沉默(不發(fā)消息)可以被檢測(cè)
口頭協(xié)議的算法很簡單,如果其中一個(gè)節(jié)點(diǎn),比如1發(fā)布消息出去,210都接受到1的消息,然后210也分別轉(zhuǎn)告給其他的節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)都是信息的轉(zhuǎn)達(dá)者,一輪下來,每個(gè)節(jié)點(diǎn)手上都會(huì)有10個(gè)信息(進(jìn)攻或者撤退),有叛徒的話,那信息可能有進(jìn)攻或者不進(jìn)攻的不一致消息。每個(gè)人相當(dāng)于手里有一本消息的賬本,該怎么決策呢?如果有一半以上的人說進(jìn)攻,那么采取進(jìn)攻行動(dòng)就是能成功的,所以這時(shí)即便有叛徒,只要聽大部分人的,少數(shù)服從多數(shù)來行動(dòng)即是有利的。
這種口頭協(xié)議的算法也存在明顯的缺點(diǎn):口頭協(xié)議并不會(huì)告知消息的上一個(gè)來源是誰,也就是消息不可追根溯源,出現(xiàn)信息不一致也很難找到叛徒在哪。
解決方案二:用書面協(xié)議
可以假設(shè)10個(gè)國家,每個(gè)國家都可以派人向各個(gè)國家派信,比如一起約定 “某天早上六點(diǎn),大家一起進(jìn)攻拜占庭,同意就簽個(gè)字”。收到信的國家如果同意的話,就可以在原信上簽名蓋章。
書面協(xié)議相比口頭協(xié)議,實(shí)際說的是在這個(gè)多人的將軍模型中加了了個(gè)隱含條件:
- 將軍們能夠使用簽名技術(shù),簽名不可偽造,一旦篡改即可發(fā)現(xiàn)。
- 同時(shí)任何人都可以驗(yàn)證簽名的可靠性。
書面協(xié)議相比口頭協(xié)議,所有的消息都是有記錄的,解決了追根溯源的問題。
但在現(xiàn)實(shí)中仍然可能面臨各種問題:
- 中世紀(jì)的鄰邦之間溝通只能靠信使騎馬,將軍們互不信任,也不可能親自聚在一起開會(huì),物理距離導(dǎo)致信息傳輸延遲。
- 真正可信的簽名體系難以實(shí)現(xiàn)。簽名造假的問題也沒法避免。
- 簽名消息記錄的保存難以擺脫中心化的機(jī)構(gòu)。
另外,倘若每個(gè)國家都各自向其他9個(gè)國家派出信使,在這個(gè)網(wǎng)絡(luò)即需要90次的傳輸才能完成一輪信息交流,但是每個(gè)國家可能回饋不同的進(jìn)攻時(shí)間,在這種異步通信的條件下,要能協(xié)商一致是個(gè)大問題。
也就是如果能夠依賴中心化可信的機(jī)構(gòu),也許能通過多方的簽名記錄整合在一起,更容易地實(shí)現(xiàn)9個(gè)國家的意見統(tǒng)一,但這是個(gè)偽假設(shè),因?yàn)榍疤崾沁@個(gè)網(wǎng)絡(luò)就是互不信任的。
這就是一個(gè)由互不信任的各個(gè)鄰邦國家所構(gòu)成的分布式網(wǎng)絡(luò),要獲得最大的利益,又必須一起努力才能完成,如何達(dá)成一致的共識(shí),變成了一個(gè)難題。
萊斯利·蘭伯特提出了“拜占庭將軍問題”,但真正解決這以難題的是——中本聰。
終極解決方案:區(qū)塊鏈技術(shù)
互聯(lián)網(wǎng)的存在,首先降低了信息的流通成本。每個(gè)將軍配一臺(tái)電腦,就解決了”書面協(xié)議“中騎馬通訊造成時(shí)間延遲的問題。
如果10個(gè)將軍中的幾個(gè)同時(shí)發(fā)起消息,勢(shì)必會(huì)造成系統(tǒng)的混亂,造成各說各的攻擊時(shí)間方案,行動(dòng)難以一致。
誰都可以發(fā)起進(jìn)攻的信息,但由誰來發(fā)出呢?中本聰巧妙地在個(gè)系統(tǒng)加入了發(fā)送信息的成本,即:一段時(shí)間內(nèi)只有一個(gè)節(jié)點(diǎn)可以傳播信息。
它加入的成本就是”工作量“——節(jié)點(diǎn)必須完成一個(gè)計(jì)算工作才能向各城邦傳播消息,當(dāng)然,誰第一個(gè)完成工作,誰才能傳播消息。
當(dāng)某個(gè)節(jié)點(diǎn)發(fā)出統(tǒng)一進(jìn)攻的消息后,各個(gè)節(jié)點(diǎn)收到發(fā)起者的消息必須簽名蓋章,確認(rèn)各自的身份。中本聰在這里引用現(xiàn)代加密技術(shù)為這個(gè)信息簽名。
這種加密技術(shù)——非對(duì)稱加密完全可以解決古代難以解決的簽名問題:
- 消息傳送的私密性
- 能夠確認(rèn)身份
- 簽名不可偽造、篡改
由此,一個(gè)不可信的分布式網(wǎng)絡(luò)變成了一個(gè)可信的網(wǎng)絡(luò),所有的參與者可以在某件事在達(dá)成一致。
寫到這里,同時(shí)終于明白了工作量證明(Proof Of Work)的意義。有人說挖礦浪費(fèi)了巨大的社會(huì)資源,但建立信任的成本可不是0,挖礦是維護(hù)比特幣網(wǎng)絡(luò)可靠性的最好辦法。
工作量證明,簡單的理解就是一份證明,現(xiàn)實(shí)中的畢業(yè)證、駕駛證都屬于工作量證明,它用以檢驗(yàn)結(jié)果的方式證明你過去所做過了多少工作。
在拜占庭的系統(tǒng)里,加入工作量證明,其實(shí)就是簡單粗暴地引入了一個(gè)條件:大家都別忙著發(fā)起消息,都來做個(gè)題,看誰最聰明,誰就有資格第一個(gè)發(fā)起消息。
這個(gè)題必須是絕對(duì)公平的,中本聰在設(shè)計(jì)比特幣時(shí),它采用了一種工作量證明機(jī)制叫哈希現(xiàn)金,在一個(gè)交易塊這要找到一個(gè)隨機(jī)數(shù),計(jì)算機(jī)只能用窮舉法來找到這個(gè)隨機(jī)數(shù),可以說,能不能找到全靠運(yùn)氣,所以對(duì)于各個(gè)節(jié)點(diǎn)來說,這個(gè)世界上,只有隨機(jī)才是真正的公平,實(shí)現(xiàn)隨機(jī)的最好辦法是使用數(shù)學(xué),所有的將軍在尋找共識(shí)的過程,借助了大家都認(rèn)可的數(shù)學(xué)邏輯。
如果不同的將軍先后解出了題,各自先后向這個(gè)網(wǎng)絡(luò)發(fā)布消息,于是各個(gè)節(jié)點(diǎn)都會(huì)收到來自不同節(jié)點(diǎn)發(fā)起的進(jìn)攻或者不進(jìn)攻的消息,那怎么辦的?只有時(shí)間最早的發(fā)起者才是有效的。中本聰巧妙的設(shè)計(jì)了一個(gè)時(shí)間戳的東西,為每個(gè)將軍在解好題的時(shí)間(出塊時(shí)間)蓋上時(shí)間印章。
將軍們那又憑什么要一起做工作量證明呢?中本聰也完全可以設(shè)置一個(gè)獎(jiǎng)勵(lì)機(jī)制,比特幣的獎(jiǎng)勵(lì)機(jī)制是每打包一個(gè)塊,目前是獎(jiǎng)勵(lì)25個(gè)比特幣,當(dāng)然,拜占庭將軍問題的獎(jiǎng)勵(lì)機(jī)制可以是瓜分拜占庭獲得的利益。
對(duì)了,如果有出現(xiàn)背叛怎么辦?
在這個(gè)分布式網(wǎng)絡(luò)里:
- 每個(gè)將軍都有一份實(shí)時(shí)與其他將軍同步的消息賬本。
- 賬本里有每個(gè)將軍的簽名都是可以驗(yàn)證身份的。如果有哪些消息不一致,可以知道消息不一致的是哪些將軍。
- 盡管有消息不一致的,只要超過半數(shù)同意進(jìn)攻,少數(shù)服從多數(shù),共識(shí)達(dá)成。
由此,在一個(gè)分布式的系統(tǒng)中,盡管有壞人,壞人可以做任意事情(不受protocol限制),比如不響應(yīng)、發(fā)送錯(cuò)誤信息、對(duì)不同節(jié)點(diǎn)發(fā)送不同決定、不同錯(cuò)誤節(jié)點(diǎn)聯(lián)合起來干壞事等等。但是,只要大多數(shù)人是好人,就完全有可能去中心化地實(shí)現(xiàn)共識(shí)(Consensus)。
區(qū)塊鏈上的共識(shí)機(jī)制主要解決由誰來構(gòu)造區(qū)塊,以及如何維護(hù)區(qū)塊鏈統(tǒng)一的問題。
拜占庭容錯(cuò)問題需要解決的也同樣是誰來發(fā)起信息,如何實(shí)現(xiàn)信息的統(tǒng)一同步的問題。
到這里也可以知道了,基于互聯(lián)網(wǎng)的區(qū)塊鏈技術(shù),它克服了口頭協(xié)議與書面協(xié)議的種種缺點(diǎn),使用消息加密技術(shù)、以及公平的工作量證明機(jī)制,創(chuàng)建了一組所有將軍都認(rèn)可的協(xié)議,這套協(xié)議的出現(xiàn),拜占庭將軍問題也就完美的得到了解決。
偉大的創(chuàng)新往往是站在前人的肩膀上,中本聰就是各種前沿技術(shù)的整合者,古老的疑難雜癥在這種整合創(chuàng)新下,就變得不再是問題了。