999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

區塊鏈分片技術綜述

2022-06-16 05:24:06黃華威彭肖文鄭子彬
計算機工程 2022年6期

黃華威,孔 偉,彭肖文,鄭子彬

(1.中山大學 計算機學院,廣州 510000;2.武漢理工大學 航運學院,武漢 430000)

0 概述

2016 年,LUU 等[1]提出一種Elastico 算法,其將數據庫中擴容的分片方式[2-4]與區塊鏈技術相結合,自此之后,關于區塊鏈分片技術的研究一直層出不窮,不少學者從分布式賬本、共識機制、分片方式等方面針對分片技術進行了大量研究。

區塊鏈主要包括網絡分片、交易分片、狀態分片3 種分片方式,其中,網絡分片是基礎,狀態分片是瓶頸。網絡分片通過一定的組織方式將整個網絡分成不同分片,各個分片并行處理整個區塊鏈中的部分交易,各部分交易完全不同,從而同時完成多筆交易驗證。交易分片使得各個網絡分片對交易具有更強的處理能力,其將客戶端的跨片交易分成若干個相關的子交易,不同分片的跨片交易可以并行處理。為了降低各個節點存儲賬本的壓力,狀態分片將各部分完全不同的賬本分別存儲在各個分片(分片內的節點往往存儲同一版本的賬本),整個分片網絡組成一個完整的賬本。在現行的技術條件下,網絡分片和交易分片都具有比較理想的實現方式,而實現狀態分片還存在很多技術問題,狀態分片制約著分片技術的發展。

分片技術雖然在一定程度上有效解決了區塊鏈的可擴展性問題[5],但還存在一定的不足需要改進:整個分片機制在運行過程中有大量時間用于處理交易以外的工作,同時,為了防止節點作惡,不少分片技術需要大量時間和開銷進行分片重配置[6],如何提升分片機制運行過程中用于交易處理的有效時間比率是一個需要解決的問題[7];狀態分片是分片方式中極難實現的一環,在狀態分片情境下,跨片交易的驗證過程變得極為困難,不同的分片節點存儲的賬本不同,需要通過一定的方式進行交易轉移或賬本狀態交流[8],因此,更加有效地實現數據遷移同時減輕各個節點的負擔,也是區塊鏈分片技術面臨的挑戰;分片區塊鏈的安全性也應得到研究人員的關注,更小規模的分片意味對雙花攻擊防御能力的下降,安全性更高的片內共識協議也將付出更高的共識代價,大多數協議對于安全性的分析集中在拜占庭對手規模、信息可靠性以及分片隨機性方面,而對于區塊鏈系統整體的安全性則考慮不充分,對于傳統區塊鏈中存在的攻擊方式、分片區塊鏈中獨有的攻擊方式,以及許多分片區塊鏈協議難以抵御網絡層面的攻擊,這些問題都將成為研究人員關注的焦點。

本文介紹區塊鏈分片技術的研究進展,對分片技術的一般實現步驟進行總結,通過對當前技術的對比剖析歸納分片技術所面臨的挑戰,同時對該領域未來的發展方向進行展望,以期為區塊鏈分片技術的進一步研究提供理論參考。

1 背景介紹

1.1 區塊鏈技術面臨的挑戰

區塊鏈技術起源于中本聰于2008 年提出的比特幣系統[9],在比特幣的信任模型中,用戶之間的信任源于對整個系統的信任,只要整個系統的安全假設被滿足,這種信任就可以持續。為了實現這種信任模型,整個區塊鏈所有的交易需要各個節點進行驗證和存儲,從而浪費了大量的時間和空間,也導致區塊鏈系統存在低吞吐、高延遲的瓶頸,出現嚴重的可擴展性問題。區塊鏈技術現存的一些突出問題總結如下:

1)交易吞吐量低。為了確保區塊鏈的交易不可篡改,比特幣的平均吞吐量為7 筆/s[10],以太坊[11]的平均吞吐量為30 筆/s,而現行的大型中心化交易處理場所(如Visa)每秒的交易確認數可達上千[12]。為了處理數量龐大的用戶交易,提升區塊鏈的交易吞吐量十分重要。

2)交易延遲高。在比特幣中,為了確保高安全性,各個節點之間需要頻繁地廣播交互,額外的通信開銷使得比特幣的交易延遲增大,比特幣的出塊速度一般為10 min/塊。因此,在忽略網絡因素的情況下,通過減少交易過程中的開銷從而降低交易延遲也是區塊鏈的優化目標。

3)可擴展性低。隨著節點數目的增多以及賬本容量的增大,提升區塊鏈可擴展性以及優化賬本存儲方式、提升存儲效率[13]也是亟待解決的問題。

