4.8 共識演算法的社會學探討

xiaohuanglv發表於2018-08-25

對於分散式系統的拜占庭問題,從電腦科學的角度,FLP與CAP定理已經告訴我們無解。研究人員及科學家只有從其他 地方尋找靈感。其實並不用花太多時間,他們就會發現,真實的人類世界就是一個分散式系統。如果科技暢銷書《三體》的世界真的存在,那麼太陽系和三體人所在 半人馬座的星球同時發生了爆炸,對於我們地球人而言,肯定是太陽系的爆炸先發生,因為光肯定是先到達地球。而在三體人看來,他們會首先觀測到半人馬座的爆 炸。對於同樣的事件,不同的系統接收到事件的順序是不一樣的。不同的系統執行速度也是不一樣的。再加上通訊的通道是有問題的。在上面三體人的例子裡,我們 假設光線的傳遞是毫無障礙的。但是如果光線被傳播途中的黑洞給吞噬了,訊息永遠接收不到怎麼辦?

比特幣的天才之處在於參照人類社會的組織方式和運作方式,引入了共識機制。一個交易的成立與否,也就是分散式賬本的記賬權,經由特定共識機制達成的共識來決定。共識,是一個典型的社會學概念。本章中描述的各種共識演算法,讀者應該都有似曾相識的感覺。

PoW,我們可以叫它“范進中舉”。范進用了大半輩子學習一種無用的八股文寫作,如同比特幣礦工用算力來算題,關鍵是算的題毫無意義。有朝一日,運氣好,就可以有權打包所有他認可的交易。

PoS是使用者要預先放入一些利益,這是不是很像我們現實世界中的股份制。人們把真金白銀兌換成股份,開始創業。誰的股份多,誰的話語權就大。

DPoS機制,特別像我們的董事會。選舉出代表,代表股東的利益。被選出的代表,一般來說,成熟老練、閱歷豐富。不但能快速地處理日常事務,同時也能很好地保護股東的利益。

Paxos、Raft、PBFT則很像我們生活中的操練佇列,通過互相間的訊息、口令來達成一致。每排的排頭作為 Leader,而每排的其餘人都以排頭為目標,調整自己的行動。瑞波共識演算法,初始狀態中有一個特殊節點列表,就像一個俱樂部,要接納一個新成員,必須由 51%的該俱樂部會員投票通過。共識由核心成員的51%權力投票決定,外部人員則沒有影響力。由於該俱樂部由“中心化”開始,它將一直是“中心化的”,而 如果它開始腐化,股東們什麼也做不了。與比特幣及點點幣一樣,瑞波系統將股東們與其投票權隔開,因此比其他系統更中心化。

如果我們去看Lamport關於分散式系統共識的論文,就會發現論文是以議員、法案和信使作為闡述理論的樣例,讀起來不太像一篇計算機論文。

在此可以做一個總結了。傳統的、純正的計算機演算法對分散式系統的拜占庭問題已經無處著力了(參考FLP與CAP定 理)。所以在分散式系統的研究中引入了一些社會學的理論和概念,包括上述的博弈論,生物學原理,等等。我們可以把每一個計算機節點想象成一個單元。而計算 機網路就是一個個單元組成的社會,我們該如何給這個計算機節點組成的社會設計規則呢,以保證:

·少量節點太慢,或者故障崩潰的情況下,整個網路還能輸出正確的結果;

·整個網路的響應不能太慢。買一杯咖啡要等一小時是不可接受的;

·計算機網路出現分割槽(網路上的某些節點和其餘節點完全斷開)的時候,仍然能夠穩定輸出正確的結果;

·整個系統能夠穩定地執行,輸出穩定的結果。

我們可以借鑑人類歷史上的社會機制、激勵機制,達成上述的功能。我們有理由相信,網際網路或者分散式網路系統與現實的社會運作有著千絲萬縷的聯絡,正因為如此,區塊鏈的發展並不是冥冥之中的產物。

來源:我是碼農,轉載請保留出處和連結!

本文連結:http://www.54manong.com/?id=91

'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646208", container: s }); })();
'); (window.slotbydup = window.slotbydup || []).push({ id: "u3646147", container: s }); })();

相關文章