国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

從擴展性角度看區(qū)塊鏈

2023-10-17 20:20:09王鋒張強劉揚劉琳琳路陽
計算機應用研究 2023年10期
關鍵詞:擴展性分片區(qū)塊鏈

王鋒 張強 劉揚 劉琳琳 路陽

摘 要:區(qū)塊鏈集成密碼學、分布式共識、P2P網絡和時間戳等技術,可實現數據一致存儲、難以竄改和防止抵賴等功能,解決了開放網絡中不依賴任何可信第三方的信任問題。去中心化的特性使得區(qū)塊鏈具有廣闊的應用前景,但隨著應用的深入與拓展,擴展性問題已成為挖掘區(qū)塊鏈技術潛力的一個關鍵挑戰(zhàn)。區(qū)塊鏈本質上仍是分布式系統(tǒng),基于此,從分布式系統(tǒng)的擴展性角度對區(qū)塊鏈的研究工作進行綜述,基于鏈上擴展、鏈下擴展和跨鏈擴展三個方面論述了區(qū)塊鏈可擴展的思路和方法,總結了近年來的研究成果;通過對現有解決方案的總結分析,探討了提高區(qū)塊鏈可擴展性所面臨的問題和未來的研究趨勢。

關鍵詞:區(qū)塊鏈; 擴展性; 分片; 跨鏈

中圖分類號:TP393 文獻標志碼:A 文章編號:1001-3695(2023)10-003-2896-12

doi:10.19734/j.issn.1001-3695.2023.02.0075

Research progress of blockchain from perspective of scalability

Wang Feng, Zhang Qiang, Liu Yang, Liu Linlin, Lu Yang

(College of Information Science & Engineering, Henan University of Technology, Zhengzhou 450001, China)

Abstract:Blockchain integrates cryptography, distributed consensus, P2P networking, and timestamping technologies, which can achieve functions such as consistent data storage, tamper resistance, and non-repudiation, solving the trust issue in open networks that do not rely on any trusted third parties. The decentralized nature of blockchain gives it a broad range of application prospects. However, as the applications become more extensive and profound, the scalability issue has become a key challenge for unlocking the full potential of blockchain technology. Blockchain is essentially still a distributed system. Based on this, this paper reviewed the research work on blockchain from the perspective of the scalability of distributed systems. It discussed the ideas and methods for blockchain scalability from three aspects: on-chain scalability, off-chain scalability, and cross-chain sca-lability. Then it summarized the research achievements in recent years. Building on the summary and analysis of existing solutions, this paper explored the challenges faced in improving blockchain scalability and discussed future research trends in this area.

Key words:blockchain; scalability; sharding; cross-chain

0 引言

區(qū)塊鏈技術起源于中本聰(Namakoto)2008年發(fā)表的《比特幣:一種點對點的電子現金系統(tǒng)》一文[1],是密碼學、分布式共識、P2P網絡、時間戳等技術的集成創(chuàng)新。區(qū)塊鏈技術能夠實現數據一致存儲、難以竄改、防止抵賴等功能,也稱為分布式賬本技術。傳統(tǒng)電子系統(tǒng)中發(fā)生的交易是以集中的方式進行,需要受信任的第三方參與,難以避免單點故障[2]和高額交易費用[3]等問題;而區(qū)塊鏈系統(tǒng)允許不受信任的實體在沒有第三方參與的情況下以不受信任的方式進行交互。區(qū)塊鏈系統(tǒng)可被認為是一個分布式數據庫,記錄區(qū)塊鏈網絡上所有的交易信息。智能合約[4]的出現進一步提高了區(qū)塊鏈交易的靈活性,使得其可以應用于復雜的交易應用場景。

區(qū)塊鏈技術與傳統(tǒng)貨幣系統(tǒng)相似,同樣存在“三元悖論”,即去中心化、安全性和可擴展性三者不可兼得[5]。可擴展性問題是隨著區(qū)塊鏈中節(jié)點和交易數量的增加而出現的。在用戶較多的公共區(qū)塊鏈(如比特幣和以太坊)中,每個節(jié)點都需要存儲和執(zhí)行計算任務來驗證每筆交易,公共區(qū)塊鏈需要大量的計算能力、高帶寬的互聯網連接和大量的存儲空間。區(qū)塊鏈的冗余存儲一定程度提高了數據的公開性和透明性,但每個節(jié)點都需要同步最新的賬本,會出現巨大的存儲壓力。截至2022年末,比特幣大小已經超過350 GB[6],從區(qū)塊鏈網絡下載完整賬本需要很長時間,直接限制了沒有足夠存儲空間的用戶加入區(qū)塊鏈網絡作為全節(jié)點。因此,必須在區(qū)塊鏈的三個方面找到平衡,并考慮具體區(qū)塊鏈應用的要求。

從擴展性角度看,區(qū)塊鏈具有不同于傳統(tǒng)的分布式系統(tǒng)的一些特征;區(qū)塊鏈系統(tǒng)本來是為了解決特定問題而設計的,比特幣及之后的一些區(qū)塊鏈系統(tǒng)在衡量去中心化、鏈上數據和資產的安全性以及用戶數量的可擴展性之后,在系統(tǒng)性能方面必然會存在瓶頸。為使區(qū)塊鏈系統(tǒng)在具體應用中減少可擴展性方面的局限,比特幣之后的部分區(qū)塊鏈系統(tǒng)進行了體系結構上的創(chuàng)新。本文從可擴展性角度對區(qū)塊鏈技術的研究工作進行總結和分析,討論主流的可擴展性解決方案及存在的相關問題和挑戰(zhàn),闡述了對區(qū)塊鏈可擴展性技術所面臨挑戰(zhàn)的思考,期望對區(qū)塊鏈可擴展性技術的研究提供幫助和啟發(fā)。

1 分布式系統(tǒng)的可擴展性

分布式系統(tǒng)的可擴展性是指系統(tǒng)為了應對將來需求的變化而提供的一種能力[7],當有新的需求出現時,系統(tǒng)無須或者僅需要少量的更改就可以支持,無須重構或者重建整個系統(tǒng)。分布式系統(tǒng)設計的核心要求之一就是系統(tǒng)要具有良好的可擴展性,構建分布式系統(tǒng)的目的是為了獲取線性的性能增長。比如用一臺計算機來解決一些問題,當增加一臺計算機后只需要一半的時間就可以解決這些問題,或者說每分鐘可以解決兩倍數量的問題,組成的新系統(tǒng)吞吐量翻了一番。提高分布式系統(tǒng)可擴展性的基本方式分為垂直擴展(vertical scaling)[8]和水平擴展(horizontal scaling)[9],如圖1所示。

垂直擴展是指通過提升單機的處理能力從而獲得系統(tǒng)的性能提升,垂直擴展又可分為兩種方式:

a)通過增強單機硬件配置而獲得系統(tǒng)性能提升。單機硬件性能可以通過增加單機的CPU核數,升級性能更好的網卡、硬盤,擴充硬盤容量和系統(tǒng)內存等方式增強,但是以硬件提升系統(tǒng)的整體性能效果有限且成本高昂。早期淘寶網的數據庫使用的是當時最高端的單機系統(tǒng)(Oracle數據庫+IBM小型機+EMC存儲)[10],隨著用戶數量的增長,在應對突發(fā)的流量激增時仍無法負荷。

b)通過優(yōu)化單機軟件架構獲得系統(tǒng)性能提升。隨著互聯網的普及,用戶數量呈幾何級數增長,系統(tǒng)交互渠道增多,應用程序的邏輯也更為復雜,C10K問題由此誕生[11],即單機同時處理1萬個請求的問題。最初的服務器是基于進程/線程的,如果有新的TCP(transmission control protocol)連接,就需要分配一個進程/線程。如果每個用戶都必須與服務器保持TCP連接才能進行實時的數據交互,如Facebook/Tencent這樣的網站同一時間的并發(fā)TCP連接很可能已經過億。而進程又是操作系統(tǒng)最昂貴的資源,如果要創(chuàng)建1萬個進程,單機操作系統(tǒng)是無法承受的,甚至有可能完全癱瘓。C10K問題的解決為單機性能突破提供了解題思路,即優(yōu)化軟件架構。解決C10K問題主要有兩種方式[12],一是對每個連接的處理分配一個獨立的進程/線程,二是用同一進程/線程同時處理若干個連接。

但無論是提升單機的硬件性能還是優(yōu)化系統(tǒng)的架構,這種擴展方式所帶來的系統(tǒng)性能提升終究是有限的。面對如Facebook/Tencent這樣擁有超級用戶規(guī)模的網站,如果并發(fā)TCP連接過億,即便把單機性能發(fā)揮到極致,也無法承載如此大的并發(fā)訪問量。水平擴展通過增加機器(或節(jié)點)的數量來提升系統(tǒng)性能的方式更受人們的青睞,成為了目前分布式系統(tǒng)主流的擴展方式,但這種方式通常面臨數據一致性和數據耐久性的問題。

一致性是高可用系統(tǒng)的關鍵指標,如果系統(tǒng)的所有節(jié)點在同一時間返回相同的數據,則認為這個系統(tǒng)是一致的。通常來講,系統(tǒng)的一致性越弱,系統(tǒng)越快,節(jié)點獲取不到最新數據的可能性也會越高。分布式系統(tǒng)為了確保每個節(jié)點都能返回相同的信息,節(jié)點之間需要更多的消息通信。但是在消息通信過程中,有些消息可能會發(fā)送失敗或丟失,甚至在這個過程中有些節(jié)點不可用。耐久性意味著數據一旦被成功存儲就可以持續(xù)使用,即使系統(tǒng)中的節(jié)點下線、崩潰或數據損壞。不同的分布式數據庫數據的耐久性也不同,數據復制是提高耐久性較為通用的做法,將同一份數據存儲在不同的節(jié)點上,即使有節(jié)點下線數據仍然可以被訪問。

復制(replication)[13]和分割(partition)[14]是將數據分布在多臺機器節(jié)點上的兩種常用方式,兩者通常一起使用。復制是指把同一份數據復制到位于不同地點的多個不同物理節(jié)點上,以冗余的方式進行存儲,目的在于降低數據獲取延遲,保證數據耐久性,提高數據可用性;分割是指對數據集進行拆分的操作,當數據集很大,單機無法保存或者處理時,通常需要系統(tǒng)對數據集進行拆分,將拆分后的數據子集存放到不同的節(jié)點。不同數據庫對此操作的定義不同,有分割、分片、區(qū)域等,但其含義基本都是相同的。

分布式系統(tǒng)的可擴展性通??梢酝ㄟ^三個方面來看:a)系統(tǒng)要能在規(guī)模上擴展,能夠把更多的用戶和資源加入到系統(tǒng)中;b)如果系統(tǒng)中的用戶和資源在地理上相隔遙遠,那么這種系統(tǒng)就是地域上可擴展的系統(tǒng);c)如果該分布式系統(tǒng)跨越多個獨立的管理機構仍然可以方便地對其進行管理,那么這個系統(tǒng)在管理上也是可擴展的。在解決實際問題時,通常會將垂直擴展和水平擴展有機地結合起來,但由于單機性能總是有極限的,通過增加機器數量的水平擴展更容易實現,成本也更加低廉。

2 從擴展性角度看區(qū)塊鏈

區(qū)塊鏈本身是一種分布式系統(tǒng),區(qū)塊鏈網絡中交易數量的增加會導致確認時間、網絡開銷以及延遲和吞吐量的增加。一方面,交易費用與決定交易的確認時間相關,通常更高的費用會有更短的確認時間;另一方面,區(qū)塊鏈本身需要保持各個節(jié)點數據的一致性,這種一致性是通過共識算法、數據的可靠傳輸、高冗余存儲和密碼學技術來實現的[15]。此外,區(qū)塊鏈系統(tǒng)中的節(jié)點需要同步最新的數據,導致通信和存儲的開銷越來越大,給區(qū)塊鏈中的節(jié)點以及系統(tǒng)的整體運行帶來巨大的挑戰(zhàn)。因此,區(qū)塊鏈的可擴展問題已成為挖掘區(qū)塊鏈技術潛力的關鍵問題。

