目前區(qū)塊鏈平臺最大的問題,可以用一個簡單的類比來說明:二十一世紀初,互聯(lián)網(wǎng)的速度非常緩慢。當時如果你有一個博客,用戶要訪問它既費時又費錢。人們注意到這個問題,但同時也認識到了互聯(lián)網(wǎng)的用處。為了解決此問題,很多人努力改進互聯(lián)網(wǎng)的基礎設施和設計。與此同時,人們還構建了更強大的硬件來運行這些互聯(lián)網(wǎng)的設施。
由于這些改進,互聯(lián)網(wǎng)變得更快,訪問成本變得更低。以前,開發(fā)人員們只能創(chuàng)建單個網(wǎng)頁。但現(xiàn)在,開發(fā)者可以在改進的基礎設施上建立像臉譜網(wǎng)、谷歌和Twitter這樣的網(wǎng)站。所有這些都是可能的,因為互聯(lián)網(wǎng)的速度和容量得到了極大提升。
區(qū)塊鏈技術也面臨著類似的問題——緩慢而昂貴。
許多區(qū)塊鏈公司都致力于構建可擴容的基礎設施,從而使區(qū)塊鏈平臺在未來成為主流。一旦那一天到來,人們不僅可以使用區(qū)塊鏈進行支付,還可以在其之上構建類似于谷歌和臉書的應用程序。
01區(qū)塊鏈和擴容能力問題
在解釋擴容問題之前,必須要先解釋吞吐量的概念。假設你在火車站等車,每趟火車間隔一小時,只能做10個人。一旦火車滿載,第十一名乘客只能等待下一趟。與這個做類比,乘客代表交易,比特幣或以太坊這樣常見的區(qū)塊鏈平臺每秒平均可以處理大約10次交易。
相比之下,像VISA這樣的支付公司目前平均每秒處理5000到8000次交易。任務處理的速率稱為吞吐量。與Visa等支付平臺相比,區(qū)塊鏈平臺目前的吞吐量非常低。
現(xiàn)在假設你在同一個火車站,但這次還有另外一百人個想坐這列火車。火車來了,售票員看了看人群,說:“付錢最多的10個人可以上火車。”你因為趕時間,所以你就付了一大筆錢買票上火車。
由于區(qū)塊鏈平臺的吞吐量低,交易費用不斷上升。例如,一筆10美元的交易在擁擠的區(qū)塊鏈平臺上很可能需要支付2美元的交易費用。因此,緩慢和高成本是互聯(lián)網(wǎng)上的主流交易往區(qū)塊鏈平臺上遷移的巨大障礙。
02提升擴容能力
為了提升區(qū)塊鏈平臺的主流接受度,這些平臺需要進行擴容。區(qū)塊鏈公司們?yōu)榇颂岢隽藥追N解決方案。
2.1增加區(qū)塊大小
第一種最直接的方法是增加區(qū)塊大小。回到火車類比,這意味著將火車的容量從10人增加到20人。這樣,火車就可以在特定時間內(nèi)運送更多的乘客,減少車站的擁擠。
比特幣當前的區(qū)塊大小1MB,提高到2MB可以使其每秒處理量增加一倍。區(qū)塊越大,每秒處理量就越高。
但這在實踐中是有問題的,假設你將塊大小從1MB增加到1GB,當你創(chuàng)建塊時,必須將其傳送給網(wǎng)絡中的其他人,而網(wǎng)絡無法快速處理龐大的文件。就像你使用電子郵件,當你上傳一個大文件時,郵箱會不接受。這就是增加區(qū)塊大小的毛病,不能超越某個臨界點,所以這種解決方案的能力是有限的。
2.2鏈下解決方案
第二種可能性是鏈下解決方案,比如比特幣的閃電網(wǎng)絡,以太坊的雷電網(wǎng)絡,和Neo的本體網(wǎng)絡。
在當前的情況下,每次交易處理,都必須得到網(wǎng)絡中每個節(jié)點的驗證。(節(jié)點是運行算法并處理交易的計算機。
例如,你想在一個月時間里每天從一個特定的咖啡店買一杯咖啡,咖啡的價格是1美元,但在網(wǎng)絡上每天交易1美元是非常昂貴的,你不想為1美元的交易而擁擠整個網(wǎng)絡。因此你和咖啡館老板簽了一個合同。合同規(guī)定,你每天都要付象征1美元的通證作為咖啡費。你向網(wǎng)絡發(fā)送一筆交易來標記合同的開始,30天后再發(fā)送一筆交易來標志該合同的結束,合同結束后,咖啡館老板可以在網(wǎng)絡上把這30個通證交換為30美元。
因為這些是在區(qū)塊鏈網(wǎng)絡之外發(fā)生的私人協(xié)議,所以它們被稱為鏈下解決方案。這種交易系統(tǒng)的缺點是,整個過程都集中在托管這些鏈下交易的服務器上,這些鏈下網(wǎng)絡也是黑箱,其透明性和安全性是值得懷疑的。
2.3代理共識協(xié)議
目前區(qū)塊鏈網(wǎng)絡上的處理速度是非常慢的,因為網(wǎng)絡中的每個節(jié)點都必須參與處理。如果網(wǎng)絡中有一千個節(jié)點,那么一千個節(jié)點都必須參與處理網(wǎng)絡中的每筆交易。
如果一個社區(qū)里有1000個人,每個人都必須達成一致,過程不僅漫長,而且會非常混亂。相反,如果你從社區(qū)中選出10名代表,任命他們?yōu)樯鐓^(qū)的管理員,讓這10個人投票,達成共識會更快和更容易。
類似的,您可以委托一組節(jié)點來運行協(xié)議并在事務上達成一致,代理節(jié)點的共識將代表社區(qū)的共識。
大多數(shù)可擴容的區(qū)塊鏈項目都采用這種協(xié)議。為了進入治理聯(lián)盟,社區(qū)成員必須登記興趣并通過測試(稱為權益證明或權威證明)。如果他們成功通過,將被授予加入治理聯(lián)盟的權證并運行共識協(xié)議。
2.4分片技術
分片技術是一種把網(wǎng)絡分割成碎片的鏈上擴容方案,但分片不是數(shù)據(jù)庫領域中的新概念。分片技術將大型數(shù)據(jù)庫分成更小、更快、更易于管理的部分,稱為數(shù)據(jù)碎片。
為了展示它的工作原理,現(xiàn)在假設你有一個包含五個步驟的問題。
想象你在一個班級里有10個學生可以幫你這個問題,而且這個問題可以分成5個并行的步驟。于是你把班級分成5組,每組兩人,每組解決一個子任務。
一旦有小組完成了它的子任務,就會把信息傳遞給老師了,老師就會匯總五個組的所有答案,并將完整的答案傳遞給所有的組。這樣,即使各個小組專注于他們的子任務時,并不知道其它組在做什么,但最終所有的參與者都會得到答案。
在這個例子中,學生是網(wǎng)絡上的節(jié)點。班級就是網(wǎng)絡中所有的節(jié)點,而小組則是分片。老師則代表了目錄服務委員會(DS),而它本身就是一個分片。
如果把比特幣網(wǎng)絡比作一個教室,學生們必須自己解決每一步的問題,這要花費長得多的時間,而且每個參與者的負擔也要大得多。
但是使用網(wǎng)絡分片技術,如果你有10000個節(jié)點,通過工作量證明過程,它們將被隨機分為10組,每個組被稱為一個分片。每個分片處理一組不同的數(shù)據(jù),并得出小組內(nèi)一致同意的答案。然后,各分片將這些數(shù)據(jù)的摘要報告提交給一個名為目錄服務委員會的分片,由它來統(tǒng)籌不同分片的數(shù)據(jù)摘要,并將它們組合起來形成一個更大的數(shù)據(jù)集,稱為最終區(qū)塊,最終區(qū)塊的數(shù)據(jù)又會被返回所有分片。
從上面的分析可以看到,分片技術是一種去中心化的、安全的鏈上擴容方案,具有線性的擴容能力——也就是說,節(jié)點越多,得到的吞吐量就越大。
分片技術有兩種類型:網(wǎng)絡分片和狀態(tài)分片,以太坊正在開發(fā)的技術是狀態(tài)分片。兩種技術的不同之處在于,在網(wǎng)絡分片中,不是每個節(jié)點都必須處理每條信息,但是每個節(jié)點都必須存儲網(wǎng)絡中其它分片的信息;如果使用狀態(tài)分片,每個節(jié)點都只存儲它們自己處理過的信息子集,雖然這減少了每個節(jié)點的負擔,但分片之間的互通會變得復雜。
03分片技術的缺點是設計和部署的復雜性
部署一個簡單版本的分片很容易,但是要正確且安全地運行很難,這就是為什么現(xiàn)在很少的團隊研究它。與最簡單的解決方案相比較,增加區(qū)塊容量只需調(diào)整一個參數(shù)——區(qū)塊大小,然后吞吐量就增加了。但是當引入分片技術時,需要考慮的事情就非常多。
如何合理地劃分小組成員?如何分配任務?所有這些都給系統(tǒng)帶來了復雜性。但如果做得正確,系統(tǒng)將是分布式的、安全的,并且有線性的擴容能力。
04寬帶和存儲容量是所有擴容方案的通病
對于比特幣和以太坊這些的區(qū)塊鏈平臺來說,這個問題還不嚴重,因為它們的吞吐量很低。比特幣和以太坊每秒處理10筆交易,按目前的速度,一年內(nèi)的所有交易數(shù)據(jù)將達到幾GB。
但是,當我們每天處理數(shù)億筆交易時,數(shù)據(jù)就會爆棚。為了存儲所有這些數(shù)據(jù),我們必須找到更好的存儲解決方案,這不是網(wǎng)絡分片可以直接解決的。
-
區(qū)塊鏈
+關注
關注
111文章
15563瀏覽量
106421 -
比特幣
+關注
關注
57文章
7006瀏覽量
140945
原文標題:比特幣為什么要擴容?為什么說擴容是區(qū)塊鏈最大的問題?
文章出處:【微信號:szwlw26059696,微信公眾號:物聯(lián)網(wǎng)之聲】歡迎添加關注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論