從疫情防治講解中心化、分佈式、去中心化和《三體》中存在的狀態機

今日推薦 | 從疫情防治講解中心化、分佈式、去中心化和《三體》中存在的狀態機

免責聲明:本文旨在傳遞更多市場信息,不構成任何投資建議。文章僅代表作者觀點,不代表火星財經官方立場。

對於剛剛接觸區塊鏈的朋友甚至接觸區塊鏈很久的業內人士,也常常對區塊鏈中的很多概念搞不清楚。今天從最近的疫情防治為例深入淺出的講解下中心化、去中心化和分佈式這三個概念。

疫情出來之後,國家調配醫療資源、修改假期時間、疫情嚴重的湖北等省份採取重要措施,這是中心化的方式。

可以看到中心化的調控方式的優點,就是效率非常高,國內外網上瘋傳的七天建設好一個可以容納1000人床位的醫院,也是這個中心化系統的效率體現之一。美國脫口秀還出來段子“七天,我家裡的網壞了,現在一週過去了還沒有修好”

同時,上層建築的意志表達後,在中心網絡中的各個省市高效率的運轉也是中心化協同工作的一種體現

分佈式的協作在疫情期間也有很好的體現,比如不同地區的各個居民小區自發半自發的宣傳隔離防護知識,將疫情嚴重性和防護措施傳遞給一個一個的居民,家中居民社區自發組織捐贈物資轉移到病毒肆虐最嚴重的地方,就算是分佈式的網絡協同。當然,現在各位讀者很多還自我隔離在房間之中,通過互聯網協同辦公,被稱為“分佈式辦公”。這也是分佈式的協同作業。

通過以上例子,大家不難理解,中心化和分佈式。

下面講回區塊鏈。首先明白幾點。

第一,去中心化系統是分佈式系統的一種,分佈式系統的範圍更寬一些。所以有人說“去中心化是分佈式,分佈式不是去中心化”,這種說法當然沒有錯,只是不夠清楚。

第二,去中心化系統中可以有中心化應用,反過來也可以,中心化系統中可以有去中心化應用;

第三,去中心化和分佈式都不是區塊鏈的創造,在區塊鏈誕生之前早就已經有了。

關於以上三點,下面會逐步展開並做出解釋。

中心化的系統有哪些問題?

不像教科書一般一一列舉,舉幾個簡單的例子。

比如一個遊戲裡的遊戲幣通貨膨脹非常嚴重,公司決定的,用戶的建議是沒有用的。除非決定不玩兒這個遊戲,不然這種通脹是要忍受的。如果遊戲公司突然改了其他關鍵的好玩兒的技能參數,這個用戶也沒有什麼發言權,沒有合理的渠道進行修改——你不能投票決定,除非你把遊戲公司買下來(一部分),進入董事會去投票。

比如美國的量化寬鬆,很多人不滿意,尤其是已經退休的老人,他們的錢購買力下降,變得不值錢了,但是,他們的意見沒有用。同樣,即使別的國家擁有很多美元,比如外匯儲備,但是依然不能影響美國的量化寬鬆政策。除非選擇放棄美元,錢不值錢的弊病是不能逃脫的。

去中心化:

很多區塊鏈的擁護者,不滿現在中心化的治理方式,渴望新的治理方式。於是有個所謂的去中心化。

去中心化不是說全自動化讓機器決定一切,不能有人為的干預,也並不是說已經制定的規則不能修改,而是規則的修改需要用去中心化的方法來完成。區塊鏈的世界裡用挖礦投票,用持幣者投票決定。這種投票的機制也就是所謂的共識機制。

為什麼說分佈式系統未必是去中心化的?

分佈式不一定是去中心化的,分佈式系統即使運行在幾十萬臺服務器上,也不一定是去中心化的,比如百度、谷歌的搜索引擎服務器,這些服務全部屬於這些公司。分佈式系統但是屬於中心化機構,不是去中心化。

給大家出個題目:比特幣出現的2009年1月份,是不是去中心化的?

不是,因為那時候就中本聰一個人在挖幣,也就是在維護網絡。去中心化的系統一定是分佈式的。只運行在一臺服務器上,這不是去中心化。