1.2 常見區塊鏈擴容技術

為了提升區塊鏈的可拓展性,近年來,研究人員提出了多種區塊鏈擴容方案。總體而言,常見的區塊鏈擴容方案分為Layer0、Layer1、Layer2 這3 層技術[14]。其中:Layer0 層主要針對數據傳播方式進行改進;Layer1 層通過共識協議、P2P 網絡[15]、數據結構等鏈上技術實現區塊鏈性能提升,其包括分片技術、Bitcoin-NG、DAG 分布式賬本等;Layer2 層大多為非鏈上技術,如狀態通道。

1.2.1 分片技術

分片技術能夠克服區塊鏈所面臨的可拓展性問題,作為一種鏈上擴容方式,其能在不犧牲中心化程度的同時提高區塊鏈的性能,因此,分片技術逐漸成為區塊鏈擴容的主流方法之一。分片技術將整個區塊鏈網絡分成不同分片,由各分片的節點負責處理所在分片的事務以及存儲分片的狀態[16],通過并行驗證事務,整個區塊鏈的吞吐量近似線性地提升。同時,隨著節點數目的增加,整個網絡的分片數量也增多,全網的事務處理能力進一步提高。分片技術一般分為定義分片配置、片內和跨片共識協議、重配置等階段,從而構成一個完整的分片區塊鏈系統。

1.2.2 狀態通道

狀態通道[17]在區塊鏈主鏈下開展新的狀態通道供大多數交易離線使用[18],其將區塊鏈作為仲裁平臺。所有需要進行交易的網絡用戶將一定數量的資金存在鏈上,同時會與另一個用戶開啟狀態通道,并將這筆資金作為交易的抵押品。狀態通道間接地提升了系統的交易吞吐量,其最大的優勢是交易幾乎可以在一瞬間完成,其中的交易不會阻塞主鏈,但是額外創建狀態通道并不會提高區塊鏈的可擴展性。同時,狀態通道容易受到DoS 攻擊[19]。由于狀態通道是在Layer2 層進行的擴容技術,因此其與Layer1層的分片技術可以同時使用[20]。

1.2.3 Bitcoin-NG

Bitcoin-NG[21]將原先比特幣驗證和出塊的機制進行分離,能夠在一定時間內創建更多的塊,從而提升整個區塊鏈的交易處理能力。在記賬人選取階段,Bitcoin-NG 仍然采用原先的PoW 算法[22],由全網競爭記賬權,在交易記賬階段由記賬人進行交易打包和全網廣播。但是,Bitcoin-NG 對去中心化要求做了一定折中,記賬人在進行交易打包和全網廣播時所實施的不良行為,會使得整個系統面臨一定風險[23]。

1.2.4 DAG 分布式賬本

DAG 分布式賬本[24]主要對區塊鏈狀態存儲進行改進,每個交易單元或包含交易的區塊單元能夠同時被多個新加入的節點引用,多個節點可以同時向賬本中新增交易或區塊單元,因此,DAG 分布式賬本可以支持各種實際場景下的高并發需求,具有更好的可擴展性。與DAG 分布式賬本相比,分片技術更加傾向于改進交易的驗證方式,因此,兩者可以結合使用。

1.3 許可區塊鏈和無許可區塊鏈中的分片技術

許可區塊鏈(Permissioned Blockchain)[25]由具有一定程度信任并已知、已識別的參與者操作,采用更加傳統的共識協議,這種協議不需要成本高昂的挖掘過程,同時在對手規模和容錯率的設定上也更加靈活。許可區塊鏈在進行分片[26]后,通常不需要重新配置(Reconfiguration)環節,分片中的記賬權往往在少數確定的節點中,因此,節點的安全性較高[27]。在AHL[28]中,采用TEE[29]的硬件來保證可信的執行環境,在此基礎上,提出應用于許可區塊鏈的協議,該協議可以靈活地根據拜占庭節點和非拜占庭節點進行調控,從而滿足一定的安全性要求。Sharper[30]同樣也是應用于許可區塊鏈的協議,其采用分片結合DAG 分布式賬本的結構,每個分片保存一份賬本,在許可區塊鏈中不需要挖礦環節,因此,每筆交易可作為一個塊,片內事務由片內單獨成塊上鏈,跨片交易由相關分片共同維護。