研究人員試圖通過鏈上、鏈下和跨鏈三種方式解決這個問題,如圖2所示。鏈上方案通過處理區(qū)塊鏈內的元素來提高區(qū)塊鏈的可擴展性;鏈下方案通過將鏈上部分交易移至鏈下處理從而提高區(qū)塊鏈的可擴展性;跨鏈方案通過打通不同鏈之間的數據孤島提高區(qū)塊鏈的擴展性。

2.1 鏈上擴展

鏈上擴展是指直接修改區(qū)塊鏈的規(guī)則,改變區(qū)塊大小、出塊時間、共識機制等。比特幣TPS(transaction per second)[16]低的原因是交易確認慢、區(qū)塊容量小,相應地減少出塊時間或增大區(qū)塊容量以包含更多交易,都能夠有效地提高系統(tǒng)的吞吐量。萊特幣(LTC)將出塊時間減少到比特幣的四分之一;比特幣現金(BCH)將區(qū)塊容量提升至32 M,從而提高系統(tǒng)的可擴展性[17]。此外,部分系統(tǒng)采用較為復雜的分片方案和有向無環(huán)圖(directed acyclic graph,DAG)結構來提高區(qū)塊鏈的可擴展性。

2.1.1 輕節(jié)點

輕節(jié)點是相對于全節(jié)點而言的,是運行在小型設備的一種輕量型節(jié)點,無須同步完整賬本,僅在設備上線時對節(jié)點運行環(huán)境和輸入數據進行驗證,需要依靠全節(jié)點完成交易驗證。而全節(jié)點需要消耗自身硬件的算力、電力、網絡帶寬和存儲空間等,同步區(qū)塊鏈上的所有交易信息并參與交易數據的驗證。全節(jié)點在本地保存了一個完整的區(qū)塊鏈網絡,可進行任何交易的查詢和驗證,使去中心化成為可能,同時使得區(qū)塊鏈網絡更加安全。相對于全節(jié)點,輕節(jié)點占用的存儲空間更小,運行成本更低,因此在很多場景下都比完整節(jié)點更為實用。

SPV協(xié)議(simple payment verification protocol)[18]是首個輕節(jié)點協(xié)議。如圖3所示,SPV輕節(jié)點只需要保存所有的區(qū)塊頭數據,依靠全節(jié)點可以對交易的有效性進行驗證。輕節(jié)點的區(qū)塊頭中保存了當前區(qū)塊中所有交易組成的Merkle樹的根哈希值;任何一個交易內容的改變都會使得根哈希值發(fā)生變化。輕節(jié)點沒有同步鏈上全部數據,不能獨立驗證交易的有效性,需要依靠全節(jié)點和Merkle樹的特性來驗證交易的有效性。

輕節(jié)點依賴全節(jié)點驗證交易減弱了區(qū)塊鏈去中心化的特性,另一方面,輕節(jié)點仍需存儲所有區(qū)塊的塊頭,這意味著存儲開銷依然與區(qū)塊高度成線性關系。因此,許多研究人員對傳統(tǒng)輕節(jié)點方案進行改進,主要的改進思路有改變驗證交易數據的方式和減小塊內存儲的數據。

1)改變驗證交易數據的方式 Kiayias等人[19]提出一種非交互式工作量證明之證明機制(non-interactive proofs of proof of work,NiPoPoW),以提高使用POW算法的區(qū)塊鏈的性能和擴展其功能?;贜iPoPoW的區(qū)塊鏈無須驗證整條鏈,只需驗證區(qū)塊鏈長度的對數個數據,構建證明所需的最長子鏈,證明某個區(qū)塊包含該筆交易。與NiPoPOW中最長鏈證明的機制不同,FlyClient[20]采用概率抽樣的方法檢測作惡節(jié)點,先從整條鏈中隨機抽取k個區(qū)塊頭,然后在更新的一半子鏈中再抽樣k個區(qū)塊頭,如此循環(huán)直到剩余的子鏈長度小于k,所有抽樣出來的區(qū)塊頭集合構成驗證集,通過尋找無效的區(qū)塊頭判斷節(jié)點是否作惡。如圖4所示,抽樣結束后采用MMR(Merkle mountain range)快速識別區(qū)塊頭的有效性。

哈希鏈通過哈希函數h生成一串哈希Sj(j為自然數且≥0)。如圖5所示,鏈中的每一個元素Sk是通過前一個元素Sk-1應用哈希函數h計算出來的。Maalla等人[21]基于結合布隆過濾器的增量哈希鏈來驗證區(qū)塊數據,為區(qū)塊鏈輕節(jié)點提供數據完整性證明,從第一個交易開始增量構建哈希鏈,直到最后一個交易。假設一個區(qū)塊包含L個交易,Ti表示索引為i的交易,H(Ti)代表交易Ti的哈希值。為了計算Ti希值,需要將該交易與之前的交易(除了第一筆交易)的哈希值串聯起來,如式(1)所示。

方程的最后一個哈希值是增量哈希鏈的根,稱之為增量哈希根 (incremental hash root,INR),這個值存放在區(qū)塊頭中并發(fā)送給所有節(jié)點。節(jié)點可以通過再次計算IHR來驗證區(qū)塊數據,這個過程可以對區(qū)塊數據的完整性進行驗證;當涉及到驗證一個區(qū)塊中的單個交易時,通過結合增量哈希與布隆過濾器共同實現單個交易的驗證。

2)減小塊內存儲的數據 Kim等人[22]基于PBFT(practical Byzantine fault tolerance)共識算法進行改進,提出一種存儲壓縮共識算法SCC(storage compression consensus),降低了加入區(qū)塊鏈網絡的硬件條件,使得區(qū)塊鏈可以在物聯網領域有更為廣泛的應用。SCC區(qū)塊鏈系統(tǒng)將剩余存儲容量最小的節(jié)點選為領導者,領導者執(zhí)行區(qū)塊鏈壓縮過程并生成壓縮塊和最新塊,驗證完成后每個節(jié)點將根據自身能力存儲塊,存儲容量受限的節(jié)點存儲壓縮塊和最新塊并刪除所有先前存儲的塊;每輪共識后,重復此過程。文獻[23]提出了一種新的架構Trail來提高區(qū)塊鏈系統(tǒng)的性能,其核心是由TXO(transaction output)構建而成的Merkle樹,稱為TXO樹,其葉子節(jié)點存儲區(qū)塊中所有經過驗證的TXO的哈希值,可以判斷一個TXO是否被使用。Trail節(jié)點只保存與自己TXO相關的TXO樹的一部分——TXO樹的根哈希值。一個葉子節(jié)點的哈希值及其Merkle證明如圖6所示,TXO樹中粗邊框的節(jié)點是最右邊的葉子節(jié)點,灰色節(jié)點是最右邊葉子節(jié)點的Merkle證明。通過省略重復的Merkle證明減少區(qū)塊鏈網絡中廣播數據的大小,在提高區(qū)塊鏈系統(tǒng)性能的同時降低通信和存儲的開銷。

區(qū)塊鏈系統(tǒng)中的輕節(jié)點不是越多越好,輕節(jié)點只是方便移動設備和物聯網設備等輕量級設備使用,部分輕節(jié)點需要依賴全節(jié)點提供需要的信息;而全節(jié)點的數量則是越多越好,全節(jié)點負責交易的廣播和驗證,從而確保整個系統(tǒng)的穩(wěn)定運行。表1從輕節(jié)點的適用范圍、驗證交易時是否依賴全節(jié)點、能否獨立驗證交易、節(jié)點存儲大小幾個方面對比了上述六種典型的輕節(jié)點解決方案。經典的SPV輕節(jié)點方案只需存儲全部區(qū)塊頭,需要區(qū)塊體中數據時需要向全節(jié)點請求。改變驗證交易數據的方式不僅可以降低分布式網絡傳輸的開銷,也能夠降低輕節(jié)點對全節(jié)點的依賴。NiPoPoW中節(jié)點只需下載和驗證重要的區(qū)塊,從而大大減少同步和驗證區(qū)塊鏈所需的資源,使得區(qū)塊鏈更加輕量級。FlyClient中輕節(jié)點與全節(jié)點進行交互,以獲取代表整個區(qū)塊鏈狀態(tài)的證明,這個證明只包含區(qū)塊鏈中的一小部分,使得輕節(jié)點能夠更快地驗證區(qū)塊鏈的狀態(tài),并減少對存儲和帶寬的需求,使其更容易加入區(qū)塊鏈網絡。減小塊內存儲數據的方式不僅使得節(jié)點能夠存儲更多的區(qū)塊數據,也能降低加入區(qū)塊鏈網絡的要求,使得節(jié)點更加輕量化,更適合在資源受限的設備上運行。SCC將多個交易打包成一個壓縮塊,能夠更有效地利用存儲空間并減少系統(tǒng)存儲開銷,全節(jié)點沒有閑置存儲空間時可以簡單地刪除舊區(qū)塊,僅存儲壓縮區(qū)塊和最新區(qū)塊;Trail通過將區(qū)塊鏈網絡分成若干個區(qū)域,每個區(qū)域內只需要處理本地的交易和區(qū)塊,網絡中節(jié)點只保存與自身相關的一部分數據,從而提高區(qū)塊鏈網絡的可擴展性。輕節(jié)點方案雖然提高了區(qū)塊鏈系統(tǒng)的性能,但仍存在一些問題,輕節(jié)點只能緩解節(jié)點的存儲壓力,隨著交易數量的增加輕節(jié)點需要存儲的數據量也隨之增加。

2.1.2 分片

分片是一種擴展技術,最早應用于數據庫擴容,即將一個較大的數據集劃分為若干個子集存放在不同的服務器上[24]。區(qū)塊鏈的分片技術是一種將整個區(qū)塊鏈網絡分割成多個小片段,如圖7所示,每個分片都擁有部分節(jié)點,每個分片負責處理交易的一部分,實現了交易的并行化處理,從而提高了區(qū)塊鏈的交易吞吐量可擴展性。

根據面向對象的不同,分片方式可分為網絡分片、交易分片和狀態(tài)分片[25]。網絡分片是指將整個區(qū)塊鏈網絡分成多個區(qū)塊鏈子網絡,通常將所有節(jié)點隨機分配到不同的分片中,分片中的節(jié)點只需要處理和驗證該分片中的交易和區(qū)塊而無須處理其他分片中的信息。交易分片在網絡分片的基礎上將整個區(qū)塊鏈中的交易分成若干個組,每個組分配到不同的分片中進行處理。交易分片通常采用基于賬戶或者基于交易的方式進行劃分,基于賬戶的方式是將所有交易按照其涉及的賬戶進行分類,每個分片只處理某些特定賬戶的交易;基于交易的方式是將所有交易按照其類型或者其他屬性進行分類,每個分片只處理某些特定類型或屬性的交易。區(qū)塊鏈系統(tǒng)中節(jié)點為了可以驗證交易的有效性,需要存儲區(qū)塊鏈所有的區(qū)塊,這種存儲方式會給節(jié)點造成很大的壓力,導致全節(jié)點會越來越少,隨之系統(tǒng)的安全性也會越來越差。為了解決這個問題,提出了狀態(tài)分片這一概念,在網絡分片和交易分片的基礎上將存儲狀態(tài)也進行分片,每個分片中的節(jié)點存儲不同的部分,降低節(jié)點的存儲開銷,提高區(qū)塊鏈系統(tǒng)的存儲可擴展性。

