量化比特幣和以太坊的去中心化程度
比特幣和以太坊,相對於它們的替代品而言,兩者的較大的優勢被廣泛理解為去中心化。然而,儘管這一特性的重要性得到了廣泛承認,但大多數關於這一話題的討論都缺乏量化。如果我們能夠達成一種測定協議,我們就可以:
測量出給定區塊鏈系統的去中心化程度;
確定給定係統的修改,會對去中心化程度造成多少改進或者減損;
設計優化算法和體系結構來較大化去中心化程度;
在這篇文章中,我們提出了最小值中本聰係數( minimum Nakamoto coefficient),以此作為一個簡單的系統去中心化數量測度,測量方法受到了著名的基尼係數以及洛倫茲曲線的啟發。
其基本思想是(a)列舉去中心化系統的基本子系統,(b)確定需要多少實體來控制每個子系統,(c)然後使用這些當中的最小值,作為系統去中心化的衡量方式。這個最小值中本聰係數的值越高,說明系統的去中心化程度越高。
為了讓大家更好地理解這個定義,我們首先給出基尼係數以及洛倫茲曲線相關概念的一些背景,然後給出一些圖形以及計算,根據這些度量來查看加密貨幣生態系統當中的去中心化情況。然後我們討論這種去中心化測量概念,作為衡量比特幣和以太坊的基本子系統的綜合測量。我們最終會將這個最小值中本聰係數作為衡量廣泛區塊鏈系統的去中心化程度的方法,並討論改進這個係數的方法。
洛倫茲曲線和基尼係數
儘管兩者通常關注的是不同的政治派別,但在“過於不平等”以及“過於中心化”的概念之間有著驚人的相似之處。具體來說,我們可以認為財富分配的不均勻性是高度不平等的,權力的非均勻分配則是高度集中的。
經濟學家們早就在使用這兩種工具來測量人口的分佈不均勻:勞倫茲曲線和基尼係數。洛倫茲曲線的基本概念如下圖所示:
上圖中的洛倫茲曲線為紅線部分。基尼係數則是從0增加到1.圖來自Matthew John 。
基尼係數的方程如下所示:
這個係數也可以從連續分佈和離散分佈的個人實體股中得到計算(見這裡的方程)。
直觀地說,資源分佈越均勻,基尼係數越接近於零。反之,資源分配越傾向於一方,基尼系統就越接近於1 。
對此,我們提出:在一個高度集中的G=1的中心化系統當中,只有一個決策者或實體能夠決定係統的走向,相反,在一個高度去中心化的G=0的系統當中,就會有很多的參與者能共同決定係統的發展。因此,低基尼係數意味著高的去中心化程度。
加密貨幣:基尼係數以及洛倫茲曲線
為了讓大家直觀地了解這兩種概念,讓我們先查看洛倫茲曲線以及基尼係數的一個簡單例子:加密貨幣市值的財富分佈。為此,我們採用了2017年7月15日市場top 100的數字貨幣市值快照,計算每個幣種的市場佔有率,並用它作為一個與基尼係數相關的洛倫茲曲線:
(來源:https://coinmarketcap.com)
如果我們衡量市值top 100的加密貨幣市場資本總值中心化程度,那麼它的基尼係數為0.91。這符合我們的看法,2017年7月份當中,加密貨幣市場的總市值當中有70%是被兩大加密貨幣所佔據的,它們就是比特幣和以太坊。
去中心化系統是由子系統組成的
為了讓這個概念應用到公鏈領域,我們需要區分出一個去中心化系統和一個去中心化子系統之間的區別。具體而言,去中心化系統(例如比特幣)是由一組去中心化子系統(如挖礦、交易所、節點、開發人員、客戶端等等)組成的。
下面是構成比特幣的六個子系統:
我們將利用這六個子系統來說明如何衡量比特幣或以太坊的去中心化程度。請注意:你可以決定使用不同的子系統,這取決於你所認為的,對於整個系統的去中心化程度至關重要的子系統。
現在,有些人可能會爭辯說,去中心化子系統的選擇是一個問題;例如,挖礦對比特幣而言是必要的,而交易所實際上並不是比特幣協議的一部分,但它們也是非常重要的。
讓我們假設,一個給定的個體能夠確定一個去中心化系統的基本去中心化子系統。然後,我們可以規定,如果一個人可以危及任何一個基本的去中心化子系統,那麼他就可以危及這個去中心化系統。
量化比特幣和以太坊的去中心化程度
根據這些定義,現在讓我們計算出比特幣以及以太坊的挖礦、客戶端、開發者、交易所、節點以及所有者子系統的洛倫茲曲線以及基尼係數。然後根據基尼係數以及洛倫茲曲線的測度,我們就可以看出各自的中心化程度。
下面是比特幣的洛倫茲曲線:
下面是以太坊的洛倫茲曲線:
讓我們依次參照上述圖形中的6個面板來討論這些子系統。
礦業去中心化
如圖片左上角的面板所示,通過測量過去24小時的區塊獎勵,我們看到比特幣挖礦的去中心化程度是驚人的。以太坊挖礦則相對較為集中。這些值會有相當高的變動,所以我們可以通過取過去7天或30天的平均值來跟踪它。
客戶端去中心化
正如圖片的中上角面板所示,大多數比特幣用戶使用的是Bitcoin Core客戶端,Bitcoin Unlimited則是第二流行的客戶端。這意味著比特幣的客戶端代碼中心化程度相當高,基尼係數達到了0.92。相比之下,有76%的用戶運行了geth客戶端,另有16%的用戶使用的Parity客戶端,以太坊的客戶端基尼係數也達到了0.92,這兩大代碼庫占到了生態系統的大部分。
開發者去中心化
在右上角面板中,我們可以看到Bitcoin Core客戶端有很多的工程師在提交代碼共享。雖然提交參數對於貢獻衡量標準來說肯定是不較精確的,定向來看,少部分的工程師對Bitcoin Core的代碼工作做出了絕大部分的貢獻。對於以太坊的geth客戶端,其開發則顯得更為集中,只有兩名開發者在做客戶端的代碼工作。
交易所去中心化
比特幣和以太坊在各大交易所的交易量有很大的差異,正如相應的基尼係數。但我們通過過去24小時的快照計算了基尼係數,以便在左下面板中說明。
節點去中心化
比特幣和以太坊的去中心化程度的另一度量(底部中間面板)是確定各自節點的分佈情況。
所有權去中心化
面板的右下角,我們將對比比特幣及以太幣的所有權去中心化程度,方法是通過地址。
取基尼係數較大值:一種簡陋的區塊鏈去中心化數量測度
我們能否把這些子系統的去中心化數量測度合併成系統去中心化程度的數量測度?一種簡單的方式,就是取所有子系統基尼係數的較大值,正如下圖所示:
因此,通過這一措施,比特幣和以太坊的基尼係數較大值都約等於0.92,因為兩者的代碼庫都是非常集中的(比特幣的Bitcoin Core,以太坊的geth)。
關鍵的是,不同的基本子系統選擇將改變這些值。例如,某人可認為,單一的代碼庫並不會影響系統的去中心化。如果是這樣的話,比特幣的較大基尼係數將改進到0.84,而新的去中心化瓶頸在於節點分佈情況。
我們並沒有想當然地認為,這六個子系統的選擇就是較佳的去中心化程度測量子系統,我們只是想收集一些數據來顯示這種計算是什麼樣子的。我們認為,基尼係數較大值數量測度能夠指出可能的去中心化瓶頸的正確方向。
最小值中本聰係數:改進版的區塊鏈去中心化數量測度方案
然而,基尼係數較大值存在明顯的問題,事實上,每一個基尼係數只能限制於0-1的範圍,這意味著它無法直接反應出系統妥協所要求的個人或實體數量。
具體來說,假設有一個區塊鍊子系統,其有1000個參與者,它的基尼係數為0.8,另一個子系統有10位礦工,其基尼係數只有0.7,結果可能是僅有3位礦工的作惡,其對系統的危害程度,卻要比57家交易所作惡的危害更大,這意味著基尼係數較大值會指出交易所是去中心化的瓶頸,而不是礦工。
克服這一問題有很多種方法。例如,我們可以在合併不同的子系統之前,對不同對子系統提出原則性強的權重。
另一種方法是基於洛倫茲曲線定義一個相似的數量測度,我們稱之為“中本聰係數”。下面這個圖表當中,給定的子系統的中本聰係數為8,因為它需要8個實體來實現51%的控制條件。
也就是說,我們定義中本聰係數是一個給定子系統滿足51%總容量所需的實體最小值數量。根據採用最小值,我們將其命名為“最小值中本聰係數”,即能讓系統妥協,參與實體所需的最小值數量。
中本聰係數代表了能讓一個子系統妥協的最小數目實體對象。而最小值中本聰係數則是取所有子系統當中的最小的中本聰係數。
我們還可以定義一個“修正過的中本聰係數”,如果51%並不是每個子系統能夠被妥協的閾值。例如,可能需要75%的交易所才能對系統帶來嚴重的破壞,而礦工只需要滿足51%的閾值。
現在,我們可以使用前面部分所得的洛倫茲曲線,來計算以太坊和比特幣的中本聰係數。下面是以太坊geth客戶端的一個計算實例。我們可以看到,我們只要掌握這2名開發者,就可以滿足geth 51%的控制調節,因此其中本聰係數為2 。
為了說明這個概念,以下的圖片再次把比特幣和以太坊的所有子系統都計算了一遍,而這一次是用中本聰係數來表示:
下面這個表,我們組合了每個子系統的中本聰係數:
我們可以看到,基於這些基本的子系統,我們可以說,比特幣和以太坊的中本聰係數均為1。具體而言,假設Bitcoin Core或者geth代碼庫遭遇麻煩,就會連累網絡超過51%的客戶端,這就導致其各自網絡會陷入危險之中。
想要改善以太坊,就意味著需要讓其他客戶端(例如Parity)得到更多的市場份額,而接下來的瓶頸則是開發者或礦業中心化問題。想要改善比特幣,同樣需要讓其他客戶端(例如btcd、 bcoin等)得到更廣泛的採用。
最小值中本聰係數取決於子系統的定義
我們認識到,有些人可能會爭辯說,比特幣單一客戶端的高佔有率不會影響比特幣的去中心化,或者說這種集中度是必要的。我們在這個問題上沒有立場,因為採取不同的基本子系統,我們可以得出不同的去中心化數量測度。
例如,如果某人認為“創始人和發言人”是一項重要的子系統,那麼以太坊的最小值中本聰係數就是1,因為Vitalik Buterin的錯誤選擇將會連累以太坊。
相反,如果某人認為“有實力參與礦業的國家數量”是一個重要的子系統,那麼比特幣多最小值中本聰係數就是1,假設中國政府鎮壓比特幣挖礦,那麼就會導致51%以上的比特幣挖礦算力被破壞。
選擇哪一個子系統作為評定一個特定去中心化系統的必要成分,這將是本文範圍之外的主題。然而,值得注意的是,“創始人和發言人”以及“中國礦工”是以太坊和比特幣這兩種鏈的不同威脅因素。因此,我們認為,一定程度的生態系統多樣性可以提高系統的去中心化程度。
結論
很多人說,去中心化是比特幣和以太坊這類系統更為重要的性質。如果這是真的,那麼能夠量化去中心化將是至關重要的。最小值中本聰係數就是這樣的一種嘗試,當這種係數增加時,系統妥協所需的最小實體數量就會增加。我們認為這符合去中心化的直覺概念。
一個能夠明確量化去中心化的數量測度是重要的原因有三:
測量。第一點,像這樣的度量可以明確計算出來,隨時間記錄下來,並且顯示在儀表板上。這使得我們能夠跟踪子系統和整體系統的去中心化歷史趨勢。
改進。其次,就像我們衡量績效一樣,衡量中本聰係數可允許我們進行改善或降低系統的中心化程度。然後,我們可以將去中心化的變化,歸因於個人代碼的部署或其他類型的網絡活動。例如,當我們遇到稀缺資源問題時,我們可以衡量出部署1000個節點或僱傭兩個新的客戶端開發者對去中心化方面是否會有更多的改進。
優化。最後,也是更為重要的一個因素,一個可量化的目標函數(在數學意義上)決定了任何優化過程的結果。表面上類似的目標函數可以產生非常不同的解決方案。如果我們的目標是優化去中心化系統的去中心化水平,我們需要的是像洛倫茲曲線、基尼係數、中本聰係數這樣的量化指標。
我們認識到,關於去中心化系統的哪些子系統是必不可少的,這裡還有很大的爭論空間。然而,提出必要的子系統,我們現在可以生成一個洛倫茲曲線以及一個中本聰係數,看看這些子系統是否是作為整體系統去中心化的瓶頸。
因此,我們認為最小值中本聰係數是對量化去中心化的有用一步。
轉貼自: 煉數成金
留下你的回應
以訪客張貼回應