無許可區塊鏈(Permissionless Blockchain)由于信任度較低(甚至不存在任何信任),因此通常采用挖礦機制,通過PoW 來驗證交易。具有代表性的無許可區塊鏈協議包括Elastico、OmniLedger[31]、RapidChain[32]等,在這類協議中,節點加入分片需要通過解決PoW 問題來驗證身份,交易在驗證后也需要一定的數據結構進行打包。Monoxide[33]是無許可區塊鏈中較前沿的技術,研究人員認為該技術同時滿足了安全、性能、去中心化3 個需求[34],連弩挖礦(Chu-ko-nu Mining)能夠在一段時間內出多個塊,同時通過多個其他分片來對多個塊進行驗證,即使全網都進行了分片,惡意節點仍然需要與全網算力進行對抗,從而保證了Monoxide 的安全性和去中心化。

2 分片技術的關鍵理論與方法概述

隨著數據庫的逐漸擴容,為了簡化各個節點的存儲空間,數據庫開始采用分片技術來提高數據的存儲效率[35]。區塊鏈和數據庫本身存在一些不同因素,區塊鏈分片技術不僅要保持對各分片中存儲賬本的維護,更要有利于區塊鏈上動態交易的驗證。因此,將分片技術引入到區塊鏈中,不僅需要將區塊鏈上的各種屬性(網絡、交易、狀態)進行分片,同時也要考慮區塊鏈本身復雜的數據結構和存儲形式[36]。

2.1 分片配置

在區塊鏈分片技術中,首先要實現網絡分片,網絡分片通常要考慮分片規模、分片安全性、分片方式等因素,分片過程通常使用隨機函數來實現。

2.1.1 Elastico

Elastico[1]使用epochRandomness 函數進行計算,每個節點都有自己的IP、PK(公鑰),結合隨機數epochRandomness 計算出滿足下式條件的nonce:

O=H(epochRandomness||IP||PK||nonce)≤2γ-D

其中:D為預定義的網絡節點解決PoW 問題的工作量大小參數;γ為預定義的H 函數的輸出位數。

每個節點根據自己的O值確定分片位置,分片中的各個節點為了確認彼此,需要進行廣播。

2.1.2 RapidChain

RapidChain[32]的分片配置只進行一次(即原文中的Bootstrap 環節),之后不斷地進行共識和重配置。在分片配置環節,整個網絡持續地從低一層的節點中構造sampler graph 以形成一個隨機二分圖[37],在所有節點完成計算后,將每個group 內哈希值最小的節點選為subgroup 成員,再由subgroup 中的成員隨機組合成更高一層的group,被選中節點發送消息告知全部節點,重復上述過程直到選出root group。root group 負責選擇參考委員會(Reference Committee)成員,參考委員會完成所有節點的隨機劃分分片。

通過以上2 種分配方式可以看出,在協議的開始階段對節點進行分片的過程,需要各個節點進行自身分片位置計算以及在同一分片節點之間進行廣播,最終完成分片內節點信息的交流。分片函數的設計往往以節點身份(IP、PK、Hash)[38]作為參數。

2.2 分片重配置

為了保證各個分片的安全性并防止節點之間作惡行為發生,在一個分片紀元之后,從原有分片中取出一部分節點并與其他分片中的節點進行交換,當有新節點加入時,需要對新加入節點進行分配。上述過程通常稱為分片重配置(Reconfiguration)[31],分片重配置的方式分為全隨機分片和部分隨機分片2 種。

2.2.1 二次全隨機分片

對所有節點進行重新分配,既能徹底防止節點之間進行作惡[39],同時也能將新節點加入分片中。新加入的節點需要解決PoW 問題,在解決PoW 問題后,節點會得到一個相對應的值(即上文epochRandomness函數中的O),供分片時計算分片位置使用。如果節點錯過當前紀元的分片環節,則等待下一個紀元再確定分片位置。解決PoW 問題提高了節點加入分片的成本,但可以有效防止女巫攻擊(Sybil Attack)[40]。

Elastico 在每個分片紀元結束后使用Randomness函數對整個網絡的節點進行重新配置。在每輪的最后,由最終委員會(Final Committee)計算出Randomness 以供下一輪隨機分片使用,隨機數被廣播至全網,整個網絡的節點通過隨機數重新計算自己所在的分片位置。

雖然二次全隨機分片能夠最大程度地保證分片后區塊鏈網絡的安全性,但是在重配置的過程中,整個網絡對于交易的驗證停滯,全網都要在重配置前后進行新舊賬本交接,在每次的二次全隨機分片期間,整個網絡都要為分片重新進行計算和廣播,無論在開銷還是時間上,都大幅降低了整個區塊鏈的性能。因此,文獻[41]提出MVCom 方案,其對Elastico協議的分片重配置設計進行優化,通過設計分布式算法[42],為每一輪若干個區塊鏈分片選取出最有價值的部分委員會,同時支持處理分片委員會的動態加入和離開,該機制可以在分片區塊鏈的交易吞吐量與分片內交易等待時延之間找到一種平衡。