使用分片技術將區(qū)塊鏈網絡劃分為多個分片,區(qū)塊鏈中節(jié)點數量可以隨著分片數量的增長而增加,實現了交易的并行化處理,提高了區(qū)塊鏈的可擴展性,但會犧牲部分的安全性。為了區(qū)塊鏈的安全,所有的分片都要容忍節(jié)點作惡,在大多數網絡中,容忍作惡節(jié)點數量的極限是總節(jié)點數的三分之一,超出這個限制無法保證共識過程的安全,即使整個網絡中作惡節(jié)點的數量低于這個限制,單個分片也是不安全的。如圖8所示,一個有四分之一作惡節(jié)點的網絡被平均分為四個分片,而分片3中作惡節(jié)點數量超過了三分之一,該分片是不安全的,被稱為單分片接管攻擊。大多數基于分片的區(qū)塊鏈協(xié)議使用PoW或PoS來選舉委員,委員會內使用PBFT達成共識,另一些則使用特定的共識算法。因此,將分片方案分為基于PoW和PBFT的分片方案、基于PoS和PBFT的分片方案和基于其他共識算法的分片方案。

1)基于PoW和PBFT的分片方案 Elastico[26]是首個基于分片的區(qū)塊鏈協(xié)議,核心思想是將網絡中的節(jié)點分成多個小的委員會,每個委員會處理一組單獨的交易,實現了交易的并行化處理。Elastico網絡中分片的數量隨著網絡的規(guī)模線性增長,提高了區(qū)塊鏈系統(tǒng)的吞吐量,但Elastico不支持跨分片通信,無法保證交易的原子性。Elastico網絡采用PoW算法選舉委員,委員會內部則使用PBFT算法進行共識,但委員會重組頻繁,同時交易的延遲較高。與Elastico一樣,OmniLedger[27]使用PoW+PBFT的共識方案,此外OmniLedger將可驗證隨機函數(VRF)[28]和RandHound協(xié)議[29]相結合,避免隨機性受到第三方的影響,用于分配成員和選擇領導者。OmniLedger提出了一種基于客戶端的跨分片交易協(xié)議來確保原子性,從而將通信開銷轉移到分片之外。但沒有論述Trust-but-Verify體系,如何選舉optimistic validators和core validators、如何懲罰作惡節(jié)點等。

Zamani等人[30]提出了一個基于BFT的分片協(xié)議RapidChain,在基于VSS(verifiable secret sharing)[31]的分布式隨機生成協(xié)議的基礎上,引入了一個隨機源來消除第三方隨機性的限制問題,不犧牲交易效率的前提下能夠降低失敗概率,避免陷入BFT共識算法的困境;同時在不進行委員會重組的情況下可以對多個輪次進行驗證,分片內能夠容忍1/2的作惡節(jié)點,總體能夠容忍1/3的作惡節(jié)點。但在出現大量虛假交易時,容易使系統(tǒng)陷入資產不斷在分片間轉移的循環(huán),可能導致無法進行正常的交易驗證。

2)基于PoS和PBFT的分片方案 Han等人[32]提出的分片方案允許區(qū)塊鏈網絡并行處理交易,同時通過壓縮通信次數和數據大小降低通信開銷,能夠極大提升區(qū)塊鏈網絡的吞吐量,然而分片中節(jié)點需存儲全部狀態(tài)信息,對節(jié)點要求較高且沒有進行狀態(tài)分片。Harmony使用BLS(Boneh-Lynn-Shacham)簽名算法對PBFT進行改進[33],結合PoS和改進的FBFT算法將通信復雜度由O(n2)降低到O(n),在Zilliqa的基礎上實現了狀態(tài)分片,提高了交易并行處理的速度,同時由于分布式隨機生成過程能夠確保其分片過程的安全性,但沒有詳細分析領導者作惡時改進算法的機制和安全性。

3)基于其他共識算法的分片方案 Al-Bassam等人[34]搭建了一個支持分片的區(qū)塊鏈平臺Chainspace,在PBFT的基礎上提出一種新的分布式原子提交協(xié)議(sharded Byzantine ato-mic commit,S-BAC)用于跨分片的智能合約交易。通過將計算過程和驗證過程解耦降低了系統(tǒng)的開銷、提高了系統(tǒng)的吞吐量,但沒有提供領導者選舉的細節(jié)和改善分片內部共識沖突的問題。Monoxide[35]針對現有的區(qū)塊鏈網絡吞吐量低的問題提出了異步共識組區(qū)塊鏈網絡,將區(qū)塊鏈網絡劃分成為多個獨立和并行的區(qū)域,高效處理跨越不同區(qū)域的交易。提出一種新穎的工作量證明方案Chu-ko-nu挖礦,可確保每個區(qū)域的有效挖礦能力與整個網絡處于同一級別,避免挖礦算力稀釋。

表2從分片方案的交易模型、采用的共識算法、分片容忍作惡節(jié)點數、整體容忍作惡節(jié)點數、是否支持跨分片交易、區(qū)塊鏈網絡同步方式和是否支持智能合約等方面進行分析對比。不同的分片方案目的是相同的,都是為提高區(qū)塊鏈系統(tǒng)的可擴展性。通常UTXO模型更適合交易分片,賬戶模型支持智能合約能夠實現更復雜的交易;使用不同的共識算法容忍的作惡節(jié)點數不同,上述方案只有Chainspace是需要許可的區(qū)塊鏈。多數分片方案都是基于交易分片的,只有Harmony方案實現了狀態(tài)分片,每個分片中的節(jié)點存儲不同的部分。在任何分片方案中都要考慮節(jié)點的動態(tài)變化,為了避免分片是靜態(tài)和抵御攻擊的,網絡必須接受新節(jié)點并以隨機方式將它們分配給不同的分片,即每隔一段時間網絡會重新進行劃分。基于狀態(tài)分片的方案,每個分片只維護一部分狀態(tài),因此重新劃分網絡可能會導致整個系統(tǒng)不可用,直到同步完成;新節(jié)點加入分片時必須確保節(jié)點有足夠的時間與分片的狀態(tài)同步,否則新加入的節(jié)點將拒絕處理交易。

分片數量越多,區(qū)塊鏈并行化處理交易的數量越多,但也會帶來一些問題。一方面,分片數量過多會稀釋區(qū)塊鏈網絡的算力,當單個分片的算力以及驗證節(jié)點的數量遠低于分片之前的整個網絡,容易遭受51%算力攻擊??绶制灰讜婕岸鄠€分片,較小的分片遭受攻擊時,與遭受攻擊分片相關的跨分片交易都會受到影響,分片之間需要克服雙花攻擊、跨鏈交易原子性、跨分片交易的DDoS攻擊等問題。區(qū)塊鏈網絡中,跨片交易的占比很高,因此跨片交易的可靠性和效率對區(qū)塊鏈系統(tǒng)吞吐量的影響很大。另一方面,分片數量過多會導致區(qū)塊鏈系統(tǒng)花費大量的時間處理與交易無關的事情,如何進行分片、構建委員會和分片重配置等都會帶來額外的時間開銷和通信開銷。

2.1.3 有向無環(huán)圖

有向無環(huán)圖(DAG)是一種常用的數據結構,經常被用于解決動態(tài)規(guī)劃、尋求最短路徑、數據壓縮等問題。圖9展示了鏈表、樹和有向無環(huán)圖三個復雜度遞進的數據結構。鏈表是一條帶有方向的鏈;樹是有分叉的,但是任意兩個節(jié)點間只有一條路徑能到達另外一點,也就是不存在閉環(huán);而圖是可以存在閉環(huán)的數據結構。區(qū)塊鏈通常是鏈式結構,但基于DAG的區(qū)塊鏈在結構上發(fā)生了變化。通常的區(qū)塊鏈和基于DAG的區(qū)塊鏈的結構差異如圖10所示。鏈式的區(qū)塊鏈是單線程的,而DAG結構的區(qū)塊鏈是多線程的;鏈式的區(qū)塊鏈所有交易都記錄在同一個區(qū)塊中,而DAG結構的區(qū)塊鏈每筆交易被單獨記錄;鏈式的區(qū)塊鏈組成單元是block(區(qū)塊),而在DAG中,每個交易被視為一個節(jié)點,并且每個節(jié)點可以有多個父節(jié)點和多個子節(jié)點。父節(jié)點表示此交易的輸入,子節(jié)點表示此交易的輸出,這種數據結構允許數據并行化處理,且無須等待整個區(qū)塊被挖掘,從而提高了交易速度和吞吐量。

基于DAG的區(qū)塊鏈在結構上發(fā)生了變化,根據區(qū)塊鏈網絡的拓撲結構,可分為平行、收斂和發(fā)散三種類型。

1)平行的網絡拓撲結構 平行的網絡拓撲結構是指區(qū)塊鏈中交易由一組節(jié)點以多條鏈的形式維護。節(jié)點分別維護其鏈/賬戶,復雜性取決于自身的屬性,但需要引入一種額外的排序算法。Hasgraph[36]網絡中的每個節(jié)點維護一個單獨的鏈,節(jié)點在本地創(chuàng)建一個事件用于記錄接收的信息,包含時間戳、交易的相關信息和交叉引用的哈希等,節(jié)點之間通過Gossip協(xié)議進行交互。如圖11所示,Hashgraph的網絡是由節(jié)點維護的平行鏈之間相互引用構建而成的,這些引用指向自身鏈上的最新事件,也指向該節(jié)點收到的另一個節(jié)點的最新事件,通過新交易的發(fā)生和Gossip協(xié)議的傳輸,每個節(jié)點都會收到所有的事件。哈希圖通過虛擬投票的方式來達成共識,事件最終被認為有效必須經過可見、強可見、決定三個階段,通過這種方式事件可以按照全局的總順序進行排序。

Nano[37]使用區(qū)塊點陣(block lattice)技術,每個賬戶都有一條獨立的區(qū)塊鏈,用戶只記錄與自己相關的交易,只有自身才能修改記錄,完整的交易由發(fā)送交易和接收交易兩部分組成。交易的收發(fā)是異步進行的,發(fā)起交易的一方生成一個區(qū)塊并記錄扣除的金額,接收方也生成一個區(qū)塊并記錄收到的金額,實現了瞬時交易。Nano包含賬戶持有人(account holder)和代表(representative)兩個實體,賬戶持有人離線時可以選擇一名代表進行投票,出現沖突時,由當選的代表創(chuàng)建一個關于交易沖突的投票并收集結果,在投票結束后確認具有最高累積票數(權重)的交易。但是如果沒有足夠多的人數來投票解決沖突問題會影響系統(tǒng)的穩(wěn)定。

2)收斂的網絡拓撲結構 收斂的網絡拓撲結構是指區(qū)塊鏈中交易按確定的順序組織或傾向于按確定的順序收斂。Byteball[38]網絡通過可信和有信譽的節(jié)點形成特有的主鏈,這些節(jié)點通過周期性地生成見證單元來區(qū)分普通節(jié)點,如圖12所示,每個單元都標有主鏈索引(MCI),該索引鏈接到一個見證單元,從而避免沖突。Byteball網絡中通過選舉12個見證人來避免失敗的發(fā)生,見證人可以由普通節(jié)點代替,新的候選人需要大多數用戶達成一致。Conflux[39]提出一種改進的GHOST(greedy heaviest observed subtree)算法,引入了自適應權重機制,使得Conflux能夠在用于快速確認的樂觀策略和用于抵抗攻擊的保守策略之間切換,以適應不同的工作場景。Conflux中的每個塊都有一個權重,新生成的塊將根據其過去的子圖自適應地分配權重。

3)發(fā)散的網絡拓撲結構 發(fā)散的網絡拓撲結構是指區(qū)塊鏈中交易在沒有預定順序的情況下稀疏地分布在不可預測的方向。IOTA[40]采用UTXO模型作為數據結構,將節(jié)點發(fā)布的交易構成了Tangle網絡。如圖13所示,IOTA網絡中的所有節(jié)點都存儲Tangle的副本,一個未認證的交易需要指向并認證兩個祖先交易,因此,發(fā)起交易的用戶將有助于系統(tǒng)的安全。Tangle中的每個節(jié)點都代表一個交易,但交易的不斷產生容易導致子圖向不同方向發(fā)散,雖然采用不同的算法來限制子圖的發(fā)散,但仍可能導致網絡分裂成多個孤立的集團。G-IOTA[41]在IOTA的基礎上進一步完善了激勵機制,未確認的交易需要指向并認證三個祖先交易,同時通過引入相互監(jiān)督的機制避免節(jié)點的作惡。GraphChain[42]的設計與IOTA相似,每個交易必須驗證多個(至少兩個)祖先交易并引入一種激勵機制來維護圖形結構,同時交易需要收取交易費用,從而吸引更多的礦工加入區(qū)塊鏈網絡,以快速確認交易。

