通谷易懂区块链技术
想知道更多區(qū)塊鏈技術(shù)知識,請百度【鏈客區(qū)塊鏈技術(shù)問答社區(qū)】
鏈客,有問必答!!
? ? ? ?因?yàn)槊嫦虻淖x者是不想知道具體技術(shù)實(shí)現(xiàn)只想了解區(qū)塊鏈的人群,因此本文避開了一些底層和算法細(xì)節(jié),采用比較主觀的方式來展示筆者對區(qū)塊鏈技術(shù)的感性認(rèn)識。如果你只是對區(qū)塊鏈感興趣,并沒有深入學(xué)習(xí)的打算,或者只是想像我一樣在別人問起來的時候裝逼,本文應(yīng)該是一篇很好的“導(dǎo)論”。
? ? ?總覽
?? ? ? ?區(qū)塊鏈本質(zhì)上是一個去中心化的分布式賬本數(shù)據(jù)庫,在與比特幣相關(guān)的區(qū)塊鏈應(yīng)用中可使用這一術(shù)語,但區(qū)塊鏈技術(shù)可能并不包含“賬本”)。其本身是一串使用密碼學(xué)相關(guān)聯(lián)所產(chǎn)生的數(shù)據(jù)塊,每一個數(shù)據(jù)塊中包含了多次比特幣網(wǎng)絡(luò)交易有效確認(rèn)的信息。
這是區(qū)塊鏈的定義,因此要逐步了解區(qū)塊鏈,我們需要一步步了解如下東西。
??? ? 去中心化
? ? ? ?先來考慮一個中心化集中式處理的過程。你要在某寶上買一部手機(jī),交易流程是:你將錢打給支付寶-支付寶收款后通知賣家發(fā)貨-賣家發(fā)貨-你確認(rèn)收貨-支付寶把錢打給賣家。
? ? ? ? 在這個過程中,雖然你是在和賣家交易,但是這筆交易還牽扯到了除了你和賣家的第三方,即支付寶,你和賣家的交易都是圍繞支付寶展開。因此,如果支付寶系統(tǒng)出了問題便會造成這筆交易的失敗。并且雖然你只是簡單的買了一個手機(jī),但是你和賣家都要向第三方提供多余的信息。因此考慮極端情況,如果支付寶跑路了或者是拿了錢不卻不承認(rèn)你的交易或者是支付寶所在的城市因?yàn)殚_G20把所有人都趕走了(?),那么你就悲劇了。
而去中心化的處理方式就要顯得簡單很多,你只需要和賣家交換錢和手機(jī),然后雙方都聲稱完成了這筆交易,就OK了。
可以看出在某些特定情況下,去中心化的處理方式會更便捷,同時也無須擔(dān)心自己的與交易無關(guān)的信息泄漏。
其實(shí)如果只考慮兩個人的交易并不能把去中心化的好處完全展示出來,設(shè)想如果有成千上萬筆交易在進(jìn)行,去中心化的處理方式會節(jié)約很多資源,使得整個交易自主化、簡單化,并且排除了被中心化代理控制的風(fēng)險。
去中心化是區(qū)塊鏈技術(shù)的顛覆性特點(diǎn),它無需中心化代理,實(shí)現(xiàn)了一種點(diǎn)對點(diǎn)的直接交互,使得高效率、大規(guī)模、無中心化代理的信息交互方式成為了現(xiàn)實(shí)。
當(dāng)然,上述的例子有一個很大的潛在問題:沒有了權(quán)威的中心化代理,怎樣保證每筆交易的準(zhǔn)確性和有效性呢?比如:如果沒有了權(quán)威的中心化代理,張三某一天借了我100塊錢,但是不還錢還不承認(rèn)怎么辦?這里就引出了區(qū)塊鏈的其它特性。
? ? ?兩個基礎(chǔ)難題
? ? ? ?在去中心化以后,整個系統(tǒng)中沒有了權(quán)威的中心化代理,信息的可信度和準(zhǔn)確性便會面臨問題。
問題1:類兩軍問題
? ? ? ?第一次聽說這個問題居然是在TCP的課上,大致說的是有兩個相距很遠(yuǎn)的軍隊(duì)要傳遞信息,紅軍派遣一個信使去跟藍(lán)軍說:“你他娘的把意大利炮拿出來!”。藍(lán)軍收到信息后又派了一個信使去紅軍說:“收到指令!”。然后紅軍又派一個信使去藍(lán)軍說:“知道你收到指令了!”。然后藍(lán)軍又派一個信使去紅軍說:“知道你知道我收到指令了!”。然后紅軍又派一個信使去藍(lán)軍說:“知道你知道我知道你收到指令了!”……然后就沒完沒了了。
圖2:在分布式計(jì)算中在異步系統(tǒng)和不可靠的通道上達(dá)到一致性是不可能的?
在這種情況下,因?yàn)槭屈c(diǎn)對點(diǎn)的通信,雙方不可能在這種情況下達(dá)到信息的一致性。嚴(yán)謹(jǐn)一點(diǎn),就是“在分布式計(jì)算上,試圖在異步系統(tǒng)和不可靠的通道上達(dá)到一致性是不可能的”。
問題2:拜占庭將軍問題
拜占庭羅馬帝國在軍事行動中,采取將軍投票的策略來決定是進(jìn)攻還是撤退,也就是說如果多數(shù)人決定進(jìn)攻,就上去干。但是軍隊(duì)中如果有奸細(xì)(比如將軍已經(jīng)反水故意亂投票,或者傳令官叛變擅自修改軍令),那怎么保證最后投票的結(jié)果真正反映了忠誠的將軍的意愿呢?
拜占庭將軍問題反映到信息交換領(lǐng)域中來,可以理解為在一個去中心的系統(tǒng)中,有一些節(jié)點(diǎn)是壞掉的,它們可能向外界廣播錯誤的信息或者不廣播信息,在這種情況下如何驗(yàn)證數(shù)據(jù)傳輸?shù)臏?zhǔn)確性。
總結(jié)