區(qū)塊鏈長期存在的一個重要問題是缺乏可伸縮性
從跨境金融交易到供應(yīng)鏈管理,區(qū)塊鏈在越來越多的試點(diǎn)項目中得到推廣,但一個長期存在的問題是: 缺乏可伸縮性。
隨著越來越多的計算機(jī)加入對等網(wǎng)絡(luò),整個系統(tǒng)的效率通常會下降??缮炜s性已經(jīng)被認(rèn)為是比特幣和以太幣等加密貨幣的一個重大問題。如果分布式分類賬技術(shù)要被金融技術(shù)公司采用,并以數(shù)百倍的速度與支付網(wǎng)絡(luò)競爭,那么它必須找到一種方法來提高可伸縮性和吞吐量,并解決延遲問題。
進(jìn)入“分片”。
分片是開發(fā)人員正在研究的幾種提高事務(wù)吞吐量的流行方法之一。簡單地說,分片是一種將計算和存儲工作負(fù)載分散到對等網(wǎng)絡(luò)的分區(qū)方式,這樣每個節(jié)點(diǎn)就不必負(fù)責(zé)處理整個網(wǎng)絡(luò)的事務(wù)負(fù)載。相反,每個節(jié)點(diǎn)只維護(hù)與其分區(qū)或分片相關(guān)的信息。
分片中包含的信息仍然可以在其他節(jié)點(diǎn)之間共享,這使得分類帳分散和安全,因為每個人仍然可以看到所有分類帳條目;它們只是不處理和存儲所有的信息。
共識的難題
公共區(qū)塊鏈最持久的問題之一是圍繞著共識協(xié)議——如何從用戶那里獲得協(xié)議,以確定擬議的交易是否真實,是否應(yīng)該被添加到分布式分類賬中;共識協(xié)議中如最流行的工作量證明(PoW)機(jī)制,可以說是高度計算密集型的。
在基于POW的區(qū)塊鏈中,每個身份驗證計算機(jī)或節(jié)點(diǎn)都記錄鏈上的所有數(shù)據(jù),這是協(xié)商共識過程的一部分。在比特幣等大型區(qū)塊鏈中,大多數(shù)參與交易的節(jié)點(diǎn)必須對新交易進(jìn)行身份驗證,并記錄這些信息,才能將其添加到分類賬中;這使得完成每個事務(wù)變得緩慢而艱巨。正因為如此,基于POW的比特幣每秒只能處理3.3到7筆交易,而一筆交易完成需要10分鐘。以太坊是另一種流行的區(qū)塊鏈分類賬和加密貨幣,每秒只能處理12到30筆交易。
而Visa的VisaNet平均每秒處理1700筆交易。
將每個節(jié)點(diǎn)記錄的新信息添加到區(qū)塊鏈的優(yōu)點(diǎn)是無可爭議的,不可更改的?;赑OW的區(qū)塊鏈?zhǔn)菍懸淮?,附加許多應(yīng)用;因此,它們是不可變的。
以太坊和Hyperledger是全球領(lǐng)先的區(qū)塊鏈平臺,也是無數(shù)應(yīng)用程序的基礎(chǔ),從以太坊的以太幣等加密貨幣,到“智能”或自動執(zhí)行的在線合約。以太坊正在探索分片,而Hyperledger則沒有。
分片是一個起源于水平數(shù)據(jù)庫分區(qū)的概念,以太坊正在采用它。因此,不是每個節(jié)點(diǎn)都必須處理所有事務(wù),從而提高了可伸縮性,”Gartner副總裁、著名分析師阿維娃·利坦(Avivah Litan)說。
去年,在區(qū)塊鏈分類賬和加密貨幣達(dá)到每天100多萬筆交易之后,以太坊開始探索提高性能的方法。
以太坊解決了兩個提議的解決方案。一種是“第二層”機(jī)制——在標(biāo)準(zhǔn)數(shù)據(jù)庫中處理鏈外事務(wù),只在分類賬上記錄永久性條目;另一個解決方案是分片,允許同時并行處理更多事務(wù)。
第二層協(xié)議將大多數(shù)事務(wù)發(fā)送到鏈外,僅與底層區(qū)塊鏈交互,以便進(jìn)入和退出第2層系統(tǒng)。第2層協(xié)議在LAN或相鄰WAN中的節(jié)點(diǎn)之間傳輸數(shù)據(jù),減輕了P2P區(qū)塊鏈網(wǎng)絡(luò)的負(fù)擔(dān)。
在分片被激活之后,區(qū)塊鏈的“狀態(tài)”被分割成分片或分區(qū)。Litan解釋說,每個獨(dú)特的用戶帳戶相當(dāng)于一個分片,帳戶只能與同一分片中的其他帳戶進(jìn)行交易。她說:“這使得許多并行事務(wù)可以同時發(fā)生?!薄坝梢蕴贿x擇的單獨(dú)協(xié)議允許跨分片通信?!?/p>
分片安全嗎?
以太坊的創(chuàng)建者維塔利克·布特林(Vitalik Buterin)當(dāng)時在一篇博客文章中寫道,除了解決可伸縮性問題,一些人認(rèn)為分片還能維護(hù)區(qū)塊鏈的本機(jī)安全性,因為它保留了“區(qū)塊鏈所需的大部分分散式和安全特性”。
從理論上講,事務(wù)吞吐量的增加與分片的數(shù)量成線性關(guān)系。Linux基金會的Hyperledger區(qū)塊鏈項目的安全專家David Huseby說:
為了維護(hù)區(qū)塊鏈的安全性,必須防止分片收購。根據(jù)康奈爾大學(xué)(Cornell University)發(fā)表的一篇研究論文,破壞給定分片中的節(jié)點(diǎn)將導(dǎo)致相應(yīng)數(shù)據(jù)部分的永久丟失。
例如,在以太坊網(wǎng)絡(luò)模型中,節(jié)點(diǎn)必須隨機(jī)分配給一個分片,并在隨機(jī)時間里重新分配給另一個分片。
這個想法是為了讓攻擊者很難預(yù)測或強(qiáng)制他們的(惡意)節(jié)點(diǎn)被分配到哪個分片。這使得拜占庭式地接管任何一個分片都變得更加困難。
Huseby解釋說,用Hyperledger區(qū)塊鏈進(jìn)行分片并非如此簡單?!拔覀兊膮^(qū)塊鏈通常不像加密貨幣那樣處理‘地址’。
Hyperledger區(qū)塊鏈專注于維護(hù)一個全局狀態(tài)(想想數(shù)據(jù)庫),共識機(jī)制調(diào)節(jié)狀態(tài)的更新,而區(qū)塊鏈安全地存儲狀態(tài)更新,”Huseby說。
Hyperledger網(wǎng)絡(luò)可以像以太坊那樣垂直切分,但由于它不分割地址空間,因此可以嘗試不同的分片技術(shù)。
Huseby表示:“如果我必須對Hyperledger網(wǎng)絡(luò)進(jìn)行切分,我會首先利用交易驗證和區(qū)塊構(gòu)造之間的區(qū)別。”“事務(wù)驗證比塊構(gòu)造要慢得多,所以我的第一個步驟是大幅增加事務(wù)驗證器節(jié)點(diǎn)的數(shù)量?!?/p>
第二個挑戰(zhàn)是處理“瘦”客戶端(也稱為SPV(簡化支付驗證)錢包),以確保這些節(jié)點(diǎn)在分片時擁有區(qū)塊鏈狀態(tài)的全貌。為了解決與分片相關(guān)的可見性問題,瘦客戶機(jī)通過單獨(dú)的網(wǎng)絡(luò)進(jìn)行通信,并為每個分片維護(hù)本地狀態(tài)副本。
最后,分片間通信提出了一個挑戰(zhàn),因為每個分片都作為一個單獨(dú)的區(qū)塊鏈網(wǎng)絡(luò)出現(xiàn)。
解決通信問題
本月早些時候,初創(chuàng)公司Devvio宣布,它已經(jīng)創(chuàng)建了一種基于分片、第2層協(xié)議和有效協(xié)商機(jī)制的高效分布式賬本協(xié)議,可以解決區(qū)塊鏈網(wǎng)絡(luò)面臨的所有主要問題。Devvio表示,它的協(xié)議每秒可執(zhí)行多達(dá)800萬筆交易,這將擴(kuò)大全球金融業(yè)務(wù)的規(guī)模。
在Devvio的“Devv”協(xié)議中,每個分片代表一個單獨(dú)的區(qū)塊鏈分類賬;該公司聲稱,隨著時間的推移,可以將數(shù)千個分片添加到全球公共區(qū)塊鏈中,最終每秒處理數(shù)千萬次交易。例如,每個分片都是Devv分散式分類賬上的獨(dú)立區(qū)塊鏈節(jié)點(diǎn),可以處理多達(dá)3000個事務(wù)。Devvio首席執(zhí)行官湯姆·安德森表示,添加另一個節(jié)點(diǎn)將使能夠處理的事務(wù)數(shù)量增加一倍。
每個分片(也是一個加密貨幣錢包)成為一個更大網(wǎng)絡(luò)上的輸入,Devvio將其稱為T1網(wǎng)絡(luò);單個分片可以通過稱為T2的獨(dú)立事務(wù)網(wǎng)絡(luò)與其他分片通信。
Forrester Research的首席分析師瑪莎?班尼特(Martha Bennett)指出,目前使用或計劃使用分片的區(qū)塊鏈框架,其功能幾乎都不一樣。
在安全性、存儲效率和計算效率方面實現(xiàn)最佳保證。關(guān)鍵的直覺是節(jié)點(diǎn)不應(yīng)該存儲復(fù)制的數(shù)據(jù);相反,它們應(yīng)該存儲編碼的數(shù)據(jù)線性組合。
例如,在瑞士非盈利組織分布式技術(shù)研究基金會(DTR)的支持下,7所大學(xué)剛剛宣布他們正在開發(fā)一個數(shù)字貨幣網(wǎng)絡(luò),通過分片來解決區(qū)塊鏈的可伸縮性和性能問題。
DTR基金會理事會成員喬伊?克魯格(Joey Krug)表示:“缺乏可伸縮性阻礙了加密貨幣的采用,(我們的)開創(chuàng)性研究正在解決這個問題?!薄伴_發(fā)人員正在將這項研究轉(zhuǎn)化為真正的可伸縮性能,這將使大量分散的金融應(yīng)用程序受益?!?/p>
Unit-e正在使用“全新的分片方式”,稱為“PolyShard”,這是一種存儲和計算解決方案,在不犧牲安全性的前提下,隨著用戶的增加而變得更高效。關(guān)鍵是,PolyShard協(xié)議將來自不同用戶和事務(wù)的數(shù)據(jù)混合在一起,仍然允許精確的數(shù)據(jù)恢復(fù),類似于服務(wù)器和存儲系統(tǒng)上的虛擬化。
然而,到目前為止,分片機(jī)制仍然處于開發(fā)和測試階段(從某種意義上講是理論階段),并且創(chuàng)建的標(biāo)準(zhǔn)化方法不僅解決了可伸縮性問題,而且解決了安全性問題。在考慮分片解決方案之前,必須解決這個挑戰(zhàn)。
Husebuy說:“對于可伸縮性來說,分片并不是一個簡單的解決方案。”“有很多細(xì)節(jié)需要考慮,我們需要一些實證實驗來支持這個理論,然后我們才能稱之為安全?!睂崿F(xiàn)必須小心假設(shè),這樣攻擊者就不會有漏洞可鉆。