———— 發佈時間:2020-07-28 編輯: 閱讀次數:52 ————
前兩堂課我們介紹了區塊鏈的起源和三個主要特點,今天接著回答大家最關心的一個問題:“去中心化”到底是什麼意思?
這裏我想用一個簡單的例子來說明。認識崔哥的人都知道,崔哥是個乒乓球迷, 前些年在日本工作的時候,每年我都會在單位組織“富士杯”,中日選手彙聚一堂,切磋球技,相當熱鬧。現在回到北京,我還是每週帶同事們去附近的乒乓球館打球,偶爾還給小朋友們做做教練。
只要有乒乓球比賽,就涉及到記分問題。假設在第一屆“區塊鏈”杯乒乓球賽上,有兩組選手捉對廝殺。崔哥對戰的是乒壇老將張繼科(請允許我給自己貼金一下),隔壁桌則是張怡寧對福原愛。
在比賽過程中,如何記錄這四組的比分呢?按照傳統方式,我們需要有個集中的大賽組委會,他們負責記錄每場比賽的結果。這,就是“中心化”的記分方式。
但是如果我們沒有足夠的人手來做大賽主委會,又不希望任何一組選手遺忘或者修改比分(譬如崔哥給張繼科打急了想出了篡改比分的歪招),那麼怎麼辦呢?
我們決定採取另外一種辦法,就是每組選手負責記錄自己的比分,同時還記錄所有其他人的比分結果。這也就是說,每個選手都要記錄四個人的結果:
l 崔哥
l 張繼科
l 張怡寧
l 福原愛
這樣,同樣的比分,相當於在每個選手那裏有一個備份。這,就是“分佈式”的記分方法。這樣,如果崔哥想要修改自己的比賽結果,我不僅要修改自己的記錄,還有修改另外三個人的記錄。兩桌還好說,如果有成百上千桌,這個工作量就非常可觀了。
再拿這個例子與區塊鏈做對比,可以把其中的一些概念對應起來:
乒乓球賽 | 區塊鏈 |
選手 | 用戶 |
積分 | 帳本 |
比賽 | 交易 |
組委會 | “中心化” |
選手單獨記賬 | “去中心化” |
簡單來說,外人看起來高大上、深不可測的“去中心化”記賬,探究其根本,就是這麼回事。當然,這裏面涉及到很多很多很多細枝末節的演算法和技術,以後我們還會慢慢介紹。
為什麼區塊鏈要採取這樣的方法?它的設計目標就是防止出現居於中心地位的管理當局。否則一旦大公司大集團控制了管理權,他們就會控制整個平臺,其他使用者就都必須聽命於他們了。同樣以乒乓球賽而言,如果有組委會管理所有結果,那麼萬一組委會中有刻意偏袒、徇私的人,選手們只能乖乖就範。
最後,再用技術語言概括一下“去中心化”記賬的特點:
l 分佈式存儲,通過多地備份,製造數據冗餘
l 讓所有人都有能力都去維護共同一份資料庫
l 讓所有人都有能力彼此監督維護資料庫的行為