2.2.2 部分重分配

在保證整個區塊鏈系統網絡安全的前提下,將部分分片節點隨機進行重分配,既能保證區塊鏈系統的安全性,又可以降低開銷,減少重配置過程的等待時間。

研究人員在RapidChain 中設計有限布谷鳥原則(Bounded Cuckoo rule)[43],在每個epoch 中都通過參考委員會將其他委員會分為2 類,分別是活躍成員占大多數的活躍委員會和不活躍成員占大多數的消極委員會。當有新節點加入時,參考委員會會將新節點隨機加到某個活躍委員會中,并把該委員會中的固定數量節點隨機加入到不同的消極委員會中,既實現了對新節點的分片處理,又調控了消極委員會和積極委員會之間的活躍節點數量,間接提高了整個區塊鏈的分片活躍度。

在進行重配置的過程中,除了需要進行遷移的節點外,分片內的其他節點仍然正常進行交易驗證,從而大幅降低了重配置過程對區塊鏈性能的影響。

2.2.3 自由選擇重分配

SSChain[44]在分片重配置上充分考慮用戶需求,當有新節點加入時,新節點可以根據增益函數GPH(BR=BlockReward,HP=HashPower,BI=BlockInterval)選擇目前收益最高的分片加入,而在當前分片的收益較低時可以退出并加入到收益高的其他分片。GPH 函數綜合考量分片出塊收益、出塊間隔以及當前哈希算力,而哈希算力的分配又綜合了對主鏈算力和分片算力的分配,既體現了對鏈安全性的考慮(即對于算力的宏觀分配),又充分考慮到用戶的個人意愿。CPH 函數計算如下:

相較前2 種重分配方式,自由選擇重配置方案能夠通過人為操作使得整個區塊鏈網絡達到收益最大化的動態平衡,但是其對于惡意行為的抵御能力低于區塊鏈系統調控下的重配置方案。

2.3 片內共識協議

在完成分片配置后,區塊鏈需要進行交易共識,共識分為片內共識和跨片共識。片內共識要求同一分片內各個節點按照所在分片的協議進行共識和廣播,最終得出整個分片的共識結果,片內共識協議主要分為基于PoW的片內共識協議和基于BFT的片內共識協議。

2.3.1 基于PoW 的片內共識協議

雖然PoW 共識龐大而復雜的計算過程消耗了大量算力,但是其結合一定節點特征的數字運算優勢在部分場景中受到人們的青睞。基于PoW 的片內共識協議通常在計算過程中以節點身份或所在分片編號為參數進行運算,節點身份標號或所在分片標號具有唯一性,因此,它們可以作為打包塊的標識符。

