去中心化與區塊鏈交易性能的恩怨糾葛區塊鏈
今天這篇文章將帶你一起看看區塊鏈爭議的最大內容——去中心化與區塊鏈交易性能。
比特幣和以太坊的 TPS 一直被技術領域的人所詬病,或許這與工程師“高性能高并發”的情節有關。
那么說,去中心化與高性能 TPS 是否真的可以做到魚和熊掌的兼具呢?區塊鏈業界又采取了哪些方案進行改善呢?圍繞這兩個主題,我們開始聊聊今天的話題。
再談去中心化
說到區塊鏈的最大標簽,莫過于“去中心化”,在任何討論區塊鏈的場合,這個詞幾乎都會被提起。
今年 3 月份,全球頂級數字資產交易平臺 OKEX 的負責人徐明星曾經發文,他表示業界應該避免使用“去中心化”這樣的詞匯,而改用“點對點”,“點對點”一詞后來甚至被直接冠到了比特幣白皮書的標題上。
去中心化與點對點有區別嗎?我認為是有的,去中心化是包含了一定政治主觀色彩的詞匯,點對點只是一個中性詞匯,更適合用來描述系統的性質。
去中心化這種說法樹立了一個無形的靶子,這個靶子可大可小,大到政府機關,小到小商小販。
正如我們說的是 P2P 網絡,而不是去中心化網絡。所以在技術領域使用點對點,而不是去中心化,可以避免這種概念被過度消費,
說到了“過度消費”,我認為“去中心化”已經演變成了區塊鏈行業對外宣傳的消費概念,這是一種情懷消費,它消費了人們對強權者的不滿,例如店大欺客的商家、死皮賴臉的中間商、缺乏誠信的供應商。
這些內容,你或多或少都在生活中經歷過,當“去中心化”的口號響起的時候,人們終于找到了一個發泄口,強烈的共鳴放大了區塊鏈的光環,造成了區塊鏈能掀起一場大革新的錯覺。
革新肯定是有的,但去中心化只是表象,如果我們加深層次去理解,就可以發現數字貨幣和數字資產帶來更多的是交易效率的成倍提升。
人類的現代文明是建立在交易的基礎上的,沒有交易就意味著直接回到了農耕社會。所以交易效率的提升才是區塊鏈的根本所在,那么說,區塊鏈本來是這樣看似低效的 TPS,為什么說它提高了交易效率呢?
我們先回到傳統的交易模式來看一看。
交易首先是基于中心化平臺的,當我們進入某個中心化平臺,在這個平臺內部,交易效率是提升了,但是我們回顧整個交易的生命周期,就會發現這個平臺可能只是交易的一環,平臺和平臺之間的協作似乎并不是那么順暢。
跨境支付便是典型的例子,市值長居 Top3 的區塊鏈項目 Ripple 就是為了解決跨境支付的難題而產生的。
我們再來看區塊鏈點對點的交易模式,它的 TPS 看似低效,但是它提供了全局無縫銜接的資產流轉過程,這減少了整個交易生命周期的步驟,這也是區塊鏈提升交易效率的關鍵所在。
所以說,雖然中心化系統能提供優秀的高性能服務,但是慢在人工審核、平臺之間銜接、內部審計,平臺之間的協作業務推進,想必你一定也深有體會。
技術上的去中心化
我們在聊 DPOS 共識機制的時候,提到過一個 TPS 的計算公式,
其中 witness_count 記賬節點的數目與準入門檻在業界的爭議比較大,如果完全去中心化的話,首先就意味著記賬節點沒有準入門檻,記賬的節點可以無限多,當然這只是一個理想環境,工程實施的可行性幾乎為零。
比特幣全球的全節點 1.2 萬個,大大小小的挖礦節點只有幾十個,常出塊的只有 5 大礦池,但是比特幣依然沒有限制記賬節點的準入門檻,以太坊也是如此。而在 EOS 中,既規定了記賬節點的數目,又規定了門檻。
可以這么說,控制了記賬節點的數量和準入門檻,就等于決定了區塊鏈 TPS 的大小。
為了幫助你深層次地理解去中心化與 TPS 的關系,這時候我們再次回到之前一直提到的 CAP 定理中。
CAP 定理中,C為最終一致性,決定了出塊時間的長短。A 是可用性,這個是必選的,必須要保證區塊鏈 7*24*365 全部可用。
P 是網絡分區容忍性,P 的含義在區塊鏈上有兩層,第一層是必須保證分區可容忍,也就是一旦出現因為網絡分區而導致區塊鏈分叉,必須有一種機制可以合并區塊鏈;第二層含義是如果我們盡量避免出現網絡分區,那么就可以避免 P 的出現,從而提升 C 的性能。
C 和 P 是可以相互調整的,有兩種情況。
情況 1,如果我們選則調整 C,也就是拉長了最終一致性的確認時間,那么對 P 的要求就會減弱,也就是網絡產生分區不要緊,反正區塊鏈有足夠的時間恢復最終一致性。
情況 2,如果我們選則調整 P,也就是限制較少的記賬節點的數量,并且對記賬節點之間的帶寬提出要求,降低出現網絡分區的可能性,那么對 C 的要求就會減弱,就可以降低出塊時間。
情況 1 就是比特幣和以太坊的典型思路,情況 2 就是 EOS 的典型思路。
區塊鏈屬于分布式系統,通過簡單分析我們可以知道,區塊鏈交易 TPS 與去中心化的具有不可調和性,任何一個號稱 TPS 過萬的區塊鏈項目肯定是極其中心化的(至少技術上是的)。所以,那些試圖兼具高性能與去中心化的工作大多都是徒勞的。
各個區塊鏈的 TPS 指標
我們接下來看看一些區塊鏈項目的 TPS 指標。
圖中 TPS 都在千筆以上的區塊鏈項目,通過控制了記賬節點的數量,犧牲了去中心化特性提升了 TPS,比如石墨烯系列的 DPOS,Ripple 的共識。
如果我們把 CAP 做一個可視化處理,就構建出來一個三角形分布,我們可以得到下圖:
從圖中我們可以看出,PoW、PoS 型公鏈偏好 AP 特性,于是 TPS 有限。聯盟鏈以及 DPoS 型共識偏好比較均勻,可以達到可觀的 TPS;傳統數據中心往往不考慮 P 在第二層語義上的問題,更不考慮拜占庭容錯問題,所以他們擁有更好的 TPS,但是在網絡分區和出現拜占庭錯誤的時候,表現得不盡如人意。這些共識機制在不同場景中可以有不同的選擇,不存在適用所有場景的的共識機制。
業界的可選方案之一:Sharding 分片
好了,我們在上文討論了 CAP 定理對區塊鏈的影響,那么業界也還是使出了渾身解數來盡可能地提升 TPS。
目前一共有兩種正在討論的方案,分別是 Sharding 分片技術和閃電網絡。閃電網絡旨在解決比特幣微小額支付的實時性問題,其中的算法是比特幣 TPS 擴展的一種方案,這部分的詳細內容我們留到比特幣專題再進行講解。
這兩種方案不涉及修改共識機制。如果我們修改為 DPoS 共識機制、DAG 共識算法,也可以提升 TPS,不過不在本篇的討論范圍。DAG 共識機制我們在后續文章進行深入討論。
分片技術是一種安裝傳統數據庫分片的擴展,主要思路是將數據庫分成多個分區(碎片)并將分區放置在不同的服務器上。
在區塊鏈場景下,全網的節點相當于于分布式數據庫中的不同服務器,這時候我們可以將交易分成不同的部分,然后每個記賬節點只需要驗證交易的一部分即可,而不必驗證完整的交易性。
這帶來的好處是就是并行化處理,記賬節點之間相當于是協作關系,而不再是單純的獨立關系。
隨著網絡的增長,這種協作關系也可以隨之擴展,這種擴展也叫做水平擴容。
分片技術有以下優勢:首先是 TPS 可以從十幾筆提升至少兩個數量級,也就是千筆每秒,這不但對應用友好,也提升了用戶體驗;其次 TPS 的提升可以帶來更多應用,這些應用在共識的激勵下可以水平擴展區塊鏈的性能,形成一種良性循環。
下面我介紹一下分片的兩種方案:狀態分片、網絡分片。
第一種方案是是網絡分片,網絡分片是我們按照網絡進行分區,區域內的交易歸集在一起并在區域內進行驗證,這樣區域內的用戶可以享受低延遲高吞吐的 TPS,但是會帶來跨區域分片的復雜性。我們也可以將網絡分片比喻成數據庫集群分區。
其次是狀態分片,狀態分片是在以太坊上提出的方案,狀態分片目前沒有確切的技術方案,尚在研究討論階段。我們可以簡單類比數據庫的分表。我們將同一張表的數據塞到不同的節點,這些節點分布在全世界各地并且沒有可信的網絡環境。所以狀態分片是非常復雜的技術,實踐的最終結果我們需要看以太坊后續的動作。
1.TMT觀察網遵循行業規范,任何轉載的稿件都會明確標注作者和來源;
2.TMT觀察網的原創文章,請轉載時務必注明文章作者和"來源:TMT觀察網",不尊重原創的行為TMT觀察網或將追究責任;
3.作者投稿可能會經TMT觀察網編輯修改或補充。