區塊鏈是什么,如何簡單易懂地介紹區塊鏈?
特別提醒:比特幣采用區塊鏈技術,但是區塊鏈并不等同于比特幣;全篇基于比特幣底層區塊鏈技術講述,所以,部分模型可能不適用于以太坊等。另外,由于文章采用了一定的抽象、類舉的敘事方式,中間或多或少有些地方會跟區塊鏈底層嚴謹的技術實現有出入,如果讓你覺得困惑,可以在評論下方留言或者私信我一起探討。最后,也是受限于自己知識結構的不完整,這篇文章會隨著我對區塊鏈更深入認識后,隨時進行修訂,最后更新時間可參考該回答下方的時間戳。
---
首先不要把區塊鏈想的過于高深,他是一個分布在全球各地、能夠協同運轉的數據庫存儲系統,區別于傳統數據庫運作——讀寫權限掌握在一個公司或者一個集權手上(中心化的特征),區塊鏈認為,任何有能力架設服務器的人都可以參與其中。來自全球各地的掘金者在當地部署了自己的服務器,并連接到區塊鏈網絡中,成為這個分布式數據庫存儲系統中的一個節點;一旦加入,該節點享有同其他所有節點完全一樣的權利與義務(去中心化、分布式的特征)。與此同時,對于在區塊鏈上開展服務的人,可以往這個系統中的任意的節點進行讀寫操作,最后全世界所有節點會根據某種機制的完成一次又依次的同步,從而實現在區塊鏈網絡中所有節點的數據完全一致。
# 問題的由來
我們反復提到區塊鏈是一個去中心化的系統,確實,「去中心化」在區塊鏈世界里面是一個很重要的概念,很多模型(比如賬本的維護、貨幣的發行、時間戳的設計、網絡的維護、節點間的競爭等等等等)的設計都依賴于這個中心思想,那到底什么是去中心化呢?在解釋真正去中心化之前,我們還是先簡單了解下什么是中心化吧。
中心化?
回憶一下你在網上購買一本書的流程:
- 第一步,你下單并把錢打給支付寶;
- 第二步,支付寶收款后通知賣家可以發貨了;
- 第三步,賣家收到支付寶通知之后給你發貨;
- 第四步,你收到書之后,覺得滿意,在支付寶上選擇確認收貨;
- 第五步,支付寶收到通知,把款項打給賣家。流程結束。
你會發現,雖然你是在跟賣家做交易,但是,所有的關鍵流程都是在跟支付寶打交道。這樣的好處在于:萬一哪個環節出問題,賣家和買家都可以通過支付寶尋求幫助,讓支付寶做出仲裁。這就是一個最簡單的基于中心化思維構建的交易模型,它的價值顯著,就是建立權威,通過權威背書來獲得多方的信任,同時依賴權威方背后的資本和技術實力確保數據的可靠安全。
你一定會擺出一個巨大的問號臉 ⊙.⊙?——“通過權威背書來獲得多方的信任,同時依賴權威方背后的資本和技術實力確保數據的可靠安全”,真的可以嘛?!
假如說,支付寶程序發生重大 BUG,導致一段時間內的轉賬記錄全部丟失,或者更徹底一點,支付寶的服務器被金三胖的一個導彈全部炸毀了。而我剛剛轉出去的 100 元找誰說理去,這個時候,你就成了刀殂上的魚肉;支付寶有良心,會勉為其難承認你剛剛轉賬的事實,但他不承認你也沒轍,因為確實連他自己也不知道這筆轉賬是否真實存在。
上述就是中心化最大的弊端——過分依賴中心和權威,也就意味著逐漸喪失自己的話語權。
去中心化?
那么去中心化的形態是什么樣子呢?還是拿剛才那個例子繼續,我們構建一個極簡的去中心化的交易系統,看看我們是如何在網絡上從不認識的賣家手里買到一本書的。
- 第一步,你下單并把錢打給賣家;
- 第二步,你將這條轉賬信息記錄在自己賬本上;
- 第三步,你將這條轉賬信息廣播出去;
- 第四步,賣家和支付寶在收到你的轉賬信息之后,在他們自己的賬本上分別記錄;
- 第五步,賣家發貨,同時將發貨的事實記錄在自己的賬本上;
- 第六步,賣家把這條事實記錄廣播出去;
- 第七步,你和支付寶收到這條事實記錄,在自己的賬本上分別記錄;
- 第八步,你收到書籍。至此,交易流程走完。
剛才“人為刀俎我為魚肉”的情況在這個體系下就比較難發生,因為所有人的賬本上都有著完全一樣的交易記錄,支付寶的賬本服務器壞了,對不起賣家的賬本還存在,我的賬本還存在;這些都是這筆交易真實發生的鐵證。
當然,在這套極簡的交易系統中,你已經發現了諸多漏洞和不理解,比如說三方當中有一個是壞人,他故意記錄了對他更有利的轉賬信息怎么辦;又比如說消息在傳遞過程中被黑客篡改了怎么辦等等等等。這在以往的計算機概論或者計算機網絡書本上中可能都有提及到——“類兩軍”和“拜占庭將軍”問題。這里就不打算贅述,因為暫時跟主線不相關,感興趣的同學可以去 Google 或者百度一下,你只需要知道,在我們下面即將展開講到的區塊鏈系統中,通過巧妙的設計,足以解決上述存在的 BUG。
既然話已說到這份上,相信了解一點技術、特別是有運維背景的同學大概能夠從極簡交易系統中窺視到了更多區塊鏈的一些影子——
- 分布式存儲,通過多地備份,制造數據冗余
- 讓所有人都有能力都去維護共同一份數據庫
- 讓所有人都有能力彼此監督維護數據庫的行為
在我看來,你猜測的基本上沒錯。其實這些就是區塊鏈技術最核心的東西,外人看起來高大上、深不可測,但探究其根本發現就是這么簡單和淳樸。當然,這里面肯定會有很多很多很多細枝末節的技術需要重構。
如果你差不多認同上面的觀點,那我們應該基本上可以達成共識,分布式部署肯定是構建去中心化網絡理所當然的解決方向——通過 P2P 協議將全世界所有節點計算機彼此相互連接,形成一張密密麻麻的網絡;以巧妙的機制,通過節點之間的交易數據同步來保證全球計算機節點的數據共享和一致。
哈哈,說的輕巧,“交易數據這么重要的東西,在一個完全不信任的 P2P 網絡節點中以一種錯綜復雜的方式傳遞,數據的一致性和安全性誰來保證,如果說互相監督,他們到底怎么做到?”
好了,不賣關子了,下面讓我們圍繞這個最最最最直接的問題開始進入到真正區塊鏈的世界,抽絲剝繭看看它到底是如何一步一步形成的,又是如何一步一步穩定運轉。
# 從全球節點到交易數據
這張圖的制作的意義為的是幫助你在宏觀上先快速理解區塊鏈中所涉及到的相關名詞以及他們的層級關系。同時,文章的知識結構和設計思路也大抵上也會按照:
- 首先,將區塊作為最小單位體,講述極簡區塊鏈系統是如何運轉的;
- 接著,進入到比區塊更小單位體——交易記錄,理解區塊鏈是如何處理數據的;
- 最后,將所有知識點柔和在一起,重回到區塊和區塊鏈,完整講述整個工作流程。
希望你在這個引導和結構下有一個比較好的閱讀體驗。Let's go~
# 區塊,混沌世界的起源
既然已經達成共識,所以,我們事先構建好了一個去中心化的 P2P 網絡;同時,為了讓讀者朋友們聽起來更輕松,我先粗暴的規定在這個極簡的區塊鏈系統里,每十分鐘有且僅產生一筆交易。
故事繼續,在節點的視野里,大概每十分鐘會憑空產生一個建立在自己平行宇宙世界的神奇區塊(你可以將區塊想象為一個盒子),這個區塊里放著一些數字貨幣以及一張小紙條,小紙條上記錄了這十分鐘內產生的那唯一一筆交易信息,比如說——“小 A 轉賬給了小 B100 元”;當然,這段信息肯定是被加密處理過的,為的就是保證只有小 A 和小 B(通過他們手上的鑰匙)才有能力解讀里面真正的內容。
這個神奇的區塊被創造出來之后,很快被埋在了地底下,至于埋在哪里?沒有一個人不知道,需要所有計算機節點一起參與進來掘地三尺后才有可能找到(找到一個有效的工作量證明)。顯然,這是一件工作量巨大、成果隨機的事件。但是呢,對于計算機節點來說,一旦從地底下挖出這個區塊,他將獲得區塊內價值不菲的數字貨幣,以及“小 A 轉賬給了小 B100 元”過程中小 A 所支付的小費。同時,對于這個節點來說,也只有他才有權利真正記錄小紙條里的內容,這是一份榮耀,而其他節點相當于只能使用它的復制品,一個已經沒有數字貨幣加持的副本。當然這個神奇的區塊還有一些其他很特別的地方,后面我們會再細細聊。
為了更好的描述,我們將計算機節點從地底下挖出區塊的過程叫做「挖礦」,剛才說了,這是一件工作量巨大、運氣成分較多、但收益豐厚的事兒。
過了一會兒,來自中國上海浦東新區張衡路上的一個節點突然跳出來很興奮的說:“ 我挖到區塊了!里面的小紙條都是有效的!獎勵歸我!” 。雖然此刻張衡路節點已經拿到了數字貨幣,但對于其他計算機節點來說,因為這里面還涉及到其他一些利益瓜葛,他們不會選擇默認相信張衡路節點所說的話;基于陌生節點彼
責任編輯:售電衡衡
-
權威發布 | 新能源汽車產業頂層設計落地:鼓勵“光儲充放”,有序推進氫燃料供給體系建設
2020-11-03新能源,汽車,產業,設計 -
中國自主研制的“人造太陽”重力支撐設備正式啟運
2020-09-14核聚變,ITER,核電 -
探索 | 既耗能又可供能的數據中心 打造融合型綜合能源系統
2020-06-16綜合能源服務,新能源消納,能源互聯網
-
新基建助推 數據中心建設將迎爆發期
2020-06-16數據中心,能源互聯網,電力新基建 -
泛在電力物聯網建設下看電網企業數據變現之路
2019-11-12泛在電力物聯網 -
泛在電力物聯網建設典型實踐案例
2019-10-15泛在電力物聯網案例
-
權威發布 | 新能源汽車產業頂層設計落地:鼓勵“光儲充放”,有序推進氫燃料供給體系建設
2020-11-03新能源,汽車,產業,設計 -
中國自主研制的“人造太陽”重力支撐設備正式啟運
2020-09-14核聚變,ITER,核電 -
能源革命和電改政策紅利將長期助力儲能行業發展
-
探索 | 既耗能又可供能的數據中心 打造融合型綜合能源系統
2020-06-16綜合能源服務,新能源消納,能源互聯網 -
5G新基建助力智能電網發展
2020-06-125G,智能電網,配電網 -
從智能電網到智能城市