衡量“去中心化”的三把尺子
說到區(qū)塊鏈,一個高頻詞是「去中心化」(decentralization),但這個詞的定義卻不清晰。
“去中心化”是區(qū)塊鏈的一個特征,比特幣依靠大量消耗哈希算力來維持比特幣網(wǎng)絡的去中心化。
那么,如何理解「去中心化」?并沒有多少人能真正說清楚。網(wǎng)絡上流行使用下面這三種結(jié)果來解釋所謂的“去中心化”。
這張圖實際展示的網(wǎng)絡中各節(jié)點的連接關(guān)系,是一種網(wǎng)絡拓撲圖。試圖用這三張圖解釋“去中心化”是無力的,對于深度理解“去中心化”沒有本質(zhì)幫助。
以太坊創(chuàng)始人Vitalik Buterin 寫了一篇文章試圖解釋“去中心化”概念。他從軟件角度,分三個維度進行討論。而這個三維維度,也是判斷一個東西是否是“去中心化”的三把尺子:
· 架構(gòu)層: 在物理世界里,一個系統(tǒng)由多少臺計算機組成?在這個系統(tǒng)運行的過程中,可以忍受多少臺計算機的崩潰而系統(tǒng)依然不受影響?
· 政治層: 有多少個人或者組織,對組成系統(tǒng)的計算機擁有最終的控制權(quán)?
· 邏輯層: 從這個系統(tǒng)所設計的接口和數(shù)據(jù)結(jié)構(gòu)來看,它更像一臺完整的單一設備,還是更像一個由無數(shù)單位組成的集群?——這個維度可能比較抽象,不太好理解,我們可以用另一種比較簡單的方式來做判斷: 如果把這個系統(tǒng)分成兩半,兩部分里同時包含生產(chǎn)者和消費者,那么這兩部分能繼續(xù)作為獨立單元完整地運行下去嗎?
對標比特幣,比特幣之所以被稱之為去中心化是因為:
第一,架構(gòu)層,交易清算是分散在比特幣網(wǎng)絡中的若干節(jié)點上,而不是依賴于某些中心化服務器。低于51%的節(jié)點故障,仍然不會影響比特幣系統(tǒng)運行。
第二,政治層,關(guān)于比特幣程序的重大修改,需要節(jié)點投票,才允許生效。
第一個去中心概念好理解,分布式網(wǎng)絡在中心化程序中早已存在,如機器集群,異地災備等。第二個去中心化,通過民主投票決策實現(xiàn)自治,不再有傳統(tǒng)公司的CEO決策,決策權(quán)轉(zhuǎn)移到網(wǎng)絡中的所有節(jié)點。但政治層的去中心化,太理想主義,被現(xiàn)實欺負得慘不忍睹,這要從礦工說起。
礦池-大型算力機構(gòu)
在比特幣創(chuàng)始人中本聰設計比特幣時,最開始的設想是1 CPU 1算力,每個人只要拿個電腦就可以來參與挖礦。中本聰就是用他的電腦挖出了比特幣的創(chuàng)世區(qū)塊,并獲得了50個btc的獎勵。但隨著比特幣價值被認可,從1萬個比特幣兌換25美元的披薩券開始,比特幣的價格不斷攀升。市場認為有利可圖,大量新算力涌進比特幣挖礦中來,挖礦競爭變得越來越激烈。
早期通過CPU挖礦,后面開始使用GPU,后續(xù)已經(jīng)發(fā)展到專業(yè)為挖礦設計的ASIC芯片。隨著比特幣價格的上漲,更多的人參與挖礦,節(jié)點競爭非常激烈,全網(wǎng)算力猛漲。結(jié)果是每挖出一個區(qū)塊的難度越來越大,并且還需要在很多礦工之間進行競爭,意味著即便挖出一個區(qū)塊,也不一定成為主鏈上的一個區(qū)塊。長時間的碰撞能夠撞出一個有效區(qū)塊,那就是撞大運了。1萬個礦工,競爭一個區(qū)塊,最終只有一個幸運礦工能獨享區(qū)塊比特幣獎勵,其他礦工則顆粒無收。全網(wǎng)算力過高時,礦工的收益全憑靠天吃飯。
糟糕的是,即使你的礦機算力非常高,但別人有比你有更強悍的礦機,算力更高。可能的結(jié)果是你一個月都沒能獲得區(qū)塊獎勵,無收入。
怎么保持穩(wěn)定收益,降低喝西北風風險了呢?英國人為了降低出海風險,催生了保險公司。在全網(wǎng)算力提升到單個節(jié)點或者少數(shù)節(jié)點無法在比特幣網(wǎng)絡中獲得區(qū)塊獎勵時,促使一些極客,開發(fā)出一種可以將少量算力合并聯(lián)合運作挖礦的方法,使用這種方式連接起來的節(jié)點,便組成了一個礦池,抱團取暖。
下圖是2018年比特幣礦池算法份額,比特幣算力完全在礦池手中。
礦池的出現(xiàn),使得比特幣在政治層的去中心化被打破。
ghash.io成立于2013年7月份,在其鼎盛時期(2014年7月份),該礦池的算力一度超過了全網(wǎng)51%的臨界值,當時其也引發(fā)了社區(qū)對51%攻擊的擔憂,在社區(qū)的強烈呼吁下,部分礦工撤離了ghash.io礦池,才使其回落到全網(wǎng)42%算力的水平。
51%的算力攻擊,使得比特幣自治能力被集中到一個或幾個算力集團手中,趨向中心化。
擴容之爭破壞民主
另外一個最具代表的例子是比特幣擴容之爭,為何預設的民主決策自治未能讓擴容方案成功實施。
從軟件角度上,是由比特幣程序的升級投票邏輯所制衡,簡單地將當比特幣程序出現(xiàn)Bug或者需要添加新功能時,由比特幣的核心開發(fā)組 Bicoin core,簡稱 Core 組提出解決方案,節(jié)點通過區(qū)塊頭標記投票的方式進行,而有能力在區(qū)塊頭標記投票的也只有礦工(礦池)。從這里我們可以得出四點結(jié)論:
· 比特幣程序修復Bug或修改協(xié)議由 Core 開發(fā)組決定
· 比特幣程序更新是否生效由礦池決定
· 不是擁有比特幣就有投票權(quán)
· Core開發(fā)組和礦工可以聯(lián)合修改程序
從這里不難看出,比特幣協(xié)議是可以修改的。如果有一天,沒有區(qū)塊獎勵,只有交易手續(xù)費時,Core 開發(fā)組同礦工們協(xié)商:以后得交易必須支付手續(xù)費2.5‰給礦工,1‰給Core開發(fā)者。如果雙方同意,這是可以成為現(xiàn)實的。所以只有 Core開發(fā)組和礦工不聯(lián)合作惡,比特幣才能保持穩(wěn)定性。
再回到比特幣擴容之爭,礦池和Core開發(fā)組斗智斗勇,一系列的擴容方案均未被成功實施。這里最大的原因是礦池和Core開發(fā)組這兩個中心化間的協(xié)作無法達成共識,各自為各自的利益考慮。但遭殃的是用戶,用戶沒有參與權(quán),只有使用權(quán)。大量交易堵塞,交易遲遲未能被確認,交易費上升。
講到這里,你也許有了自己的結(jié)論。沒錯,比特幣程序決策權(quán)被少數(shù)人(礦池和Core開發(fā)者)把持,未能實現(xiàn)完全去中心化。悲劇的始作俑者是PoW算力,成也PoW敗也PoW。