工作量證明PoW 真的是去中心化的嗎

買賣虛擬貨幣
大家好,我是虞雙齊,這篇文章是關於區塊鏈共識演算法系列課文章。上一篇文章《共識機制-Pow-算力與挖礦難度》中,講解Pow算力概念。這篇文章是講解去中心化概念以及PoW算力引發的中心化悲劇。衡量“去中心化”的三把尺子說到區塊鏈,一個高頻詞是「去中心化」(decentralization),但這個詞的定義卻不清晰。“去中心化”是區塊鏈的一個特徵,比特幣依靠大量消耗雜湊算力來維持比特幣網路的去中心化。

那麼,如何理解「去中心化」?並沒有多少人能真正說清楚。網路上流行使用下面這三種結果來解釋所謂的“去中心化”。

這張圖實際展示的網路中各節點的連線關係,是一種網路拓撲圖。試圖用這三張圖解釋“去中心化”是無力的,對於深度理解“去中心化”沒有本質幫助。

以太坊創始人Vitalik Buterin 寫了一篇文章試圖解釋“去中心化”概念。他從軟體角度,分三個維度進行討論。而這個三維維度,也是判斷一個東西是否是“去中心化”的三把尺子:

· 架構層: 在物理世界裡,一個系統由多少臺計算機組成?在這個系統執行的過程中,可以忍受多少臺計算機的崩潰而系統依然不受影響?
· 政治層: 有多少個人或者組織,對組成系統的計算機擁有最終的控制權?
· 邏輯層: 從這個系統所設計的介面和資料結構來看,它更像一臺完整的單一裝置,還是更像一個由無數單位組成的叢集?——這個維度可能比較抽象,不太好理解,我們可以用另一種比較簡單的方式來做判斷: 如果把這個系統分成兩半,兩部分裡同時包含生產者和消費者,那麼這兩部分能繼續作為獨立單元完整地執行下去嗎?

對標比特幣,比特幣之所以被稱之為去中心化是因為:

第一,架構層,交易清算是分散在比特幣網路中的若干節點上,而不是依賴於某些中心化伺服器。低於51%的節點故障,仍然不會影響比特幣系統執行。

第二,政治層,關於比特幣程式的重大修改,需要節點投票,才允許生效。

第一個去中心概念好理解,分散式網路在中心化程式中早已存在,如機器叢集,異地災備等。第二個去中心化,透過民主投票決策實現自治,不再有傳統公司的CEO決策,決策權轉移到網路中的所有節點。但政治層的去中心化,太理想主義,被現實欺負得慘不忍睹,這要從礦工說起。

礦池-大型算力機構

在比特幣創始人中本聰設計比特幣時,最開始的設想是1 CPU 1算力,每個人只要拿個電腦就可以來參與挖礦。中本聰就是用他的電腦挖出了比特幣的創世區塊,並獲得了50個btc的獎勵。但隨著比特幣價值被認可,從1萬個比特幣兌換25美元的披薩券開始,比特幣的價格不斷攀升。市場認為有利可圖,大量新算力湧進比特幣挖礦中來,挖礦競爭變得越來越激烈。

早期透過CPU挖礦,後面開始使用GPU,後續已經發展到專業為挖礦設計的ASIC晶片。隨著比特幣價格的上漲,更多的人參與挖礦,節點競爭非常激烈,全網算力猛漲。結果是每挖出一個區塊的難度越來越大,並且還需要在很多礦工之間進行競爭,意味著即便挖出一個區塊,也不一定成為主鏈上的一個區塊。長時間的碰撞能夠撞出一個有效區塊,那就是撞大運了。1萬個礦工,競爭一個區塊,最終只有一個幸運礦工能獨享區塊比特幣獎勵,其他礦工則顆粒無收。全網算力過高時,礦工的收益全憑靠天吃飯。

 糟糕的是,即使你的礦機算力非常高,但別人有比你有更強悍的礦機,算力更高。可能的結果是你一個月都沒能獲得區塊獎勵,無收入。

怎麼保持穩定收益,降低喝西北風風險了呢?英國人為了降低出海風險,催生了保險公司。在全網算力提升到單個節點或者少數節點無法在比特幣網路中獲得區塊獎勵時,促使一些極客,開發出一種可以將少量算力合併聯合運作挖礦的方法,使用這種方式連線起來的節點,便組成了一個礦池,抱團取暖。

下圖是2018年比特幣礦池演算法份額,比特幣算力完全在礦池手中。

礦池的出現,使得比特幣在政治層的去中心化被打破。

ghash.io成立於2013年7月份,在其鼎盛時期(2014年7月份),該礦池的算力一度超過了全網51%的臨界值,當時其也引發了社羣對51%攻擊的擔憂,在社羣的強烈呼籲下,部分礦工撤離了ghash.io礦池,才使其回落到全網42%算力的水平。

51%的算力攻擊,使得比特幣自治能力被集中到一個或幾個算力集團手中,趨向中心化。

擴容之爭破壞民主

另外一個最具代表的例子是比特幣擴容之爭,為何預設的民主決策自治未能讓擴容方案成功實施。

從軟體角度上,是由比特幣程式的升級投票邏輯所制衡,簡單地將當比特幣程式出現Bug或者需要新增新功能時,由比特幣的核心開發組 Bicoin core,簡稱 Core 組提出解決方案,節點透過區塊頭標記投票的方式進行,而有能力在區塊頭標記投票的也只有礦工(礦池)。從這裡我們可以得出四點結論:

· 比特幣程式修復Bug或修改協議由 Core 開發組決定
· 比特幣程式更新是否生效由礦池決定
· 不是擁有比特幣就有投票權
· Core開發組和礦工可以聯合修改程式

從這裡不難看出,比特幣協議是可以修改的。如果有一天,沒有區塊獎勵,只有交易手續費時,Core 開發組同礦工們協商:以後得交易必須支付手續費2.5‰給礦工,1‰給Core開發者。如果雙方同意,這是可以成為現實的。所以只有 Core開發組和礦工不聯合作惡,比特幣才能保持穩定性。

再回到比特幣擴容之爭,礦池和Core開發組鬥智鬥勇,一系列的擴容方案均未被成功實施。這裡最大的原因是礦池和Core開發組這兩個中心化間的協作無法達成共識,各自為各自的利益考慮。但遭殃的是使用者,使用者沒有參與權,只有使用權。大量交易堵塞,交易遲遲未能被確認,交易費上升。

講到這裡,你也許有了自己的結論。沒錯,比特幣程式決策權被少數人(礦池和Core開發者)把持,未能實現完全去中心化。悲劇的始作俑者是PoW算力,成也PoW敗也PoW。


來源:公眾號(區塊鏈技術研究社

作者:虞雙齊

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;