SSChain 和Monoxide 均采用PoW 作為片內共識協議。在Monoxide 中,分片在解決一個PoW 問題的時間內出不多于剩余其他分片數量的塊,然后將多個塊交由其他分片進行驗證并再次出塊,通過2 層共識結構確保交易的合理性。如圖1 所示,Monoxide 采用連弩挖礦(Chu-ko-nu Mining),將每個共識組的防御能力提升到51%,每次出塊時Hash 函數覆蓋多個剛要出塊的塊頭進行計算,同時這些塊頭共用一個nonce,編號b的當前共識組將這m個塊頭按序排列,構造Merkle樹[45],然后通過哈希計算覆蓋數據結構,在出塊時,相關信息會被廣播到特定的共識組i(b≤i

圖1 Monoxide 的出塊方式Fig.1 Block generation mode of Monoxide

2.3.2 基于BFT 的片內共識協議

很多協議的片內共識常會選擇使用BFT 類型的算法[46],如Elastico 采用拜占庭共識協議,OmniLedger 采用基于ByzCoin[47]的改進ByzCoinX,RapidChain 采用gossip[48],Sharper 采用PBFT[49]。基于BFT 的共識協議通過分片內多個節點驗證共識來保證交易的安全性和有效性。

Zilliqa[50]在各個分片內以較高頻率運行PBFT 共識,PBFT 共識具有最終交易性、能耗低等優點。傳統PBFT 共識中的主要環節包括pre-prepare、prepare、commit 這3 個階段,prepare 與commit 這2 個階段的通信復雜度為O(n2)。Zilliqa 采用兩輪的EC-SChnorr 多重簽名[51]來代替傳統PBFT 共識中的prepare 和commit階段,從而將PBFT 共識的通信復雜度降為O(n),其共識流程如圖2 所示。

圖2 Zilliqa 片內共識流程Fig.2 Zilliqa intra chip consensus procedure

2.4 跨片共識協議

在片內共識時,片內各個節點經過彼此間的廣播可直接進行交流。在跨片共識時,由于所存儲的信息不相交,不同分片之間各個節點在交易驗證過程中需要交流賬本狀態,因此跨片交流的基本單位是各個分片,不同分片執行共同的跨片協議以實現共識。跨片共識的主要方式包括交易原子化、交易集中化和采用類路由協議。

2.4.1 交易原子化

交易原子化是一種跨片交易處理方式,將原交易分解成最小的子交易,在不同分片之間傳遞子交易。子交易一般為對某個分片的輸入交易或對某個分片的輸出交易。通過交易原子化處理,一筆跨分片交易可以視作若干筆客戶端參與下的片內交易。

OmniLedger 提出Atomix 協議對跨片交易進行處理,當客戶端發起一筆跨片交易時,分解后的子交易經過不同的分片進行驗證,當得到交易接受通知時,客戶端再發起一筆附上接受憑證的資金解鎖請求到需要輸出交易的分片,從而完成交易;如果有交易在分片中驗證失敗,則客戶端向其他驗證成功的分片發送丟棄交易請求并將鎖住的資金退還。OmniLedger 的做法雖然在理論上可以實現由不同分片驗證交易和不同分片輸出交易的目標,但是當客戶端不發送資金解鎖請求或交易廢棄請求時,就會存在資金鎖住的情況,當有惡意節點進行大量低額度的交易提交時,也會在各分片間造成極大壓力[52]。

2.4.2 交易集中化

交易集中化是指將跨片交易集中到指定鏈上或指定節點進行統一處理,指定鏈上或節點上存儲了跨片交易所需的全部賬本數據,既能對跨片交易進行驗證,又能降低跨片交易傳播的難度。

在Ethereum 2.0[53]的結構設計中,信標鏈(Beacon Chain)作為該架構的核心,負責連接主鏈以及管理各個分片。信標鏈是Ethereum 原鏈的一條側鏈,運行Casper FFG 共識。信標鏈可以驗證Ethereum 2.0中的跨分片交易是否發生雙花,并且給各個分片提供最終確定性。當系統中跨分片交易數量過多時,信標鏈本身的局限性可能會成為跨分片交易的性能瓶頸。當前Ethereum 2.0 仍未到達部署分片的階段,因此,信標鏈結合分片鏈來處理跨片交易的方式存在廣闊的發展空間。

2.4.3 交易類路由協議

RapidChain 提出的委員會間路由協議(Intercommittee Routing Protocol)以及Sharper、AHL,都考慮到將跨片交易直接在不同分片之間進行路由處理的相似設計,本文將此類跨片協議稱為“類路由協議”。類路由協議指將交易在不同分片之間進行路由傳播,而非直接對交易進行分解。

RapidChain 對需要進行跨片處理的交易,由分片中的任意節點根據路由表進行路由,路由表中存儲logan個最近委員會中logalogan的節點數據[54],路由通道只要建立后就可以多次使用,例如,需要將交易從分片A路由到分片C,而A到B、B到C之間存在通道,則可以通過A→B→C的路由通道將交易a路由成分片C的交易a′,從而將跨片交易轉化為片內交易。

2.5 狀態存儲

狀態分片將整個網絡的賬本狀態分片存儲,各個分片維護一部分賬本數據,能夠有效減少區塊鏈網絡節點的存儲負擔。然而,各個分片的數據不相交不僅會導致跨片交易的驗證極為困難,節點在不同分片之間進行重配置時需要進行大量的數據交接,也會降低賬本數據的安全性。因此,有研究人員提出對賬本存儲進行部分分片的方案,相較比特幣設計,該方案能降低數據冗余,較好地處理跨分片交易,具有更高的靈活性和實用性。

2.5.1 全分片存儲

在全分片存儲模型中,整個區塊鏈賬本被分成若干份互不相交的賬本存儲在分片節點中,各個分片維護自己的賬本,整個區塊鏈網絡的各個分片合起來擁有完整的賬本。

OmniLedger 是典型的全分片協作式賬本,各個分片存儲完全不同的數據,這樣就將交易驗證過程中數據的交流交給跨片共識協議完成,同時在重配置過程中節點也需要對不同分片間的數據進行交接。當選擇在每一個epoch 后進行分片內節點更新的方案時,必然會有新加入分片的節點,而節點的賬本更新會造成數據遷移。有些協議通過設置state block 的方式來簡化數據遷移過程,當每一個epoch結束后,設置一個state block 對之前的塊進行總結并且由整個分片進行驗算以確認該塊正確無誤,新加入節點可以從state block 開始直接對新交易進行驗證。

狀態分片中賬戶狀態劃分策略不合理將導致各個分片的交易負載不均衡以及跨分片交易比例過高的問題,為此,BrokerChain[55]提出一種新的分片架構,以實現對分片狀態的動態劃分和調整。該分片協議根據一定時間內的歷史交易信息構建一個賬戶交易狀態圖,并對其進行劃分[56],從而對存儲在各分片的賬戶狀態實現動態調整與重新配置。賬戶狀態動態調整策略可以在減少跨分片交易比例的同時實現分片間的負載均衡。

考慮到基于分片機制的區塊鏈可能存在交易分片不均衡[57]的情況,為此,文獻[58]研究分片聯盟鏈的云端資源分配對區塊鏈吞吐量的影響,其基于隨機優化理論框架,設計針對分片聯盟鏈的資源分配算法,該算法可在一定程度上緩解區塊鏈交易分布不均衡的問題。

2.5.2 半分片存儲

Sharper 是許可區塊鏈下的分片協議,其將整個賬本存儲成DAG 分布式賬本,當存在跨片交易時,由不同分片共同創建狀態賬本并存儲,因此,同一份跨片交易在不同的分片中都需要進行存儲,跨片交易在所有參與的相關分片中都存在數據冗余。

洪梓聰等[59]提出一種層級分片的區塊鏈系統Pyramid,該系統允許某些分片(稱為橋接分片)存儲多個其他分片的區塊,充當分片間橋梁的作用,橋接分片可以對跨片交易直接驗證并進行CoSi[60]共識,將其打包為包含跨片賬本數據的跨分片區塊,從而提升區塊鏈系統的事務吞吐量,降低事務確認延遲。BrokerChain[55]基于動態狀態劃分策略提出一種新的跨分片協議,以提高跨分片交易處理的效率,在進行狀態劃分的過程中,系統允許一部分普通用戶通過自愿抵押一定資產來充當“中間人賬戶”,中間人賬戶的狀態會被系統分割成2 個或多個部分,分別存儲在2 個或多個分片中,從而參與到若干個跨分片交易的協調中,該文提出的跨分片協議可以減少跨片交易延遲,提高跨片交易執行效率。

3 分片技術的現有方案分析

3.1 現有方案對比

近年來,分片技術不斷更新迭代,在吞吐量、時延、共識協議的方式等方面都得到優化,提升了分片技術的魯棒性和可實踐性。從表1 可以看出:無許可區塊鏈仍然是分片技術的主流方式,以比特幣為基礎的分片技術更加成熟;許可區塊鏈的應用場景較少,但是近年來相關的分片技術仍然有所發展[61],許可區塊鏈將節點可信度交付給TEE 硬件[62]實現,可以給予系統更優的拜占庭容錯率以及更加靈活的分片和共識方式。

表1 區塊鏈分片技術歸納Table 1 Summary of blockchain sharding technology

在表1 中,各符號含義如下:

x:區塊鏈規模大小;

n:節點數;

k:分片數;

c:常數(c

[a]:100 個節點/分片,共16 個分片;

[b]:72 個節點/分片(惡意節點占12.5%),共25 個分片;

[c]:250 個節點/分片,共4 000 個節點;

[d]:36個分片(惡意節點占12.5%),共972個節點;

[e]:36 個節點/分片,共2 048 個分片;

[f]:4 個節點/分片,共5 個分片;

[g]:分片鏈包含900 個節點和60 個分片,根鏈上包含900 個節點(惡意節點占25%)。

不同協議片內交易和跨片交易設計都有各自的特點,但也呈現出一定的共性:片內共識協議以基于BFT的協議為主,跨片共識協議以交易可靠性為目的。

基于BFT 的片內共識協議具有交易最終性和低能耗的優點,但是在安全性方面弱于基于PoW 的片內共識協議,因此,部分分片技術將兩者相結合,在若干輪BFT 類協議后加入PoW 協議以提升分片的安全性。跨片共識協議則以交易可靠性為主要目的,對于跨片交易中的交易代價則關注較少。對于跨片交易的處理,雖然已經有一定的實現方案,但是在跨片交易的模型實驗中對于復雜交易和交易數量的控制則顯得模糊,部分交易只在較簡單輸入和輸出分片的跨片模型下性能較好,有些往往需要將交易分解為若干筆子交易才能完成跨片交易。因此,無論是提升片內共識交易的效率還是優化跨片交易的過程,都是分片技術有待提高的方面。

為了防止女巫攻擊[63],Elastico 和RapidChain 采用通過新節點解決PoW 問題的準入性方案,一些許可區塊鏈因為將節點的安全性托付給TEE 硬件[64]實現,所以未聲明新節點的準入方式,而其他一些無許可區塊鏈對于新節點加入的協議闡述則顯得太過簡單。

大多數分片技術在實現網絡分片和交易分片的設計上已經初具規模,而在狀態分片上則顯得比較困難。傳統的全存儲分片技術一致地將區塊鏈賬本平均分配在各個分片中,近年來出現的部分存儲分片技術考慮到跨片交易中可能出現的數據遷移問題,靈活地將部分賬本狀態存儲或存儲在橋接分片中進行處理,或將區塊鏈分片賬本進行動態合并分離[65],從而提高了區塊鏈分片賬本的利用率。

此外,從表1 也可以明顯看出,近年來分片技術的吞吐量取得大幅提升。不同技術在驗證時所使用的實驗設備和方式不盡相同,將吞吐量、時延等數據作為協議性能衡量指標具有可行性,但是不能一味地為了實現高吞吐量、低時延等目標而忽略了分片技術的完整性、安全性和簡潔性。

3.2 分片技術面臨的挑戰

3.2.1 分片內挑戰

在區塊鏈網絡中,誠實節點與惡意節點的比例要控制在一定范圍內,以保證整個網絡的安全性。在比特幣中,只有當誠實節點的比例占到51%以上,整個區塊鏈才能抵御雙花攻擊[66]。在分片區塊鏈中,將誠實節點分布到不同的區塊鏈分片中,雖然系統總體的誠實節點數不變,但是各個分片內誠實節點的實際數量減少,相比針對整個區塊鏈網絡進行攻擊,攻擊者對于單分片攻擊的規模更小,攻擊成本也更低。

BFT 類片內共識協議雖然比PoW 類共識協議的能耗更低,但在信息交流的過程中表現出效率低下的問題并對信息過度確認,因此,可以通過優化BFT算法來適當簡化信息交流與確認過程中對信息的重復使用[67],或者運用一定的數學方法作為對BFT 協議的簡化[68],從而在一定程度上提升協議效率。

3.2.2 分片間挑戰

在分片區塊鏈中,跨片交易的處理可能涉及若干個分片,當攻擊者通過較小的攻擊成本實現對單個分片的攻擊時,所有和該分片相關的跨片交易也會受到影響。在區塊鏈網絡中,跨片交易的比例很高,因此,跨片交易的可靠性和效率對區塊鏈系統吞吐量的影響較大。

雖然部分跨片協議有處理跨片交易的能力,但是還是需要客戶端參與才能保證跨片交易的有效進行,未充分優化的跨片共識協議增加了客戶端的壓力。分片技術對輕客戶端的支持也十分重要,既要保證在客戶端做到狀態分片,最小化客戶端存儲的賬本狀態,又要盡可能減少客戶端在跨片交易驗證過程中的操作步驟。

由于節點的存儲空間有限,重配置過程中的節點遷移需要進行大量的數據上傳和更新,在節點存儲空間無限的假設下,節點可以任意存儲足夠多的賬本數據,不需要在遷移過程中進行賬本數據更新,節點基本可以持續運作。對于分片區塊鏈而言,制約區塊鏈性能的最主要因素是存儲容量。在當前的節點遷移方案中,設置checkpoint 是一個較優的方式,即在很大一個epoch 后將過往的若干個塊化簡為一個塊,將各個節點的賬本大小控制在2 GB 左右。但是,如何提高節點重配置階段遷移數據的利用率仍然需要深入探究。

3.2.3 系統層級挑戰

區塊鏈分片規模影響到很多方面,包括分片安全性、共識協議效率、吞吐量等。但是,現行的分片大小往往受制于協議的安全性保證,如Zilliqa 只有在600 個節點以上才能保證安全,而對于區塊鏈網絡吞吐量和其他因素則難以全面考慮。同時,分片的重配置調節也是一個值得關注的內容,智能化和動態化的重配置階段需要考慮到分片活躍度、分片容錯率、新加入節點數量等因素,而目前的重配置方案仍然是以更加保證安全性的靜態場景為出發點,對其他因素的考慮不足。

大多數協議對于安全性的分析通常集中于拜占庭對手規模、信息可靠性以及分片隨機性方面,而在整個安全規模上(包括Layer1 和Layer2)的考慮則顯得有些薄弱。對于當前區塊鏈中的各種攻擊方式,如何在新的分片區塊鏈設計過程中考慮這些防御攻擊,從而更加完善地分析所關注區塊鏈的安全性,都是今后的研究方向。本文在對各個協議進行匯總分析的過程中,發現只有OmniLedger 利用ByzCoinX來應對DoS 攻擊[69],對于其他協議是否能夠抵抗Layer1 層的攻擊以及在Layer2 層還有哪些共識性問題,都需要建立一個安全性證明框架。

3.3 分片技術未來展望

本文認為區塊鏈分片技術在未來需要在以下方面繼續進行研究:

1)提出更加高效的共識協議,這類協議將優化現有網絡的分片方式,從交易分片、狀態分片角度提出更好的實現方法,使分片技術提升到區塊鏈擴容技術的新高度。

2)將區塊鏈分片技術與其他擴容技術融合創新。分片技術與其他技術在應用層面并不矛盾甚至可以優勢互補,將分片技術與其他擴容技術相結合,既有利于發揮其他擴容技術的優勢,又能夠拓展分片技術的應用空間。

