區塊鏈要想構建Dapp生態,要想走向主流人群,首先要解決「擴展性問題」。但區塊鏈是去中心化的系統,任何節點都可以自由加入,要在多樣化的節點快速達成共識,是非常困難的事情。那麼,區塊鏈的真的無法擴展了嗎?雖然現在不能,但未來有希望。
在中心化數字貨幣,一個曾經遙不可及的目標,最終正在逐漸走向主流。它的自身價值是非常激動人心的,而我個人則對去中心化app的潛力感到更加興奮。金融交易,預測市場和資產管理平台都飽含著巨大的潛力。
支撐區塊鏈的去信任系統是非常有趣的:身份驗證系統,智能財產,抵制審查的社會平台,以及類似於DAO的自治結構和監管模型。最具顛覆性的用例也許還遠沒有被創造出來。
但是在可以預見的未來,這個夢想仍然只是夢想 – 雖然一些早期愛好者和企業家正在試驗構建這類app,目前的工作仍然存在一個阻止這些app獲得成功的巨大缺陷:擴展性。區塊鏈,按照現在的情況來看,受限於它們的可擴展能力。
並不是說這個問題會永遠存在,但目前的確是這樣。事實上,我想證明這是目前區塊鏈技術所面臨的最大技術屏障之一。它已經很快成為了社區和加密貨幣中的一個非常熱門的研究領域。
簡易解釋區塊鏈的擴容困境?
目前,所有的區塊鏈共識協議(如比特幣、以太坊、瑞波、Tendermint)都有一個極具挑戰性的限制:網絡中的每個全節點必須處理每筆交易。回憶一下區塊鏈固有的關鍵特性 – 「去中心化」 -意味著網絡中的單個節點需要執行每一筆交易並維護完整狀態的一份拷貝。
一個去中心化共識機制需要提供一些關鍵優勢,例如容錯性、強安全性保證、政治中立性和真實性,因此需要犧牲一些可擴展性。區塊鏈能夠處理的交易筆數不可能超過網絡中單一節點的處理能力。
事實上,隨著網絡中節點數的增加區塊鏈變得更加孱弱了,因為節點間的延遲會隨著每個新增節點呈對數性增長。
在一個傳統數據庫系統中,擴展方案是增加更多的伺服器(也就是算力)來處理增加的交易。在去中心化的區塊鏈世界,每個節點需要處理和驗證每筆交易,這就需要我們為網絡中每個節點增加更多的算力來進行加速。然而我們無法控制網絡中的每一個公共節點,這就讓我們陷入了困境。
最終,以去中心化方式運作的所有公開的區塊鏈共識協議在低交易吞吐量和高中心化程度之間進行了折衷。也就是說,隨著區塊鏈規模的增長,對網絡中全節點的存儲、帶寬和算力的要求也在增加。在某一時刻,它將變得極其笨重,唯一可行的是讓一小部分節點處理一個區塊- 從而導致中心化風險。
為了能夠擴展,區塊鏈協議必須找出一種機制來限制驗證每筆交易所需要的參與節點數,同時不損傷網絡的可信性以保證每筆交易都有效。這聽起來很簡單,但是在技術上非常困難。為什麼呢?
- 由於每個節點不能夠驗證每筆交易,節點需要有一種統計和經濟手段來確保其他區塊(那些它們不能親自驗證的區塊)是安全的。
- 必須有某種方法來保證數據的可用性。也就是說,即使一個不直接驗證區塊的節點認為該區塊是有效的,如果這個區塊的數據變得不可用了,將會導致網絡中沒有其他驗證者可以驗證交易或者生產新區塊,我們就卡死在了當前的狀態下。(有很多種原因會導致節點掉線,包括惡意攻擊和突然斷電)
- 交易需要被不同節點並行執行以獲得可擴展性。然而,區塊鏈上的狀態轉換也包含一些無法並行(串行)的部分,因此我們在轉換狀態的過程中均衡並行性與效用時會面臨一些限制。
給我指標 – 以太坊
那麼這些可擴展性指標實際看上去是什麼樣子呢?讓我們來看一看。
一個以太坊節點的最大理論交易處理容量是1000筆/秒。不幸的是,實際上遠遠達不到這個吞吐量,因為以太坊有「gas限制」,目前平均每個區塊的gas限制是8,000,000。
以太坊的gas限制某種程度上和比特幣的1MB區塊大小限制類似,區別是以太坊的gas限制是由礦工動態設置的而比特幣的區塊大小限制則是硬編碼進協議中的。
以太坊的gas限制給每個區塊的網絡算力強加了一個軟頂:按照目前8,000,000的gas限制,每筆標準交易平均大約消耗21K的gas,可以算出每個區塊大約包含300筆標準交易。
下圖顯示以太坊Gas的上限圖表:
目前的平均出塊速度是20秒,相當於最多每秒15筆交易(300/ 20 = 15)。如果包含複雜交易,這一數值將會更低(例如智能合約消耗的平均gas是50K,意味著每秒~7筆交易)。
如果同時考慮到以太坊網絡中的交易數量正在與日俱增,你會發現這是一個相當大的問題。從2016年第二季度到2017年第二季度,每天的交易數量從40K增加到了240K,達到了500%的年增長率。
此外,上個月的交易數量達到了每天440K筆的峰值!我們可以很快算一下,相當於每秒5筆交易。
延伸閱讀:【Vitalik Buterin】:透過第二層解決方案,以太坊交易處理能力將達到每秒100萬次
比特幣?
類似的,比特幣,先不管每秒4000筆交易的理論限制,目前有每秒7筆小交易和3筆複雜交易的硬頂。
注意這些限制在私有鏈上並不存在。私有鏈實際上可以在以太坊或者比特幣上達到1,000筆/秒。
為什麼?因為你在運行一個私有鏈,你有能力確保網絡中的每個節點都是高性能計算機並擁有很高的帶寬。對區塊鏈進行擴展,要求我們為每個節點增加更多的算力以變得更快。由於私有管理網絡可以控制網絡中的每個節點,他們可以這麼做。
此外,由於你在一個私有網絡上,你可以線下處理一些線上的活動,比如確保每個參與的節點正在運行一個真實的節點。
事情的真相是:沒有一種方案能夠為解決可擴展性問題提供完美的答案。在現實中,每一種方案都可以為改善可擴展性前進一小步。如果把它們組合在一起,區塊鏈可擴展性的未來一片光明。
請注意本文的目標不是探討所有的技術難點或者討論每種方案的優點。我的目標是讓你對我所知的一些方案有一個總體的瞭解(10,000英尺的視角)。如果讀者們有興趣,我可以在以後的文章中深入探討某些特定方案的細節。本文假設你對區塊鏈如何工作有一些基本的瞭解。
擴容方案
擴展區塊鏈是一個已知的挑戰並且多年來已經成為了一個熱門的研究領域。特別的,如果你曾經經歷過比特幣社區多年的災難,你應該聽過兩種比特幣的特定擴展方案:SegWit和增大區塊到2MB。
這兩種方案的目標都是解決比特幣的特定問題:比特幣區塊鏈有一個內建的1MB區塊大小的硬限制,從而限制了可以被打包進區塊的交易數量。
最終,比特幣面臨了處理和確認交易的延遲問題(有時候是幾小時甚至幾天)。類似的,正如我們在上一節所看到的,以太坊也在擴展能力上面臨局限。
– 本文經授權改寫自Coinvoice
#編按:本次在ABS Asia Blockchain Summit 動區主編專訪了現任MIT麻省理工實驗室、前閃電網路CTO – Tadge Dryja,聽Tadge暢談擴容方案,影片將在近期釋出,敬請動區讀者期待!
?相關報導?
【以太坊創辦人|Vitalik Buterin】:中心化交易所應該消失殆盡,人們很難生活在完全去中心化的世界中
Coinbase投資的金融應用測試網上線:透過以太坊「Plasma側鏈」克服dApp擴容困境
《BlockTempo動區動趨》LINE官方號開通囉~立即加入獲得第一手區塊鏈、加密貨幣新聞報導!