DA-ChainTalk #6 — 從分散式去到去中心化系統

DA-ChainTalk #6 — 從分散式去到去中心化系統

各位好,上次我與 @antonsteemit探討了分散式系統:

DA-ChainTalk #5 — 分散式系統

上次就是為了這一次要談「去中心化系統」的鋪陳。希望這兩次的結合,可以讓你更了解什麼是大家都在追求的「去中心化」囉!

此一系列以「DA-ChainTalk」的名稱開頭,您亦可從 #da-chaintalk來追蹤我們的文章。謝謝!

artificial-intelligence-3382521_1280.jpg
Image Source - pixabay

DA-ChainTalk #6 — 從分散式去到去中心化系統

前言 - 去中心化

接續上禮拜的話題,區塊鏈除了是一個分散式系統外,最重要的特色其實在於「去中心化」。在所有區塊鏈的介紹文章中,你都可以看到Decentralized這個字,如果你上過各種ICO的官網,也可以看到大家都是把「Decentralization」當作一個中心思想在創新。

何謂去中心化?我想就照字面解釋也不難理解,就是一個「沒有中心」的系統。去中心化的必要條件是「分散式」,因為如果一個系統只存在一台主機上的話,沒有分工、自然自己就是中心了。因此我們上週先簡介了「分散式系統」,就是為了接下來討論「去中心化」的特徵。

rsz_8011.jpg
Designed by Freepik

去中心化的難處

仔細想想,一個「去中心化」系統的實踐是非常非常困難的。我們討論過分散式系統會遇到的各種問題:包括網路斷線、時鐘無法完全同步、資料不一致等等,這些問題就已經把系統設計師們搞的一個頭兩個大了,何況是更複雜的「去中心化」呢?

如我們上週所說,在一個中心化的分散式系統中,我們會遇到的問題是「非拜占庭問題」,也就只是有節點突然故障、網路癱瘓等等情況,至少節點中不存在壞人。但在一個去中心化的系統當中,一切又變得更加複雜:沒有中心,不只意味著沒有來自中央的指令,更重要的是代表著所有節點「彼此互相不認識、也互不信任」。中本聰在2008年最早的比特幣論文裡面就開宗明義的表示,區塊鏈是不需要「Trusted third party」的,意思是全世界的節點可以互不信任,而且各自只為自己的利益著想,在這種情況下,整個區塊鏈系統仍然能夠運作。這是區塊鏈最重要的一個性能,亦即是整個系統設計上最關鍵的環節。

共識機制的設計

相信大家對PoS、PoW等等共識機制都有一定的了解程度了,如果我們回頭細看「中心化」分散式系統使用的Paxos機制,就會發現這些區塊鏈的共識機制中,許多概念都是承接它而來的。在Paxos中,每個節點一樣可以輪流提案,但最後會由一個數值來判定誰的版本是最新版本。這種方法在一般中心化系統中可用,因為我們可以確定每一個節點都是善良的,不會偽造這個版本先後的戳記。

但是大家都知道,在去中心化的系統中不是這樣的。如果大家都說自己的版本是對的,又彼此不相信,根本就不會有共識可言。因此中本聰設計出了「PoW」這樣的共識方法,每個節點在送出提案前都要先花費大量的算力成本來算一個「密碼」,先猜到密碼的人有權說出自己的想法,而其他人再負責檢驗是否同意。接著,透過給予區塊「獎勵」,讓大家珍惜猜到密碼的機會好好廣播,因為如果自己的版本沒人採信的話,最後還是等於一無所有。在這樣的機制之下,做一個正直的礦工將可以獲得最高的獎賞。

其他共識方法

除了PoW之外,大家都熟知的股權證明(PoS)以及 NEO所使用的dBFT都是有名的共識機制。這些機制用別的方法取代了利用算力換取的提案權,但終究還是脫離不了這種來自分散式系統的「提案而後表決」的程序。