3)提出標準的區塊鏈分片技術協議。隨著分片技術的逐步完善,更標準的分片技術安全性協議也會更完善,安全可靠同時具有高性能的分片技術協議將成為分片技術應用于區塊鏈擴容任務的重要基石,近年來,一些學者也正致力于這個方向的研究[70]。

4)開發區塊鏈分片技術的模擬平臺。在分片區塊鏈設計的過程中,現行的開源區塊鏈只適用于當前所關注的研究分支。未來可以設計一套完備的區塊鏈分片流程,從分片規模、節點行為、交易設定、網絡構建等方面對分片區塊鏈進行模擬驗證,便于區塊鏈分片技術的研究開發人員關注分片區塊鏈中的不同模塊,進一步促進區塊鏈分片技術的發展。

4 結束語

近年來,區塊鏈分片技術受到學術界和工業界的高度關注,為解決傳統區塊鏈在可擴展性上存在瓶頸的問題,許多研究人員提出了不同的分片技術協議。本文介紹分片技術中的一些經典方法和理論,對這些協議進行對比分析,總結當前分片技術面臨的困境和挑戰。隨著區塊鏈分片技術的發展,未來將會出現更加高效的共識協議、更加完善的擴容技術、更加標準的安全性協議以及更好的分片區塊鏈模擬平臺,這些成果都將進一步改善基于分片機制的區塊鏈技術生態。