現在是,因為全球有足夠多的節點維護網絡。有足夠的多的用戶和開發者支持和維護這個系統。

分佈式的平臺上可以運行中心化的應用,可以運行去中心化的應用。

​中心化的平臺上可以運行分佈式的應用,可以運行中心化的應用。

以Dapp為例,所謂的去中心化應用,目前大多數是有背後的公司實體進行運營,中心化的治理。再比如微軟曾經允許用戶用BTC購買windows系統,這是使用了去中心化的支付系統也就是btc的支付方式。如果淘寶、亞馬遜等等允許用戶使用比特幣進行支付,也屬於中心化的平臺運行去中心化的應用。聯盟鏈當然也屬於分佈式的應用,因為聯盟鏈是幾個幾十個公司的機構所做出來的許可鏈,所以也是分佈式的系統,但是嚴格意義上來講算不上去中心化系統。

下面涉及一些計算機理論,分佈式系統的知識,各位讀者也可以深入瞭解下。

Eth和Btc的系統都是屬於交易驅動分佈式的狀態機系統(state machine)。

這種狀態機的模式的特點是系統中所有的機器重複做同一組操作,有一定的冗餘,去維護系統的一致性。在區塊鏈系統中,這種冗餘是很大的。這樣高的冗餘度或者容錯程度在之前是不常見的。

這不是分佈式系統常用的工作模式。大多數的分佈式系統,是每臺機器做不同的工作,這樣比單機速度要快。一臺機器需要運行一個月的,三十臺機器一起運行,可以一天搞定。這是理論上的線性加成,實際上因為任務切分,各個任務之間的通訊情況,然後彙總結構,可能中間損耗掉30% 40%的功耗,也就是一臺機器工作一個月時間乾的工作,需要30臺機器協同工作的時間不是一天,可能是兩天時間完成。但是,依然比一臺工作能力要強。傳統認為這樣分佈式系統才更加有意義。

狀態機屬於分佈式系統的一種,但是狀態機的模式並不完全一樣,狀態機首要保證的並不是效率,而是狀態穩定一致。

簡單說明就是:一堆狀態機不是為了比一臺機器快,是為了容錯。

狀態機最早的應用是在一些關鍵重要的任務處理上,比如股票交易,比如交通系統控制等,這些場景是要求必須無間斷對外提供服務,不允許一分鐘的宕機,需要好幾臺計算機同時操作,這樣即使有一臺機器壞了,別的立即能頂上。

腦洞:比如《三體》中的面壁計劃之後,出現了“執劍人”,手上拿著一個按鈕,一按下去,就可以同時毀滅三體和地球兩個文明,這是一種威懾。背後運行的一定是狀態機系統,為了保證狀態穩定一致,不然,這個第一代執劍人“羅輯”先生,一按手上的開關,發現系統卡殼了或者沒按開關,系統出錯了以為按了開關,這麻煩就大了。

這個場景可以腦補到現實世界的核武器運行方式。

不再贅述。

狀態機系統中,隨著接入機器的增加,效率不但不是線性增長的,反而比一臺電腦處理還慢,因為要同步狀態。這也是為什麼有人說,比特幣的全節點並不是越多越好。(全球約一萬個比特幣全節點,2020年02月08日下午是10766個)

今日推荐 | 从疫情防治讲解中心化、分布式、去中心化和《三体》中存在的状态机

傳統利用狀態機的應用場景裡,機器的數目不會太多(通常是個位數),因為數目越多同步起來越慢。比特幣上萬個全節點同時操作,之前是沒有存在過的。所以,去中心化和效率的矛盾,才會被人一直拿出來講。

Eth和btc這類區塊鏈系統不是分佈式系統的常態,反而是特例,大規模計算服務不能使用區塊鏈這樣的狀態機處理,不如用大平臺提供的雲服務。比特幣系統的算力指的也不是雲服務的算力,而是挖礦的算力。

希望這篇文章能為搞不清楚中心化、去中心化和分佈式的夥伴兒解惑。

元宵節快樂。江湖一杯酒,加密二鍋頭。


分享到:


相關文章: