歡迎來到懶區塊百家號,本文由懶區塊整理撰寫,不經過允許,切勿轉載。本系列有十二篇文章,這十二篇文章介紹了區塊鏈技術的簡史、應用、預測和展望。您的每一次關注、轉發、收藏都是我們更新優質內容的源動力。
各位小夥伴們晚上好,在上一篇文章中我們簡單創建了一個醜陋無比的區塊鏈網絡。今天懶區塊想和大家來聊一聊比特幣網絡在設計之初是如何解決去中心化的「雙重消費」問題和「拜佔庭將軍」問題,這兩個問題可以說阻礙了去中心化數據貨幣發展許多年。我們先來看下雙重消費問題:
我們來用一個簡單地案例來解釋一下什麼是「雙重消費」。從前有一個無惡不作的壞人A,有一天A使用了1000塊錢找B買了一個手機,然後趁著交易共識沒做完的時候馬上又去找C買了一臺電腦,此時C還不知道A已經將這1000塊錢花完了。這個時候整個支付系統就會記帳兩筆,分別是購買手機和購買電腦。這個就是「雙重消費」問題,可以簡單地看出,「雙重消費」是電子貨幣才會出現的問題,在現實生活中可以使用防偽技術來解決該問題,而在電子貨幣系統中,無論怎麼加密,始終是一串二進位二維碼。那麼比特幣系統中是如何解決這個問題的呢?比特幣系統通過兩步來解決這個問題:
全網所有節點公告保存帳本;當交易廣播的時候,需要得到足夠多的節點的確認,那麼交易才算完成。
通過這兩點可以解決「雙重支付」問題(即全網的節點收到兩筆交易記錄的時間是有先後順序的,比特幣網絡對每筆記錄都記錄了時間戳,然後通知全網的其他節點,最先佔據超過全網51%節點的記錄即被驗證為真實的,小於51%的記錄會被拋棄掉),這樣處理可以確保數據的完整性,但是可以發現帶來了新的問題,就是使用該算法處理的業務是非實時性的,在區塊鏈網絡節點日益變多的時候,處理一筆交易可能會耗時數十個小時甚至更久,相信在不就的將來該問題可以得到解決。接下來我們來看下「拜佔庭將軍」問題:
我們來簡單應用下「拜佔庭將軍」所面臨的問題:
當年的拜佔庭羅馬帝國國土遼闊,為了防禦,每個軍隊都被分隔得很遠,將軍與將軍之間只能靠信差傳遞消息。拜佔庭帝國軍隊的將軍們必須全體一致決定是否共計某一支敵軍,不過問題是這些將軍在地理上是被分割開的,並且在將軍中存在叛徒。叛徒可以任意行動以達到以下目的:欺騙某些將軍採取進攻行動促成一個不是所有將軍都同意的決定,例如當將軍們不希望進攻時促成進攻行動;或者迷惑某些將軍,使他們無法做出決定
我們可以看出「拜佔庭將軍」問題是對現實時間的模型化,在網際網路的世界中,因為硬體、網絡阻塞或者遭受到惡意攻擊,整個網際網路都會出現不可預料的行為,在整個比特幣支付網絡中必須處理這些失效的問題。
比特幣網絡是通過工作量證明(pow)來解決該問題的,區塊鏈技術在發送信息的時候加入了成本,降低了垃圾信息的傳遞,即每一個節點要傳遞信息必須要經過大量的嘗試和計算才能得出結果,而其他節點只需要少量的成本就可以驗算結果。並且在傳遞消息的時候使用非對稱加密,每個節點收到發起者的信息必須籤名蓋章,確認各自身份,這樣就可以解決古代難以解決的問題。並且在比特幣網絡中還設定了以下的假設:
所有的交易都在P2P網絡上完成每個節點可以隨意加入/離開節點網絡交易不可逆交易可溯源節點網絡上的良性節點數量大於惡性節點數量
好了,上面簡單地描述,相信大家都了解到了比特幣網絡是如何解決「雙重消費」和「拜佔庭將軍」問題。都說虛擬貨幣只是泡沫,不可否認,比特幣等虛擬貨幣的誕生,極大促進了密碼學,網際網路等進步。給歲月以文明,對於虛擬貨幣的對待有壞有好,不過相信在不久的將來,區塊鏈技術會極大促進科技的發展和社會的公平。今天的文章就到這裡了,接下來幾天我們會完善上一篇文章中我們構建的虛擬貨幣。歡迎小夥伴點擊關注,了解更多區塊鏈技術,每晚更新區塊鏈技術相關文章。因為小編能力有限,上述文章存在錯誤的,歡迎小夥伴在評論區指出,優秀的評論還可以獲得懶區塊贈送的小禮物。