主站蜘蛛池模板: 91午夜福利在线观看精品| 亚洲中文字幕日产无码2021| 久久国产亚洲偷自| 久久人人97超碰人人澡爱香蕉| 久久久久亚洲精品成人网| 日韩国产综合精选| 香蕉网久久| 国产福利小视频在线播放观看| 老司机aⅴ在线精品导航| 热久久国产| 丰满人妻中出白浆| 精品91在线| 在线日韩日本国产亚洲| 91视频首页| 国产日韩精品欧美一区灰| 91九色视频网| 素人激情视频福利| 免费看的一级毛片| www.91在线播放| 亚洲国产成人精品一二区| 99久久性生片| 国产精品蜜芽在线观看| 日韩国产高清无码| 成人午夜网址| 欧美成人日韩| 女人18毛片久久| 欧美一级99在线观看国产| 国产在线91在线电影| 久久精品人人做人人爽97| 亚洲天堂网视频| 国产精品.com| 亚洲欧美另类中文字幕| 就去吻亚洲精品国产欧美| 久久久四虎成人永久免费网站| 久久综合亚洲色一区二区三区| 国产成人亚洲综合a∨婷婷| 青青青国产免费线在| 免费人成视网站在线不卡| 成人国产免费| 免费一级无码在线网站| 午夜无码一区二区三区| 天堂岛国av无码免费无禁网站| 在线观看国产精美视频| 香蕉eeww99国产在线观看| 精品乱码久久久久久久| 在线看片中文字幕| 在线观看精品国产入口| 久久婷婷六月| 日本三级精品| 中文字幕无码av专区久久| 2020国产精品视频| 亚洲国产午夜精华无码福利| 国产精品毛片一区视频播| 久久精品电影| 国产精品部在线观看| 亚洲无码日韩一区| 综合人妻久久一区二区精品 | 无码内射中文字幕岛国片| 天堂在线亚洲| 欧美亚洲综合免费精品高清在线观看 | 黑人巨大精品欧美一区二区区| 色婷婷在线影院| 欧美97欧美综合色伦图| 伊人AV天堂| 日韩第九页| 98精品全国免费观看视频| 日本成人福利视频| 成人午夜天| 在线国产你懂的| 国产成人高清亚洲一区久久| 国产欧美精品一区二区| 国产一区二区三区精品欧美日韩| 嫩草在线视频| 中文字幕在线看| 国产成年女人特黄特色毛片免 | 国产日本视频91| 国产青榴视频| 婷婷色丁香综合激情| 成人免费黄色小视频| 亚洲日韩精品综合在线一区二区| 91亚洲免费| 97免费在线观看视频|