區(qū)塊鏈系統(tǒng)的網絡拓撲結構是由邊和頂點組成的可視化圖形,雖然無法確定區(qū)塊鏈系統(tǒng)的最終結構,但可以間接反映協(xié)議的復雜性。表3從區(qū)塊鏈的組成單位、共識算法、交易模型、網絡拓撲結構、委員會成員選舉方式、是否支持智能合約和是否存在激勵機制等方面對上述方案進行分析對比。采用平行結構的區(qū)塊鏈,通過并行處理多條鏈來橫向擴展區(qū)塊鏈,使用這種方法的系統(tǒng)一般都有一個固定的安全閾值,在此閾值內,吞吐量可以最大程度地接近通信協(xié)議的極限;相反,一旦超過閾值,系統(tǒng)就會受到安全性的限制。因此,在不破壞安全性的情況下提高可擴展性是這一系列研究的關鍵點。采用收斂結構的區(qū)塊鏈主要包括確認主鏈和交易順序兩個步驟,主鏈既能作為可信鏈記錄歷史數據,又能解決沖突問題。這種方案在比特幣的基礎架構上進行了改進,采用更復雜的擴展規(guī)則來解決分叉問題。這種設計面臨與經典區(qū)塊鏈系統(tǒng)同樣的瓶頸,提高性能依賴于減少主鏈的確認時間,解決沖突和交易排序的時間成本限制了吞吐量的增長。采用發(fā)散結構的區(qū)塊鏈是最靈活的區(qū)塊鏈系統(tǒng),沒有嚴格或者統(tǒng)一的共識機制,交易和區(qū)塊可以任意分散在網絡中,每個系統(tǒng)只應用一個簡單的規(guī)則。這種設計通過減少確認時間提高區(qū)塊鏈系統(tǒng)的可擴展性,但是會降低系統(tǒng)的安全性或者增加系統(tǒng)的復雜性。此外,由于其非結構化的網絡可能會導致過多的隨機分叉,從而限制區(qū)塊鏈系統(tǒng)性能的提升。

盡管每種類型的系統(tǒng)都截然不同,但它們仍需要在安全性和可擴展性之間進行權衡。為了實現全局一致性,排序算法可能成為基于DAG的區(qū)塊鏈系統(tǒng)的瓶頸,排序算法的計算復雜度隨著節(jié)點數量的增加呈指數增長。小型的委員會使得平行結構的系統(tǒng)更加輕量化,但委員會成員過少或只有一個成員這種特殊的情況,可以最大限度地減少確認時間,但會引入中心化的風險。弱化對一致性的要求,可以實現高擴展性和快速確認。IOTA和Nano等系統(tǒng)只能保證部分交易的順序,能夠滿足兩方或多方之間的資產轉移,但不支持智能合約。結構良好的DAG系統(tǒng)能夠快速精確定位特定單元或交易,而發(fā)散結構的系統(tǒng)無法精確定位單元或交易。DAG網絡異步處理交易的模式在一定程度上提高了區(qū)塊鏈的可擴展性,但仍存在一些缺陷:a)由于DAG的驗證規(guī)則是后面的交易驗證前面的交易,有可能導致最后的交易遲遲無法被驗證,甚至在節(jié)點數量比較少的情況下,交易時長無法預測,容易帶來新的安全問題;b)通過見證人或超級節(jié)點原則上可以解決安全問題,但一定程度上違背了去中心化的原則。DAG技術作為區(qū)塊鏈的一個有益補充,其異步通信機制在提高擴展性、縮短確認時間和降低支付費用方面優(yōu)勢明顯,但在安全性和一致性方面也有亟待解決的問題。

2.2 鏈下擴展

鏈下擴展和鏈上擴展是相對的,鏈下擴展是指在區(qū)塊鏈主鏈之外建立第二層交易網絡,它不直接修改共識機制、區(qū)塊大小和出塊時間等區(qū)塊鏈規(guī)則,只將必要的信息記錄到區(qū)塊鏈上,或在出現數據出錯、發(fā)生糾紛等情況需要進行驗證時才與區(qū)塊鏈進行信息交互。因其擴展行為不發(fā)生在區(qū)塊鏈上被直觀地稱為鏈下擴展。鏈下擴展不受原有區(qū)塊鏈性能影響,主要擴展方案包括狀態(tài)通道、鏈下計算和鏈下存儲等。

2.2.1 狀態(tài)通道

狀態(tài)通道的實現過程可以概括為以下幾個步驟:打開狀態(tài)通道、質押資產、建立一個去中心化的制衡機制、在鏈下發(fā)送交易、對狀態(tài)簽名并發(fā)送、雙方確認狀態(tài)的改變、關閉狀態(tài)通道。狀態(tài)通道的核心思想是將在鏈上結算的交易在鏈下通過狀態(tài)通道維護中間態(tài),并且在發(fā)生糾紛時回到鏈上仲裁。目前狀態(tài)通道的主要解決方案有比特幣閃電網絡(lightning network)[43]和以太坊雷電網絡(raiden network)[44]等。閃電網絡依靠RSMC(recoverable sequence maturity contract)和HTLC(hashed time lock contract)實現[45],RSMC保證了兩個人之間的直接交易可以在鏈下完成,HTLC保證了任意兩人之間的轉賬都可以通過一條支付通道來完成。具體來說,在支付通道打開后,參與方可離線發(fā)送任何數量的交易,無須廣播到比特幣網絡。除最開始創(chuàng)建支付通道和關閉支付通道需要廣播上鏈,中間的交易過程由一系列鏈下交易記錄構成,無須存儲到區(qū)塊鏈上。創(chuàng)建支付通道相當于雙方各自用一個賬本來記錄雙方的交易記錄,當不想再與對方交易時可以關閉通道,根據賬本中的交易記錄進行最終結算和上鏈。Raiden network是狀態(tài)通道技術在以太坊中的應用,被稱為以太坊版本的閃電網絡,除了交易細節(jié)之外,遵循與閃電網絡相同的操作流程和協(xié)議。

閃電網絡主要應用在微支付場景,如果交易雙方之間進行大量的微支付交易,將所有的交易都上鏈是沒有必要的,中間狀態(tài)可以不用上鏈,只要所有微支付交易的最終狀態(tài)上鏈即可,從而避免高額的交易費用,因為即使所有微支付的交易狀態(tài)都上鏈,最后的狀態(tài)也不發(fā)生變化。所以,在鏈下記錄微支付交易的狀態(tài)信息,只將創(chuàng)建狀態(tài)及最終狀態(tài)上鏈,大量的微支付交易被壓縮為少量鏈上狀態(tài),從而提升系統(tǒng)的交易吞吐量。狀態(tài)通道只在狀態(tài)通道開啟和關閉時向區(qū)塊鏈提交信息,具有更快的交易速度和更低廉的交易成本,交易信息只在參與者之間的狀態(tài)通道中,不會被公開披露,極大提高了隱私和安全性。但狀態(tài)通道需要實時交互,在大規(guī)模應用中可能會出現擴展性問題;另一方面,參與者之間需要相互信任,如果任意一方出現問題,將會導致通道的關閉、資金被鎖定或丟失等問題。

2.2.2 鏈下計算

在區(qū)塊鏈系統(tǒng)中,交易信息需要進行全網廣播,全網節(jié)點基于共識機制處理和驗證交易信息,且每個參與節(jié)點都保存一份完整的交易歷史記錄,由此導致區(qū)塊鏈系統(tǒng)的性能受到限制。鏈下計算是通過使用外部資源來減少區(qū)塊鏈上的計算工作,將原本置于鏈上的計算工作移至鏈下處理,而鏈上僅保留驗證的部分,以此間接提升鏈上的數據處理能力。在以太坊主鏈執(zhí)行計算的成本很高,交易由網絡上的所有全節(jié)點處理,且需要收取高額的gas費用,限制了計算能力的提升。Solidity語言的創(chuàng)始人Reitwiessner團隊設計了一個降低以太坊網絡鏈上計算負載的智能合約Truebit[46]。Truebit將復雜的計算外包給一個可信的第三方,第三方負責執(zhí)行計算任務并公示運算結果,這一過程稱為求解;另一個第三方稱為挑戰(zhàn)者,驗證求解者所做的工作,以此獲得獎勵。挑戰(zhàn)者一定程度上可以避免分歧的出現,降低鏈上的計算量和gas費用,同時能夠識別出真實、正確的結果。Arbitrum方案[47]將智能合約放到鏈下進行驗證,只將處理后的最終結果記錄在以太坊鏈主鏈,提高區(qū)塊鏈的吞吐量。同時設計一種新的虛擬機(Arbitrum virtual machine,AVM)用于對不同的智能合約進行隔離和跟蹤資源使用情況,出現沖突或爭議時,通過二分法定位有爭議的指令識別并獎勵誠信的一方、懲罰不誠信的一方。但用戶取回資產到以太坊交易的延遲較高,需要一周的挑戰(zhàn)期過后才能確認。

Arbitrum和Truebit方案都是針對以太坊智能合約的可擴展性和計算密集型應用程序的解決方案,這兩種方案都使用了智能合約和虛擬機來減輕主鏈上的負載,從而提高可擴展性,但兩種方案在實現上有所差異。Truebit方案引入可信的第三方執(zhí)行和驗證區(qū)塊鏈上無法在合適的時間內執(zhí)行的計算任務并提供獎勵來激勵參與者,確保結果的正確性和公正性。Arbitrum方案采用一種離線驗證智能合約的機制,使用虛擬機協(xié)議來協(xié)調各方的狀態(tài),利用各方的數字簽名來確認各方是否已經達成一致,以此驗證虛擬機狀態(tài),通過分叉協(xié)議來解決爭議,發(fā)現并懲罰不誠實的一方。Truebit方案可以實現更高效的計算,但由于其需要引入第三方求解和驗證計算結果,可能存在一些安全和信任問題。Arbitrum方案使用了虛擬機和鏈下驗證的機制,大大降低了驗證的負擔,提高了智能合約的可擴展性和私密性,但部分參與者作惡可能會影響驗證的結果,同時方案設計較為復雜,存在使用難度較高的問題。

盡管鏈下計算可以提高區(qū)塊鏈的可擴展性,但也存在一些局限性:a)鏈下計算通常需要依賴中心化的計算節(jié)點,這些節(jié)點可能受到攻擊或崩潰,從而影響整個系統(tǒng)的可靠性和穩(wěn)定性,這與區(qū)塊鏈的去中心化原則不符;b)計算或驗證的結果必須是可信的,以保證整個區(qū)塊鏈系統(tǒng)的可靠性,如果鏈下計算或驗證的結果錯誤或存在欺騙行為,那么整個區(qū)塊鏈系統(tǒng)的可靠性也會受到影響;c)鏈下計算或驗證需要與區(qū)塊鏈進行集成,需要額外的開發(fā)工作和資源開銷,并且會導致系統(tǒng)的復雜性增加。

2.2.3 鏈下存儲