小結一下,分散式和去中心化系統都需要達成共識,唯一的差異就是在於共識機制,而這種差異追根究底,源自於節點身份的不同:去中心化的節點彼此獨立、互不信任,任何人都可以成為其中一個節點。但為什麼我們需要一個這樣的系統呢?

去中心化的應用

仔細想想,去中心化的由來也是一種進階的過程。

我們總是想要享受一些平台帶給我們的服務,例如銀行、買賣房屋平台、徵才網…等等。這些平台幫我們解決了大部分的問題,包括認證身份、解決糾紛等等。最好的例子就是Airbnb,我們旅遊時可以通過Airbnb方便的找到住處,它不但解決金流問題,也有客服負責作為公正第三方處理合約糾紛。唯一稍微不好的地方是,我們要付給Airbnb公司一筆不小的手續費,同時也將所有的個人資料交給了Airbnb,因此讓他們坐擁著我們的數據資產。

儘管理想上,一個中心化的系統效率是最高的,而透過他們作為一個公正第三方,理應合理解決所有紛爭,也不該拿我們個資亂來。但問題來了,我們都知道沒有永遠公正的第三方,畢竟在這「第三方」背後運作的也是人,人大部分都是為了自己的利益行事的、也可能造成人為疏失。最常舉的例子是銀行:銀行掌管了大家的金流,並且抽取高昂的手續費。這樣的第三方存在儘管讓大家安心,卻也造成「完全自由交易」的阻礙,而且常常成為駭客攻擊的目標,只要稍不加防範就可能資金外流,或是用戶個資外洩。

在以前只有中心化系統時,我們只能選擇信任他們,並且承擔著一點點的風險,享受著平台的服務。但現在去中心化的設計出現了,我們開始可以幻想一切都由「智能合約」代理,而不需要信任任何人的世界。這也是現在流行的ICO所不斷描繪的一個世界,在去除了中間平台的管理者後,流通變得容易、所有使用者利益幾乎都提昇了。這也是為什麼去年下半年掀起一波「上鏈運動」的熱潮,幾乎所有的平台都高呼著Decentralized,大家都想發Token,搬到ETH的鏈上來運作。這固然有他們的道理,但是真的所有的東西都適合去中心化嗎?

中心化 & 去中心化的權衡


Image Source: https://review.content-science.com

在我們選擇不必相信一個第三方的同時,就代表著我們對於我們要自己承擔信任平台其他使用者的風險。在大部份的時候,我們不需要知道交易或是互動對方的身份,但在某些時候,例如使用一個類似Airbnb Dapp平台時,沒有第三方意味著沒人擔保對面人的身份,在這樣的情況下,我想大家也是不敢輕易使用的吧。

中心化會帶來許多關於「資安」方面的疑慮,而完全的去中心化則可能帶來網路上難以互相信任的窘境,加上完全的去中心化要付出龐大的代價,尤其是在共識方面,可能耗費大家巨量的能源以及時間。這也是為什麼現在更流行的是「半去中心化」:在Dapp中可能會透過隨機選取類似「陪審團」的可信用戶來做驗證投票;或是像Steem跟EOS所使用的dPOS共識機制中由候選人負責記錄區塊,實際運行發現不但效率較高,也比想像中安全許多(好人還是比壞人多的!)或許這是中本聰一開始在設計比特幣時並沒有想像到的一個階段:使用者在權衡之下還是願意犧牲部份的去中心化,換取更高的效率。我想,這也是區塊鏈一路發展至今找到的平衡點吧!

小結

總而言之,雖然去中心化是區塊鏈的核心,但時至今日,已經幾乎看不到完全的「去中心化」了。除了上述的新共識算法之外,就連原本的PoW也因為礦池選擇的問題搞的像中心化的挖礦;在各種新區塊鏈項目中,我們也不難發現許多仍然存在「中心認證」的例子。不知道各位對於這樣子的幣圈未來,還有什麼想像呢?


#da-chaintalk


This page is synchronized from the post: ‘DA-ChainTalk #6 — 從分散式去到去中心化系統’

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×