區塊鏈公鏈“三元悖論”專題系列之可擴展性(Scalability)
京東智聯云云產品研發部潘熙之
正文

京東智聯云云產品研發部潘熙之
正文
京東智聯云云產品研發部潘熙之
正文
京東智聯云云產品研發部潘熙之
隨著比特幣的問世,區塊鏈技術在這10多年的時間裡被越來越多的人所認知,區塊鏈構築了數字經濟時代的價值網絡基礎。而區塊鏈公鏈背後的經濟模式、共識機制、密碼學等技術問題中,一直存在著一個有著持續熱度的“三元悖論”問題(也稱“不可能三角”問題),即在區塊鏈公鏈中,無法將“去中心化”(Decentralization)、“安全性”(Security)、以及“可擴展性”(Scalability)三種特性很好的兼備。
“安全性“是指為了獲取區塊鏈系統控制權所付出成本的高低,付出的成本越高,則安全性越高,這也是區塊鏈系統能夠使參與者形成”共識“的基礎。

事實上,在“三元悖論”中,三種特性都有各自獨立的技術發展路線,犧牲某一種特性,並不代表可以換取另外一種特性的提高,只是在現有技術條件下,一個區塊鏈系統想要將這三種特性最大化的融合,通常都會有所取捨;而且,如果拋開“三元”中的“去中心化”和“安全性”,那就根本談不上“區塊鏈“和”系統“,所以我們看到這些年來,各區塊鏈公鏈系統在試圖突破“三元悖論”問題時,最常優先考慮的,就是通過提高TPS,來優化系統的性能。圖片描述)
在講可擴展性之前,我們先來了解下可擴展性當中的核心指標“TPS“這個概念:
圖片描述
TPS(Transaction Per Second)指的是系統平均每秒處理的交易數量,對一個區塊鏈公鏈系統來說,TPS是衡量系統性能的重要指標;TPS是計算出來的,即用一段時間的總的交易數除以這段時間的秒數,得到的是一個平均值,這個平均值並不代表系統每秒都會處理等量的交易,系統實際在每個時間段處理交易的數量是有高有低的,以比特幣為例,因為比特幣的兩個區塊間隔時間為10分鐘(600秒),如果在這段時間,打包塊裡面有2400筆交易,那比特幣的TPS就是2400/600 =4,是的,實際上比特幣的TPS確實只有4左右。
比特幣歷史交易數量圖(上圖來自京東智聯雲

作為對比,這裡給大家一些數據參考:Visa在1600TPS左右(峰值56000TPS),網聯雙11活動峰值在10萬TPS左右,目前主流的區塊鏈系統以太坊目前在20TPS左右,而中心化的區塊鏈系統XRP也只有1500TPS左右。
圖片描述
理論上,當在帶寬無限大、數據傳輸延遲無限小、計算能力無限強的情況下,區塊鏈系統中數據達成共識的效率可以無限高,TPS也就可以無限高;但實際情況中,參與區塊鏈系統大部分用戶的帶寬、計算機處理能力都是非常有限的,所以對於區塊鏈公鏈系統設計者來說,在保證網絡的性能最優的同時,將用戶網絡能耗降至最低,成為了一項非常大的挑戰。
圖片描述
近幾年來,各公鏈項目方都為了提升系統TPS而在技術上另闢蹊徑,行業內也不斷出現一些與之相關的專業術語,比如POW、POS、跨鏈、分片、DAG、異步共識組、零知識證明等。
NSDI上關於異步共識組的論文

一、改變共識機制:除了比特幣所使用的POW(Proof-of-Work工作量證明)共識機制外,業內比較流行的還有POS(Proof-of-Stake權益證明)、DPoS(Delegated Proof of Stake委託權益證明)、Algorand(POS升級版,純股權證明)、PBFT(Practical Byzantine Fault Tolerance,實用拜占庭容錯算法)等,如果算上各種“升級版“、”改良版“的話,市面上至少有上百種共識機制可尋,但這些共識機制的出現,大都是為了改善比特幣所使用的POW所導致的TPS不足,而在改良的過程中,各共識機制也都採取了各種各樣的權衡與妥協。
圖片描述
圖片描述

圖片描述
圖片描述
圖片描述

圖片描述
圖片描述
側鏈技術也被稱為“鏈下狀態通道(off-chain state channel)”,是在用戶間搭建臨時線下交易通道,所有中間交易都發生在鏈下,主區塊鏈上僅驗證最終狀態,解決同一對用戶的頻繁交易給區塊鏈系統帶來的TPS壓力,間接提升區塊鏈系統的可擴展性。比如有兩個商戶一天內多次互相交易,但是當一天結束時,卻發現雙方你來我往了1000多次交易,但來往金額卻剛好相抵歸零,這正是側鏈技術最適合運用的場景。其代表項目比特幣的閃電網絡(Lightning Network)和以太坊的雷電網絡(Raiden)。不過,需要強調的是,側鏈雖然幫助區塊鏈系統減少了壓力,但它的TPS數量其實不應該計入區塊鏈系統的TPS。