鏈下存儲是指將區(qū)塊體中數據轉移到鏈下存儲系統(tǒng),區(qū)塊體中僅存儲指向這些數據的“指針”和其他非數據信息[48],從而降低區(qū)塊鏈網絡的存儲壓力。如圖14所示,存儲數據時,將原始數據存放至非區(qū)塊鏈系統(tǒng)中,并按照規(guī)則生成該數據的唯一標志返回給區(qū)塊鏈系統(tǒng);訪問數據時,通過數據的唯一標志在非區(qū)塊鏈存儲系統(tǒng)中尋找原始數據。以比特幣為例,一個區(qū)塊大小約為1 MB,而區(qū)塊頭只有80 Byte[49],將區(qū)塊體中數據移至鏈下存儲系統(tǒng)的鏈下存儲方式能夠極大降低區(qū)塊鏈網絡的存儲壓力。根據實現方式和使用的存儲系統(tǒng),目前的鏈下存儲方案可分為基于云的鏈下存儲、基于DHT的鏈下存儲和基于IPFS的鏈下存儲。

1)基于云的鏈下存儲 Ali等人[50]提出一種去中心化的互聯網架構Blockstack,通過在區(qū)塊鏈網絡上引入虛擬鏈(virtualchain)將實際數據存放到云端,哈希值保存在區(qū)塊鏈,從而提高數據的讀寫速度。Sandhu等人[51]選擇使用雙層區(qū)塊鏈結構來處理數據,第一層選用低能耗的主節(jié)點和簡單的共識機制存儲數據;第二層使用PoW共識算法用于見證第一層。Xie等人[52]提出一種數據傳輸結構HBRSS將數據劃分為塊,并將這些塊打包形成塊環(huán),確保數據的不可竄改和不可破壞,同時使用改進的同態(tài)加密算法提高數據的私密性,使得任何第三方都可以快速、安全地處理加密數據,從而在不安全的云環(huán)境和通道進行數據傳輸處理。

2)基于DHT的鏈下存儲 分布式哈希表(distributed hash table,DHT)是一種分布式存儲方法[53],DHT在網絡每個節(jié)點存儲部分數據并負責一個小范圍內的路由,從而實現DHT網絡的尋址和存儲。Zyskind等人[54]將DHT技術應用到區(qū)塊鏈系統(tǒng)中,將數據與數據引用進行分離,數據存儲在分布式哈希表中,數據引用存放在區(qū)塊鏈上,從而提高區(qū)塊鏈系統(tǒng)的可擴展性。文獻[55]提出一種新的區(qū)塊鏈架構LightChain以提高區(qū)塊鏈網絡的通信和存儲可擴展性。LightChain網絡不論節(jié)點在系統(tǒng)中的影響(如哈希能力、帶寬)如何,所有節(jié)點都可以參與共識,節(jié)點無須存儲完整的交易數據,每個節(jié)點只需存儲全部塊和交易的一個隨機子集并響應其他節(jié)點的請求,同時在網絡中提供可尋址的節(jié)點、塊和交易,共同確保數據能夠有效的訪問。文獻[56]提出了一種基于DHT的區(qū)塊鏈雙分片存儲擴展機制,結合DHT技術和分片技術來實現區(qū)塊鏈數據的分片存儲,降低節(jié)點的存儲消耗。通過異或(XOR)運算保證分片被均勻映射到集群中的不同節(jié)點進行重疊存儲,在確保分片數據安全性和可靠性的同時提高了區(qū)塊鏈系統(tǒng)的存儲可擴展性。

3)基于IPFS的鏈下存儲 星際文件系統(tǒng)(Inter Planetary file system,IPFS)是一個點對點的分布式文件系統(tǒng)(比特幣是一種點對點的電子現金系統(tǒng)),IPFS用基于內容的尋址取代傳統(tǒng)的基于域名的尋址,如圖15所示,存放文件時會根據內容計算出唯一的加密哈希值,取回文件時用哈希值根據分布式哈希表找到文件所在的節(jié)點,取回并驗證文件數據,即用戶尋找的不再是某個地址而是儲存在某個地方的內容,且無須驗證發(fā)送者的身份,只需要驗證內容的哈希。

文獻[57]提出了一種提高物聯網流媒體設備可擴展性的方案,通過代理重新加密網絡保護物聯網流數據,利用IPFS來存儲和共享物聯網流數據,從而解決大型數據的存儲問題。用戶從鏈下存儲中訪問數據,從不可變日志和鏈上數據的來源檢查其完整性,同時為資源受限的物聯網流媒體設備開發(fā)智能合約,允許物聯網設備在鏈上發(fā)送數據塊哈希,并將所有數據塊存儲在鏈外;最后通過代理重新加密網絡保護物聯網流數據的隱私和機密性,所有加密的數據塊文件只能進行一次鏈外寫入,但可以多次讀取。文獻[58]提出了一種基于IPFS存儲的雙區(qū)塊鏈系統(tǒng),用于保護物聯網行業(yè)的農業(yè)采樣數據。主鏈以太坊為公眾提供搜索服務,物聯網鏈(ASDC)作為輔鏈存儲農業(yè)樣本數據。IPFS網絡存儲物聯網設備收集到的全部數據,同時將數據流重定向到ASDC鏈,ASDC鏈將數據存儲在塊中并生成塊哈希值,這些區(qū)塊的哈希值被上傳到以太坊主鏈并存儲在鏈上。傳統(tǒng)圖書館需要為出版物提供物理存儲空間,盡管在計算機的幫助下可以進行超高密度的信息存儲,但存儲和管理成本十分高昂;另一方面,當前主要的信息來源正在從實體圖書轉向數字圖書,面臨著記錄完整性和存儲效率的挑戰(zhàn)。文獻[59]提出一個基于智能合約和IPFS存儲方案的電子圖書館系統(tǒng)LibBlock,以應對數據密度提高和新興技術給數字化圖書館帶來的挑戰(zhàn),該系統(tǒng)能夠高效地存儲和分發(fā)數據,防止數據冗余和提供安全的訪問策略,并為管理者設計特定資源可用的機制,高效整合和利用現有的存儲和網絡資源,以更低的成本提供更好的服務。

表4從鏈下存儲系統(tǒng)的類型、應用場景、鏈下數據的安全性等方面對鏈下存儲方案進行對比?;谠频逆溝麓鎯νㄟ^云端數據庫實現數據的存儲和訪問,依靠云服務提供商進行數據備份和容災。基于云的鏈下存儲雖然將存儲壓力轉移到云端,但云存儲通常由中心化的機構提供服務,減弱了區(qū)塊鏈去中心化的特性,也無法保證數據的真實性。另一方面,云存儲服務的成本也是比較高的,需要衡量降低區(qū)塊鏈網絡存儲壓力節(jié)省的成本與云存儲帶來的額外成本的關系,同時云存儲帶來的開銷由誰來負責也是需要思考的問題。與基于云的鏈下存儲方式不同,基于DHT的鏈下存儲和基于IPFS的鏈下存儲將部分數據遷移到與區(qū)塊鏈并行的分布式系統(tǒng)中,基于DHT的鏈下存儲通過分布式哈希表實現數據的分布式存儲和訪問,基于IPFS的鏈下存儲通過IPFS網絡實現數據的內容尋址和分布式存儲。這兩種方案鏈下的數據由分布式網絡維護,在確保去中心化的同時降低了區(qū)塊鏈網絡的存儲壓力,但與傳統(tǒng)分布式存儲類似,需要冗余存儲提高數據的安全性。鏈下的分布式存儲系統(tǒng)可以由區(qū)塊鏈網絡中的節(jié)點和非區(qū)塊鏈網絡中的節(jié)點組成,從而減輕區(qū)塊鏈網絡中節(jié)點的存儲壓力。但如何確定鏈下分布式存儲系統(tǒng)中區(qū)塊鏈節(jié)點和非區(qū)塊鏈節(jié)點的比例是一個關鍵的問題,因為節(jié)點數量和類型的不同會對存儲系統(tǒng)的性能和安全性產生重要影響。一方面,區(qū)塊鏈節(jié)點的數量增長可以提高鏈下存儲系統(tǒng)的安全性和可靠性,但過多的區(qū)塊鏈節(jié)點可能會導致鏈下存儲系統(tǒng)的性能下降;另一方面,非區(qū)塊鏈節(jié)點的數量是確保鏈下存儲系統(tǒng)容錯性和可擴展性的關鍵;此外,在確定節(jié)點比例時還需要考慮節(jié)點之間的通信和協(xié)作問題,以確保鏈下存儲系統(tǒng)的效率和可靠性。鏈下存儲雖然能夠極大提高區(qū)塊鏈網絡的存儲可擴展性,但也帶來了新的問題。

2.3 基于跨鏈技術的可擴展

跨鏈技術是解決兩個或多個區(qū)塊鏈資產和數據不能轉移、傳遞和交換問題的一種技術。對不同鏈、鏈上應用和不同鏈生態(tài)的連通,從根本上解決了不同鏈之間數據孤島問題[60],無形之中成為了提高區(qū)塊鏈可擴展性的一種方法??珂溣址譃橥瑯嬫溈珂満彤悩嬫溈珂湣M瑯嬫溂磪^(qū)塊鏈底層技術是相同的,易于跨鏈的實現;異構鏈的跨鏈較為復雜,需要第三方的輔助完成跨鏈??珂湹倪^程可分為A鏈資產鎖定階段和B鏈相應資產解鎖階段兩個階段。主要挑戰(zhàn)是如何保證A鏈上的資產被鎖定,B鏈上的資產如何確定解鎖,以及如何保證A鏈和B鏈之間資產鎖定和解鎖的原子性,即對應的資產兩條鏈之間要么鎖定和解鎖成功,要么鎖定和解鎖失敗。針對以上問題,提出了不同的跨鏈技術,主要分為公證認機制、中繼/側鏈、哈希鎖定和分布式私鑰控制四類。

2.3.1 公證人機制

公證人機制[61]通過引入可信的第三方作為公證人來保證不同鏈之間資產的轉移。如圖16所示,用戶將A鏈的資產轉移到公證人指定的節(jié)點進行鎖定,確認后,公證人將相應的資產釋放到B鏈中用戶的地址。公證人機制根據簽名方式分為單簽名公證人機制、多簽名公證人機制和分布式簽名公證人機制。多簽名公證人機制和分布式簽名公證人機制能夠避免過度依賴單個公證人,在少數節(jié)點被攻擊時不影響系統(tǒng)的穩(wěn)定性。多簽名公證人機制是指通過多個公證人簽名確認交易,提高跨鏈交易的安全性。分布式簽名公證人機制實現較為復雜,借鑒多方計算的思想將唯一密鑰拆分為多個碎片,加密后隨機分配給多個公證人,只有一定比例的公證人共同簽名才能湊出完整密鑰,弱化了公證人在跨鏈交易中的中心化特性。

Interledger是公證人機制的代表性項目之一,設計一個支持不同區(qū)塊鏈系統(tǒng)進行資產交易的支付協(xié)議[62]。跨鏈交易引入可信的第三方作為公證人連接兩個區(qū)塊鏈系統(tǒng),通過協(xié)議對雙方交易資產進行托管,公證人達成共識后交易繼續(xù)進行,托管的資產才會被釋放。Wu等人[63]搭建了一個基于周期性委員會輪換機制的異構鏈通信框架,將公證人機制和中繼有機的結合,通過定期重組委員會和優(yōu)先更換故障節(jié)點來保證系統(tǒng)的可靠性。由于引入了委員會作為中繼,設計了基于PBFT的消息驗證機制,以適應委員會的輪換并提高消息驗證的速度。

2.3.2 側鏈/中繼

側鏈[64]最初是為了實現比特幣和其他數字貨幣流通提出的,側鏈協(xié)議通過互相錨定(如美元錨定黃金)將兩條不同的區(qū)塊鏈連接起來,使資產能夠在不同的區(qū)塊鏈之間流通。通常將第一條鏈稱為主鏈,另一條稱為側鏈,因兩者相互獨立,自身鏈上的創(chuàng)新或更改不會對主/側鏈運行造成大的影響。BTC Relay是側鏈技術的典型應用,通過以太坊智能合約將以太坊網絡連接到比特幣網絡,允許用戶在以太坊上驗證比特幣交易[65]。中繼不同于側鏈的雙向錨定,而是將中繼鏈作為第三方公證人實現資產交易。如圖17所示,中繼鏈是在主鏈和側鏈之間之間添加一條區(qū)塊鏈來連接兩條不同的區(qū)塊鏈,通過第三條區(qū)塊鏈實現價值和信息的交換。

中繼相對于側鏈而言更加靈活,應用場景更廣泛。微眾銀行自主研發(fā)的跨鏈交互平臺WeCross采用基于路由互連的跨鏈架構[66],通過跨鏈接口對智能合約和資產進行抽象的包裝,設計出統(tǒng)一的資源范式,解決不同鏈之間數據結構和不同數據難以互認的問題。最后,基于統(tǒng)一的調用方法實現不同區(qū)塊鏈的統(tǒng)一調用,弱化不同區(qū)塊鏈的細節(jié)差異。Tendermint團隊設計的異構網絡Cosmos[67]同樣是基于中繼機制實現跨鏈交互的。使用基于PoS和BFT算法改進的Tendermint共識算法達成共識,每秒可處理數千筆交易,其嚴格的問責制度可以在發(fā)生分叉時確認責任,防止參與者作惡。如圖18所示,Cosmos網絡基于IBC(inter-blockchain communication)協(xié)議實現中繼通信,為多個不同的區(qū)塊鏈互相通信建立信任基礎,所有并行鏈(Zone)的代幣可以安全、快速地從一個并行鏈轉移到另一個并行鏈,同時記錄每個并行鏈代幣的數量,從而不依賴受信任的第三方讓資產在區(qū)塊鏈之間轉移。

2.3.3 哈希鎖定

哈希鎖定(hashed time lock contract,HTLC)是一種基于原子交換的協(xié)議[68],通過帶有哈希鎖和時間鎖的合約進行資產鎖定,設置相應的時間和解鎖條件來實現資產交換,超出指定時間后將資產物歸原主。哈希鎖定無須可信的第三方參與,通過資產質押的方式在不受信任的交易雙方之間完成資產轉移,在超時后交易雙方能夠取回各自的資產,避免拖欠交易,降低交易風險。哈希鎖定機制只支持資產或者信息交換而不支持資產或者信息的轉移。圖19展示了A和B交換資產的具體過程。a)A隨機生成密鑰s,通過哈希函數得到s的哈希值h,將其發(fā)送給B;b)A通過合約鎖定A鏈上的資產x,設置一個鎖定時間T1,解鎖條件為B獲取密鑰s;c)B通過合約鎖定在B鏈上得資產,設置一個鎖定時間T2(T2

比特幣閃電網絡是哈希鎖定技術的一個典型應用,依靠RSMC和HTLC實現。RSMC保證了兩個人之間的直接交易可以在鏈下完成,HTLC保證了任意兩人之間的轉賬都可以通過一條支付通道來完成[69]。支付通道相當于雙方各自用一個賬本來記錄交易信息,除創(chuàng)建支付通道和關閉支付通道時需要廣播上鏈,中間的交易過程由一系列鏈下交易記錄構成,不再上鏈。在支付通道打開后,交易雙方可離線發(fā)送任意數量的交易,每一筆交易都需要經過交易雙方簽名認證,交易完成或不再進行交易時關閉通道,最終將經過雙方認可的最新交易結果廣播上鏈。

2.3.4 分布式私鑰控制

分布式私鑰控制[70]是指私有資產通過分布式私鑰生成和控制技術映射到一條新的區(qū)塊鏈上,在新的鏈上部署智能合約完成資產交換。分布式私鑰控制在分布式簽名公證人機制的基礎上進一步避免中心化的風險,原始資產從原始鏈轉移到跨鏈時,跨鏈節(jié)點將向合約指定用戶發(fā)放相應的等值代幣。為確保原始鏈的資產能夠跨鏈交易引入鎖定和解鎖技術對資產進行管理。鎖定是指使用密鑰控制的數字資產進行分布式控制管理和資產映射的過程;解鎖是利用分布式私鑰對鎖定的代幣進行解鎖操作,將數字資產的控制權返回給所有者。

以Fusion[64]項目為例,各種加密資產可以通過分布式私鑰控制映射到Fusion鏈上,這些資產可以通過合約進行交互,這一過步驟通過lock-in(鎖定)和lock-out(解鎖)實現。lock-in過程如圖20所示,用戶發(fā)起請求,Fusion將密鑰分片并隨機分發(fā)給網絡中的不同節(jié)點,告知用戶生成的lock-in地址,用戶將指定資產轉入生成的lock-in地址中,完成后Fusion通過智能合約進行鎖定并驗證和更新用戶的資產信息。lock-out階段用戶發(fā)起請求后,首先檢查映射賬戶中的信息,滿足預設條件后進行密鑰驗證,通過后解除控制管理,完成控制權交接后通過智能合約同步更新賬戶信息記錄。

表5從安全性、局限性、是否支持智能合約部署、是否需要信任基礎、交易速度、互操作性、是否支持跨鏈資產轉移、是否支持跨鏈資產抵押和典型項目等方面對公證人機制、側鏈/中繼、哈希鎖定分布式私鑰控制四種跨鏈技術進行分析對比。不同的跨鏈技術在適用的場景、信任基礎、支持的功能以及實現難易程度上存在差異。公證人機制和哈希鎖定都是較成熟且簡單的方案,公證人機制依靠公證人來驗證跨鏈交易的合法性和有效性,引入中心化機構弱化了去中心化的特性。哈希鎖定是一種用于驗證跨鏈交易的安全技術,通過將交易哈希值作為鎖定條件來確保交易的合法性和有效性,無須引入第三方機構,相對于公證人機制具有更高的可靠性,但是只支持數字資產的交換。側鏈/中繼技術通過引入側鏈/中繼鏈提高跨鏈交易的可信度和可靠性,可以將不同區(qū)塊鏈之間的數據和資產進行無縫的交換和傳遞,但側鏈/中繼技術會增加整個系統(tǒng)的安全風險,在不同的鏈之間進行交互會引入新的安全問題,同時會涉及用戶的隱私問題。分布式私鑰控制通過將數字資產的私鑰分散存儲在多個節(jié)點,避免單點故障的同時提高了數字資產的安全性,但需要對私鑰的分配、控制和管理進行有效的管理和監(jiān)控,否則會導致私鑰部分丟失或被泄露,密鑰分發(fā)需要額外的管理和監(jiān)控開銷才能確保私鑰的安全性和可用性??珂溂夹g雖然解決了不同鏈之間的數據孤島問題,但也帶來了新的挑戰(zhàn),不同的跨鏈技術發(fā)展的側重點不同,需要考慮實際的應用場景選用結合不同的技術來解決問題。此外,跨鏈系統(tǒng)將交易分散到不同的鏈上,并行化處理的難度變得更大,同時也對資產的安全和數據的隱私保護提出了更高的要求。

3 總結與展望

3.1 面臨的挑戰(zhàn)

1)安全問題 區(qū)塊鏈采用一系列密碼學算法來確保數據傳輸安全,但迄今為止其面臨的最大挑戰(zhàn)仍是安全問題,尤其是公有鏈,絕大部分鏈上數據都是公開的。對于鏈上擴展方式,輕節(jié)點與全節(jié)點的依賴關系是無可避免的,這時全節(jié)點的安全性代表了區(qū)塊鏈的安全性,如果全節(jié)點作惡,短時間內輕節(jié)點容易被欺騙,因此如何提高輕節(jié)點的安全性需要更加深入的研究。分片方案通過將區(qū)塊鏈網絡劃分為多個分片,可能存在某些分片中存在大量惡意節(jié)點或存在過小的分片,更容易遭受攻擊。此外,過多的分片導致交易延遲增長,難以避免雙花問題?;贒AG的區(qū)塊鏈網絡拓撲結構較為復雜,存在某些交易長時間無法確認的問題,引入見證人或超級節(jié)點帶來了中心化的風險。

鏈下擴展方式將數據移至鏈下處理,提高了數據泄露的風險。一方面,區(qū)塊鏈需要頻繁與鏈下系統(tǒng)交互,信息交互的安全難以保障;另一方面,鏈下存儲方案無法保證鏈下系統(tǒng)數據的真實性,同時非區(qū)塊鏈系統(tǒng)可能靠非法交易數據謀取利益??珂湐U展方案需要考慮的安全問題更為復雜,公證人信任問題、防止偽造資產轉移、交易超時處理、如何保證獲取數據的可信和競爭條件攻擊等。此外,跨鏈技術雖然實現了不同鏈之間的交互,但交易被分散到不同的鏈上,增加了并行化處理的難度,對資產的安全和數據的隱私保護提出更高的要求。

2)應用問題 區(qū)塊鏈分為公有鏈、聯盟鏈和私有鏈。公有鏈是完全開放的網絡,所有用戶都可以參與系統(tǒng)維護;聯盟鏈是有限開放的網絡,鏈中的參與方需要事先約定;私有鏈由個人或者私人機構所有,不對外開放。不同的區(qū)塊鏈平臺(如超級賬本、以太坊)提供不同的服務,不適合所有的應用類型。區(qū)塊鏈平臺支持的共識算法不同,交易速度不同,都會對應用程序類型產生影響,在不同領域的應用應選用相宜的方案以突出其優(yōu)勢和限制。

鏈上擴展更適合節(jié)點規(guī)模較大的公有鏈和聯盟鏈。輕節(jié)點方案更適合便攜的小型設備或物聯網設備等,雖然許多研究人員提出不依賴全節(jié)點的方案,但功能依然無法與全節(jié)點相比。分片方案可能導致分片過大或過小,分片過小時只需少量的資源惡意節(jié)點就可以完全控制一個分片。為了避免交易涉及到的用戶隱私信息泄露給惡意節(jié)點,未來的區(qū)塊鏈系統(tǒng)需要更多的隱私保護技術,但在采用了隱私保護技術的區(qū)塊鏈系統(tǒng)上,如何實現資產以及數據的跨鏈將成為一個涉及技術實現和效率的雙重問題。是否支持輕客戶端對區(qū)塊鏈系統(tǒng)的推廣至關重要,DAG網絡因其特殊的拓撲機構難以向輕客戶端提供證明,目前不支持輕客戶端的應用。

狀態(tài)通道將微支付交易在鏈下處理,雖然提高了區(qū)塊鏈的吞吐量,但只能用于數字支付領域。鏈下存儲方案將數據轉移至第三方可信賴的存儲系統(tǒng),減弱了區(qū)塊鏈的去中心化特性,不適用于公有鏈場景;同時查詢數據的效率受到鏈上系統(tǒng)和鏈下系統(tǒng)交互的影響,不適用于溯源、存證等領域。

跨鏈技術隨著區(qū)塊鏈技術的發(fā)展而深入,但目前缺乏一個統(tǒng)一的標準??珂渽f(xié)議為實現不同區(qū)塊鏈的互連互通需要考慮不同區(qū)塊鏈的兼容性問題,確保交易能夠互相接收。一方面,區(qū)塊鏈系統(tǒng)的不斷更新,改進共識算法、區(qū)塊大小和新功能的出現等都會影響跨鏈協(xié)議的兼容性;另一方面,多個區(qū)塊鏈相互連接將導致區(qū)塊鏈系統(tǒng)整體的復雜度上升。此外,最初許多區(qū)塊鏈在設計時并未考慮跨鏈應用,這些因素都會影響跨鏈技術的應用。

3)效率問題 隨著區(qū)塊鏈數據的不斷增長,查找數據的效率變得越來越低,特別是鏈下存儲方案,需要到非區(qū)塊鏈系統(tǒng)檢索數據,如果存在惡意節(jié)點不僅會返回錯誤信息,還會影響查詢的準確性。因此,在提高區(qū)塊鏈可擴展性的同時需要更高效的數據查詢方法。分片是提高區(qū)塊鏈可擴展性廣泛采用的方法之一,區(qū)塊鏈的吞吐量與分片的數量成正比,但分片數量的增加也會降低每個分片的資源和計算能力。當分片過小時,惡意攻擊者只需少量的資源就可以完全控制一個分片。因此,需要大量的研究優(yōu)化分片數量更有效地擴展區(qū)塊鏈網絡。

各種基于分片的解決方案,如Elastic、Omniledger和Rapidchain等,雖然實現了低延遲、高吞吐量、存儲可擴展和拜占庭容錯等目標,但增加了消息的復雜度。在這些方案中,只有Rapidchain在不犧牲安全性的情況下能夠提供更好的可擴展性,消息復雜度為O(n),如何降低區(qū)塊鏈內部的消息復雜度,尤其在分片內部,是需要進一步探索的領域。

3.2 未來研究方向

1)研究更高效的的安全機制 現階段的解決方案仍存在一些安全問題,輕節(jié)點方案需要保證輕節(jié)點與全節(jié)點信息交互的安全、分片過小易遭受攻擊、鏈下系統(tǒng)與鏈上系統(tǒng)交互的安全、跨鏈交互的安全等;另一方面,量子計算機的不斷發(fā)展也給經典密碼學造成沖擊和挑戰(zhàn),設計能夠抵御量子攻擊的密碼系統(tǒng)也是需要考慮的問題。因此,需要研究更高效或更有針對性的安全機制。

2)研究分叉監(jiān)測委員會機制 分叉的形成也是限制區(qū)塊鏈可擴展性的原因之一,通常采用最長鏈原則處理這些分叉。但如果沒有合適機制地避免分叉出現仍會浪費大量的資源,從而影響區(qū)塊鏈的整體性能。針對這一問題可以建立分叉監(jiān)測委員會(可以由激勵節(jié)點組成),委員會與礦工節(jié)點是分離的,由委員會持續(xù)監(jiān)測分叉的形成。

3)研究信譽管理方法和負載平衡機制 交易通信成本指的是完成一次交易所需的通信費用,現有的解決方案,為了降低交易通信成本,要么犧牲可靠性和區(qū)塊鏈的去中心化性質,依賴可信任的硬件,要么假設所有節(jié)點都被激勵且無作惡行為。可以探索部署分散信譽管理方法和負載平衡機制,并采用更具吸引力的激勵策略防止不受信任的節(jié)點或沒有可信硬件的節(jié)點的異常行為。

4)研究更具普適性的通用跨鏈體系架構 隨著區(qū)塊鏈技術在不同場景的應用,跨鏈技術也得到進一步的發(fā)展。區(qū)塊鏈互操作性需要建立標準化的體系架構,不兼容的標準會阻礙區(qū)塊鏈互操作性的發(fā)展,沒有標準的跨鏈工作聯通困難、難以監(jiān)管??珂溂夹g在降低跨鏈機制中心化、減輕主鏈負擔方面可以進行更深入的探索和研究。

4 結束語

區(qū)塊鏈是一種新型的分布式計算基礎平臺,具有以前計算平臺所不具備的技術優(yōu)勢,其相關的理論和技術備受研究人員的關注。隨著區(qū)塊鏈技術的快速發(fā)展,區(qū)塊鏈的可擴展性已成為制約區(qū)塊鏈大規(guī)模應用的阻礙,為了推動傳統(tǒng)行業(yè)進行數字化轉型,構建信任體系,促進行業(yè)發(fā)展,研究區(qū)塊鏈的可擴展性問題是很有必要的。本文從擴展性角度出發(fā),首先介紹分布式系統(tǒng)的可擴展性,其次分析了鏈上、鏈下和跨鏈三類提高區(qū)塊鏈可擴展性技術的研究進展,最后闡述了對提高區(qū)塊鏈可擴展性技術所面臨挑戰(zhàn)的思考和總結。

參考文獻:

[1]Vacca A, Di Sorbo A, Visaggio C A, et al. A systematic literature review of blockchain and smart contract development: techniques, tools, and open challenges[J].Journal of Systems and Software,2021,174(4):110891.

[2]邵奇峰,張召,朱燕超,等.企業(yè)級區(qū)塊鏈技術綜述[J].軟件學報,2019,30(9):2571-2592.(Shao Qifeng, Zhang Zhao, Zhu Yanchao, et al. Survey of enterprise blockchains[J].Journal of Software,2019,30(9):2571-2592.)

[3]Berdik D, Otoum S, Schmidt N, et al. A survey on blockchain for information systems management and security[J].Information Processing & Management,2021,58(1):102397.

[4]劉雙印,雷墨鹥兮,王璐,等.區(qū)塊鏈關鍵技術及存在問題研究綜述[J].計算機工程與應用,2022,58(3):66-82.(Liu Shuangyin, Lei Moyixi, Wang Lu, et al. Survey of blockchain key technologies and existing problems[J].Computer Engineering and Applications,2022,58(3):66-82.)

[5]鄧小鴻,王智強,李娟,等.主流區(qū)塊鏈共識算法對比研究[J].計算機應用研究,2022,39(1):1-8.(Deng Xiaohong, Wang Zhiqiang, Li Juan, et al. Comparative research on mainstream blockchain consensus algorithms[J].Application Research of Compu-ters,2022,39(1):1-8.)

[6]Singh S, Hosen A S M S, Yoon B. Blockchain security attacks, challenges, and solutions for the future distributed IoT network[J].IEEE Access,2021,9:13938-13959.

[7]朱盼盼,張彤,鄭宇寧,等.分布式存儲系統(tǒng)中糾刪碼數據修復算法優(yōu)化與實現[J].計算機應用研究,2020,37(S1):140-142.(Zhu Panpan, Zhang Tong, Zheng Yuning, et al. Optimization and implementation on data repair algorithm for erasure codes in distributed storage system[J].Application Research of Computers,2020,37(S1):140-142.)

[8]Sadeeq M A, Zeebaree S. Energy management for Internet of Things via distributed systems[J].Journal of Applied Science and Technology Trends,2021,2(2):59-71.

[9]Hakim D K, Riyanto J K, Fauzan A. Pengujian algoritma load balancing pada virtualisasi server[J/OL].Sainteks,2020,16(1).http:/doi.org/10.30595/sainteks.v16i1.7015.

[10]高晶,王粟.數據庫技術的發(fā)展現狀與趨勢研究[J].無線互聯科技,2018,15(3):35-37.(Gao Jin, Wang Su. Study on the development status and trend of database technology[J].Wireless Internet Technology,2018,15(3):35-37.)

[11]田真真,蔣維,鄭炳旭,等.基于服務器集群的負載均衡優(yōu)化調度算法[J].計算機科學,2022,49(Z1):639-644.(Tian Zhenzhen, Jiang Wei, Zheng Bingxu, et al. Load balancing optimization sche-duling algorithm based on server cluster[J].Computer Science,2022,49(Z1):639-644.)

[12]Atto K, Kotova E E. Communicative strategies simulation in intelligent learning environment[C]//Proc of IEEE Communication Strategies in Digital Society Seminar.Piscataway,NJ:IEEE Press,2020:37-39.

[13]朱濤,郭進偉,周歡,等.分布式數據庫中一致性與可用性的關系[J].軟件學報,2018,29(1):131-149.(Zhu Tao, Guo Jinwei, Zhou Huan, et al. Consistency and availability in distributed database systems[J].Journal of Software,2018,29(1):131-149.)

[14]潘恒,錢海洋,姚中原,等.典型區(qū)塊鏈存儲與查詢技術綜述[J].鄭州大學學報:理學版,2022,54(6):34-50.(Pan Heng, Qian Haiyang, Yao Zhongyuan, et al. A survey of typical blockchain storage and query technologies[J].Journal of Zhengzhou University:Natural Science Edition,2022,54(6):34-50.)

[15]傅麗玉,陸歌皓,吳義明,等.區(qū)塊鏈技術的研究及其發(fā)展綜述[J].計算機科學,2022,49(Z1):447-461,666.(Fu Liyu, Lu Gehao, Wu Yiming, et al. Overview of research and development of blockchain technology[J].Computer Science,2022,49(Z1):447-461,666.)

[16]Thakkar P, Nathan S, Viswanathan B. Performance benchmarking and optimizing Hyperledger Fabric blockchain platform[C]//Proc of the 26th IEEE International Symposium on Modeling,Analysis,and Simulation of Computer and Telecommunication Systems.Piscataway,NJ:IEEE Press,2018:264-276.

[17]Sanka A I, Cheung R C C. A systematic review of blockchain sca-lability:issues, solutions, analysis and future research[J].Journal of Network and Computer Applications,2021,195(12):103232.

[18]Nakamoto S. Bitcoin: a peer-to-peer electronic cash system[EB/OL].(2009-03).https://bitcoin.org/bitcoin.pdf.

[19]Kiayias A, Miller A, Zindros D. Non-interactive proofs of proof-of-work[C]//Proc of the 24th International Conference on Financial Cryptography and Data Security.Cham:Springer,2020:505-522.

[20]Bünz B, Kiffer L, Luu L, et al. FlyClient:super-light clients for cryptocurrencies[C]//Proc of IEEE Symposium on Security and Privacy.Piscataway,NJ:IEEE Press,2020:928-946.

[21]Maalla M A, Bezzateev S V. Efficient incremental hash chain with probabilistic filter-based method to update blockchain light nodes[J].Naucˇno-Tehnicˇeskij Vestnik Informacionnyh Tehnologij, Mehaniki I Optiki,2022,22(3):538-546.

[22]Kim T, Noh J, Cho S. SCC: storage compression consensus for blockchain in lightweight IoT network[C]//Proc of IEEE Internatio-nal Conference on Consumer Electronics.Piscataway,NJ:IEEE Press,2019:1-4.

[23]Nagayama R, Banno R, Shudo K. Trail: a blockchain architecture for light nodes[C]//Proc of IEEE Symposium on Computers and Communications.Piscataway,NJ:IEEE Press,2020:1-7.

[24]李國,殷俊鋒,李靜.LS&SSS-RS:可更新密鑰分片的數據安全散布方法[J].計算機應用研究,2021,38(5):1533-1538.(Li Guo, Yin Junfeng, Li Jing. LS&SSS-RS:updatable key sharding method for data security dissemination[J].Application Research of Compu-ters,2021,38(5):1533-1538.)

[25]黃華威,孔偉,彭肖文,等.區(qū)塊鏈分片技術綜述[J].計算機工程,2022,48(6):1-10.(Huang Huawei, Kong Wei, Peng Xiaowen, et al. Survey on blockchain sharding technology[J].Computer Engineering,2022,48(6):1-10.)

[26]Luu L, Narayanan V, Zheng C, et al. A secure sharding protocol for open blockchains[C]//Proc of ACM SIGSAC Conference on Compu-ter and Communications Security.New York:ACM Press,2016:17-30.

[27]Kogias E K, Jovanovic P, Gailly N, et al. Enhancing bitcoin security and performance with strong consistency via collective signing[C]//Proc of the 25th USENIX Conference on Security Symposium.Berkeley,CA:USENIX Association,2016:279-296.

[28]Gilad Y, Hemo R, Micali S, et al. Algorand:scaling Byzantine agreements for cryptocurrencies[C]//Proc of the 26th Symposium on Operating Systems Principles.New York:ACM Press,2017:51-68.

[29]汪浩,姜順,潘豐.基于Round-Robin協(xié)議網絡化系統(tǒng)的故障檢測[J].信息與控制,2019,48(5):595-602.(Wang Hao, Jiang Shun, Pan Feng. Fault detection for networked control systems based on Round-Robin protocol[J].Information and Control,2019,48(5):595-602.)

[30]Zamani M, Movahedi M, Raykova M. RapidChain: scaling blockchain via full sharding[C]//Proc of ACM SIGSAC Conference on Computer and Communications Security.New York:ACM Press,2018:931-948.

[31]Kanso A, Ghebleh M. A trapdoor one-way function for verifiable secret sharing[J].High-Confidence Computing,2022,2(2):100060.

[32]Han Runchao, Yu Jiangshan, Lin Haoyu, et al. On the security and performance of blockchain sharding[EB/OL].(2021-09-24).https://eprint.iacr.org/2021/1276.pdf.

[33]Hafid A, Hafid A S, Samih M. New mathematical model to analyze security of sharding-based blockchain protocols[J].IEEE Access,2019,7:185447-185457.

[34]Al-Bassam M, Sonnino A, Bano S, et al. Chainspace: a sharded smart contract platform[EB/OL].(2017-08-12).https://arxiv.org/pdf/1708.03778.pdf.

[35]Wang Jiaping, Wang Hao. Monoxide: scale out blockchains with asynchronous consensus zones[C]//Proc of the 16th USENIX Symposium on Networked Systems Design and Implementation.Berkeley,CA:USENIX Association,2019:95-112.

[36]Baird L, Harmon M, Madsen P. Hedera:a governing council & public hashgraph network, Whitepaper 2.1[R/OL].(2020-08-15).https://hedera.com/hh_whitepaper_v2.1-20200815.pdf.

[37]LeMahieu C. Nano:a feeless distributed cryptocurrency network,Whitepaper[EB/OL].(2018-10-21).https://content.nano.org/whitepaper/Nano_Whitepaper_en.pdf.

[38]Churyumov A. Byteball: a decentralized system for storage and transfer of value[EB/OL].https://byteball.org/Byteball.pdf.

[39]Li Chenxing, Li Peilun, Zhou Dong, et al. A decentralized blockchain with high throughput and fast confirmation[C]//Proc of USENIX Annual Technical Conference.Berkeley,CA:USENIX Association,2020:515-528.

[40]田志宏,趙金東.面向物聯網的區(qū)塊鏈共識機制綜述[J].計算機應用,2021,41(4):917-929.(Tian Zhihong, Zhao Jindong. Overview of blockchain consensus mechanism for Internet of Things[J].Journal of Computer Applications,2021,41(4):917-929.)

[41]Bu Gewu, Gürcan , Potop-Butucaru M. G-IOTA:fair and confidence aware tangle[C]//Proc of IEEE Conference on Computer Communications.Piscataway,NJ:IEEE Press,2019:644-649.

[42]Tomaszuk D, Kuziński D, Sopek M, et al. A distributed graph data storage in Ethereum ecosystem[C]//Proc of the 18th International Conference on Economics of Grids,Clouds,Systems,and Services.Cham:Springer,2021:223-231.

[43]陳艷姣,朱笑天,于永瑞,等.區(qū)塊鏈閃電網絡實證分析:拓撲、發(fā)展和收費策略[J].軟件學報,2022,33(10):3858-3873.(Chen Yanjiao, Zhu Xiaotian, Yu Yongrui, et al. Empirical analysis of lightning network:topology,evolution,and fees[J].Journal of Software,2022,33(10):3858-3873.)

[44]Kim S, Kwon Y, Cho S. A survey of scalability solutions on blockchain[C]//Proc of International Conference on Information and Communication Technology Convergence.Piscataway,NJ:IEEE Press,2018:1204-1207.

[45]Que Peisi, Zeng Yihong, Gao Fei. The current situation and prospect of the development of metaverse technology[C]//Proc of the 4th International Conference on Applied Machine Learning.Piscataway,NJ:IEEE Press,2022:1-5.

[46]Teutsch J, Reitwiener C. A scalable verification solution for blockchains[EB/OL].(2019-08-12).https://arxiv.org/abs/1908.04756.

[47]Kalodner H, Goldfeder S, Chen Xiaoqi, et al. Arbitrum:scalable,private smart contracts[C]//Proc of the 27th USENIX Security Symposium.Berkeley,CA:USENIX Association,2018:1353-1370.

[48]孫知信,張鑫,相峰,等.區(qū)塊鏈存儲可擴展性研究進展[J].軟件學報,2021,32(1):1-20.(Sun Zhixin, Zhang Xin, Xiang Feng, et al. Survey of storage scalability on blockchain[J].Journal of Software,2021,32(1):1-20.)

[49]Cao Mingpei, Wang Hao, Yuan Tailing, et al. Meta-regulation:adaptive adjustment to block size and creation interval for blockchain systems[J].IEEE Journal on Selected Areas in Communications,2022,40(12):3702-3718.

[50]Ali M, Nelson J, Shea R, et al. Blockstack: a global naming and storage system secured by blockchains[C]//Proc of the 19th USENIX Annual Technical Conference.Berkeley,CA:USENIX Association,2016:181-194.

[51]Sandhu R K, Osei-Bryson K M A. A blockchain-based security-oriented framework for cloud federation[EB/OL].(2018-10-20).https://digitalcommons.kennesaw.edu/cgi/viewcontent.cgi?article=1063&context=ccerp.

[52]Xie Hui, Zhang Zhengyuan, Zhang Qi, et al. HBRSS:providing high-secure data communication and manipulation in insecure cloud environments[J].Computer Communications,2021,174(6):1-12.

[53]Lobo P A, Sarasvathi V. Distributed file storage model using IPFS and blockchain[C]//Proc of the 2nd Global Conference for Advancement in Technology.Piscataway,NJ:IEEE Press,2021:1-6.

[54]Zyskind G, Nathan O. Decentralizing privacy:using blockchain to protect personal data[C]//Proc of IEEE Security and Privacy Workshops.Washington DC:IEEE Computer Society,2015:180-184.

[55]Hassanzadeh-Nazarabadi Y, Küpü A, zkasap . LightChain: sca-lable DHT-based blockchain[J].IEEE Trans on Parallel and Distributed Systems,2021,32(10):2582-2593.

[56]Zhao Jindong, Zhang Donghong, Liu Wenxuan, et al. DHT-based blockchain dual-sharding storage extension mechanism[J/OL].Applied Sciences,2022,12(19).https://doi.org/10.3390/app12199635.

[57]Hasan H R, Salah K, Yaqoob I, et al. Trustworthy IoT data strea-ming using blockchain and IPFS[J].IEEE Access,2022,10:17707-17721.

[58]Ren Wei, Wan Xutao, Gan Pengcheng. A double-blockchain solution for agricultural sampled data security in Internet of Things network[J].Future Generation Computer Systems,2021,117(4):453-461.

[59]Chiu W Y, Meng Weizhi, Li Wenjuan. LibBlock:towards decen-tralized library system based on blockchain and IPFS[C]//Proc of the 18th International Conference on Privacy,Security and Trust.Piscataway,NJ:IEEE Press,2021:1-9.

[60]孟博,王乙丙,趙璨,等.區(qū)塊鏈跨鏈協(xié)議綜述[J].計算機科學與探索,2022,16(10):2177-2192.(Meng Bo, Wang Yibing, Zhao Can, et al. Survey on cross-chain protocols of blockchain[J].Journal of Frontiers of Computer Science & Technology,2022,16(10):2177-2192.)

[61]Pillai B, Biswas K, Muthukkumarasamy V. Cross-chain interoperability among blockchain-based systems using transactions[J].The Knowledge Engineering Review,2020,35:e23.

[62]孫浩,毛瀚宇,張巖峰,等.區(qū)塊鏈跨鏈技術發(fā)展及應用[J].計算機科學,2022,49(5):287-295.(Sun Hao, Mao Hanyu, Zhang Yanfeng, et al. Development and application of blockchain cross-chain technology[J].Computer Science,2022,49(5):287-295.)

[63]Wu Zhihui, Xiao Yang, Zhou Enyuan, et al. A solution to data accessibility across heterogeneous blockchains[C]//Proc of the 26th IEEE International Conference on Parallel and Distributed Systems.Piscataway,NJ:IEEE Press,2020:414-421.

[64]Cao Ling, Song Bo. Blockchain cross-chain protocol and platform research and development[C]//Proc of International Conference on Electronics,Circuits and Information Engineering.Piscataway,NJ:IEEE Press,2021:264-269.

[65]Guo Zhilian, Liu Lixian, Liang Zhihong, et al. Blockchain cross-chain technology research[C]//Proc of the 5th IEEE Advanced Information Management,Communicates,Electronic and Automation Control Conference.Piscataway,NJ:IEEE Press,2022:1064-1070.

[66]Wang Changjing, Jiang Huiwen, Zeng Jingshan, et al. A review of blockchain layered architecture and technology application research[J].Wuhan University Journal of Natural Sciences,2021,26(5):416-428.

[67]Han J, Kim J, Youn A, et al. Cos-CBDC:design and implementation of CBDC on Cosmos blockchain[C]//Proc of the 22nd Asia-Pacific Network Operations and Management Symposium.Piscataway,NJ:IEEE Press,2021:303-308.

[68]Lan Rongjian, Upadhyaya G, Tse S, et al. Horizon:a gas-efficient,trustless bridge for cross-chain transactions[EB/OL].(2021-01-15).https://arxiv.org/abs/2101.06000.

[69]Wu Jie, Jiang Suhan. On increasing scalability and liquidation of lightning networks for blockchains[J].IEEE Trans on Network Science and Engineering,2022,9(4):2589-2600.

[70]葉祥翮,劉學業(yè),王斌輝,等.面向聯盟鏈的分布式公證人跨鏈模型[J].應用科學學報,2022,40(4):567-582.(Ye Xianghe, Liu Xueye, Wang Binhui, et al. Distributed notary cross-chain model for consortium chain[J].Journal of Applied Sciences,2022,40(4):567-582.)

收稿日期:2023-02-16;修回日期:2023-04-11

基金項目:河南省重大科技專項資助項目(201300210200,201300210100);河南省高等學校重點科研項目計劃基礎研究專項資助項目(23ZX017);河南省重點科技攻關項目(232102211082);2022年河南省網絡密碼技術重點實驗室研究課題(LNCT2022-A20)

作者簡介:王鋒(1974-),男,河南新鄭人,副教授,碩導,博士,CCF會員,主要研究方向為區(qū)塊鏈、物聯網技術;張強(1997-),男,河南南陽人,碩士研究生,主要研究方向為區(qū)塊鏈;劉揚(1978-),女(通信作者),河南洛陽人,教授,博導,博士,主要研究方向為區(qū)塊鏈、分布式計算(liu_yang@haut.edu.cn);劉琳琳(1997-),女,河南焦作人,碩士研究生,主要研究方向為區(qū)塊鏈;路陽(1999-),男,河南商丘人,碩士研究生,主要研究方向為區(qū)塊鏈.

猜你喜歡
擴展性分片區(qū)塊鏈
上下分片與詞的時空佈局
詞學(2022年1期)2022-10-27 08:06:12
分片光滑邊值問題的再生核方法
CDN存量MP4視頻播放優(yōu)化方法
基于模糊二分查找的幀分片算法設計與實現
提高初中階段學生英語擴展性閱讀能力策略分析
區(qū)塊鏈技術的應用價值分析
商情(2016年40期)2016-11-28 11:24:12
“區(qū)塊鏈”的茍且、詩和遠方
基于區(qū)塊鏈技術的數字貨幣與傳統(tǒng)貨幣辨析
高中物理如何充分利用擴展性欄目
學周刊(2016年26期)2016-09-08 09:02:56
比ITX還小華擎推首款Mini—STX主板
電腦愛好者(2016年8期)2016-04-28 20:54:47
黄龙县| 章丘市| 灵台县| 北京市| 日喀则市| 丹棱县| 高邮市| 佛坪县| 伊春市| 濮阳市| 红原县| 潮州市| 扶绥县| 安宁市| 兰州市| 资中县| 成武县| 汪清县| 福鼎市| 宁德市| 怀宁县| 襄垣县| 仁怀市| 罗山县| 齐齐哈尔市| 章丘市| 东乌珠穆沁旗| 沁源县| 都匀市| 遂川县| 新竹市| 内黄县| 泰兴市| 弥勒县| 南投县| 东宁县| 宜丰县| 海盐县| 澎湖县| 开江县| 宝丰县|