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

?

基于節(jié)點屬性分片的區(qū)塊鏈研究設(shè)計

2023-06-25 04:02趙鵬梁晉銘劉佳寶
現(xiàn)代信息科技 2023年4期
關(guān)鍵詞:擴展性區(qū)塊鏈

趙鵬 梁晉銘 劉佳寶

摘? 要:區(qū)塊鏈系統(tǒng)的交易處理能力較弱使其無法廣泛應(yīng)用,分片是在不降低去中心化程度情況下解決區(qū)塊鏈瓶頸的最佳技術(shù),但目前主流的分片方案存在犧牲安全性來提升性能的問題。通過對現(xiàn)有分片方案進行研究,提出了基于節(jié)點屬性的分片方案,根據(jù)節(jié)點屬性和節(jié)點隨機分配方法開展了網(wǎng)絡(luò)分片、交易分片和狀態(tài)分片。實驗結(jié)果表明基于節(jié)點屬性分片的區(qū)塊鏈系統(tǒng)在滿足系統(tǒng)安全的條件下提升了交易處理能力。

關(guān)鍵詞:區(qū)塊鏈;擴展性;節(jié)點屬性;分片技術(shù)

中圖分類號:TP311? 文獻標(biāo)識碼:A? 文章編號:2096-4706(2023)04-0029-04

Research and Design of Blockchain Based on Node Attribute Fragmentation

ZHAO Peng, LIANG Jinming, LIU Jiabao

(Taiyuan Normal University, Jinzhong? 030619, China)

Abstract: The weak transaction processing capability of blockchain system makes it unable to be widely used. Fragmentation is the best technology to solve the blockchain bottleneck without reducing the degree of decentralization. However, the current mainstream fragmentation scheme has the problem of improving performance at the expense of security. Based on the research of existing fragmentation schemes, a fragmentation scheme based on node attributes is proposed. According to node attributes and node random allocation method, network fragmentation, transaction fragmentation and state fragmentation are carried out. The experimental results show that the blockchain system based on node attribute fragmentation improves the transaction processing ability under the condition of meeting the system security.

Keywords: blockchain; extensibility; node attribute; fragmentation technology

0? 引? 言

區(qū)塊鏈在交易處理和數(shù)據(jù)存儲方面難以與中心化應(yīng)用媲美,為了提高區(qū)塊鏈的交易處理能力和可擴展性,一些學(xué)者提出運用分片技術(shù)來提升區(qū)塊鏈的性能。Luu[1]等人提出第一個公有鏈分片協(xié)議Elastico,借鑒數(shù)據(jù)庫分片的方式將區(qū)塊鏈進行分片,將眾多節(jié)點劃分到不同的委員會,多個委員會并行處理事務(wù)提升區(qū)塊鏈的交易處理能力。但Elastico在沒有狀態(tài)分片的前提下要求每經(jīng)過一輪共識之后重新組織委員會,當(dāng)網(wǎng)絡(luò)中的節(jié)點數(shù)增多時,委員會重組會耗費大量的時間,進而導(dǎo)致區(qū)塊鏈的TPS下降。Kokoris-Kogias等人提出了一種抗預(yù)測的公共隨機協(xié)議Omniledger[2]對區(qū)塊鏈系統(tǒng)中的節(jié)點進行隨機分片,引入一種有效的跨分片提交協(xié)議來處理跨分片的交易。Omniledger在處理跨片交易時會將跨片交易廣播給所有分片,由對應(yīng)分片來進行驗證,交易驗證合法則生成有效證明,否則生成拒絕證明。但如果區(qū)塊鏈系統(tǒng)的大部分分片中均有超過半數(shù)的跨片交易,則會產(chǎn)生大量的通信開銷,進而造成TPS的下降,而節(jié)點有時并不能被均勻分配。Wang等人提出Monoxide[3]協(xié)議,協(xié)議中提出了“異步共識組”的概念,采用“連弩挖礦”機制即一個礦工可以同時對多個分片挖礦,只要解決一次PoW難題便可打包多個分片的交易上鏈,相當(dāng)于擴大了每個分片的算力,同時提出了“最終原子性”原則,在跨分片交易中將一筆轉(zhuǎn)賬分為扣款和存款,如果扣款操作被成功執(zhí)行,在接收到接力交易后存款操作也將被成功執(zhí)行。但由于區(qū)塊鏈中的數(shù)據(jù)是永久儲存的,隨著區(qū)塊鏈系統(tǒng)的運行,累計的交易數(shù)據(jù)會越來越多,相應(yīng)的各節(jié)點的存儲壓力也會越來越大,有可能造成單點過熱的問題。

本文基于節(jié)點屬性的不同提出一個安全高效的分片方案,并將該分片方案應(yīng)用到區(qū)塊鏈系統(tǒng)中,研究表明在滿足系統(tǒng)安全的前提下該方案可以提升基于區(qū)塊鏈系統(tǒng)的交易處理能力。

1? 基于節(jié)點屬性分片的區(qū)塊鏈設(shè)計

1.1? 節(jié)點屬性的設(shè)計

本文將PoS算法思想作為節(jié)點身份的驗證機制,用代幣資源替換算力資源,將節(jié)點自身利益與整個系統(tǒng)綁定,從而抵抗女巫攻擊,同時賦予節(jié)點不同屬性,不同屬性的節(jié)點有不同功能,如靜態(tài)屬性節(jié)點分為存儲節(jié)點和事務(wù)節(jié)點,存儲節(jié)點負責(zé)存儲區(qū)塊鏈系統(tǒng)中的數(shù)據(jù),事務(wù)節(jié)點負責(zé)交易的產(chǎn)生發(fā)布,所有靜態(tài)屬性節(jié)點負責(zé)動態(tài)屬性節(jié)點的分配驗證工作,動態(tài)屬性節(jié)點負責(zé)驗證交易的合法性和區(qū)塊的共識等,用戶通過身份驗證機制進入?yún)^(qū)塊鏈系統(tǒng)后,便可根據(jù)自身需求選擇節(jié)點屬性,進而參與系統(tǒng)的運行。

1.2? 網(wǎng)絡(luò)分片的設(shè)計

1.2.1? 節(jié)點隨機分配方法

針對節(jié)點分配不均、惡意節(jié)點偽造分片結(jié)果的問題,本文提出可驗證隨機函數(shù)VRF與一致性哈希算法相結(jié)合的節(jié)點隨機分配方法,在保證可驗證隨機性的同時利用一致性哈希算法的特點,把節(jié)點均勻地分布在各分片中,節(jié)點的分配工作不依賴于某個委員會且避免了分片結(jié)果在全網(wǎng)廣播,具體方法如下:

首先計算各分片在Hash環(huán)上的映射,然后節(jié)點在本地通過VRF算法計算出一個可驗證的隨機數(shù),再使用該隨機數(shù)結(jié)合一致性哈希算法得到節(jié)點在Hash環(huán)上的映射,從而得出節(jié)點所屬的分片。為了能將節(jié)點均衡地分配到各分片,引入一致性哈希算法的虛擬節(jié)點機制,即對同一個分片取多個命名,分別計算各個命名在哈希環(huán)的映射,這樣同一個分片就會在哈希環(huán)上有多個映射,從而保證節(jié)點隨機并且均勻地分配在各分片中,如圖1所示。

若用節(jié)點某個關(guān)鍵值的Hash結(jié)果來分配節(jié)點,根據(jù)哈希函數(shù)相同輸入必有相同輸出的特性,節(jié)點每次分片均會被分到同一分片中。若用節(jié)點某個關(guān)鍵值與隨機數(shù)進行一致性Hash結(jié)果來分配節(jié)點,雖然節(jié)點每次分片會被分配到不同分片中,但無法驗證其結(jié)果是否由該節(jié)點產(chǎn)生,可能發(fā)生偽造現(xiàn)象。在本文提出的節(jié)點隨機分配方法中,各分片委員會能通過VRF算法計算分配結(jié)果是否被偽造,還能依據(jù)其隨機性避免某節(jié)點被重復(fù)分配到同一分片的情況,同時由單一委員會變?yōu)槎鄠€委員會并行分配節(jié)點,減少了節(jié)點分配所需時間。

1.2.2? 重分片方法

區(qū)塊鏈系統(tǒng)中即使有節(jié)點身份驗證機制,但仍避免不了惡意節(jié)點的存在,而誠實節(jié)點長期處于某一分片可能會遭到惡意節(jié)點的腐敗,進而轉(zhuǎn)變?yōu)閻阂夤?jié)點,所以要保證節(jié)點進行周期性的重分片。但節(jié)點在參與共識之前要保證節(jié)點本地狀態(tài)的一致性,因此重分片前后必須要保證各節(jié)點的本地狀態(tài)一致以便能快速參與共識。在Monoxide[3]方案中,各分片完成一輪共識后由委員會將各分片產(chǎn)生的微區(qū)塊聚合成完整的區(qū)塊,再由全網(wǎng)同步該區(qū)塊,達到各節(jié)點本地狀態(tài)一致的目的。但節(jié)點同步全網(wǎng)的區(qū)塊數(shù)據(jù)需要消耗較多的時間和帶寬占用量,甚至造成網(wǎng)絡(luò)擁塞,同時區(qū)塊鏈系統(tǒng)運行時間越長,新節(jié)點啟動時間(參與共識需要同步網(wǎng)絡(luò)數(shù)據(jù)的時間)也越長。

針對重分片通信開銷大和時耗時長的問題,在每個重分片周期結(jié)束前,各分片內(nèi)產(chǎn)生的最后一個區(qū)塊達成共識時,存儲節(jié)點同步區(qū)塊,同時動態(tài)屬性節(jié)點在本地計算所屬分片,并將結(jié)果與所需的檢驗憑證廣播給所屬靜態(tài)屬性節(jié)點委員會,靜態(tài)屬性節(jié)點委員會通過算法驗證后,將節(jié)點納入所屬分片,即完成重分片。僅將動態(tài)屬性節(jié)點重新隨機分片,解決了重分片過程中同步區(qū)塊數(shù)據(jù)帶來的通信開銷和節(jié)點的存儲壓力等問題,同時一個分片內(nèi)有多個存儲節(jié)點存儲數(shù)據(jù),避免了單點故障問題。

1.3? 交易分片和狀態(tài)分片的設(shè)計

交易分片指把系統(tǒng)中未確認(rèn)的交易分配到相應(yīng)的分片中進行處理,各分片并行處理交易,達到提高區(qū)塊鏈交易處理能力的目的[4]。區(qū)塊鏈系統(tǒng)中的交易經(jīng)由網(wǎng)絡(luò)分片被分為片內(nèi)交易和跨片交易。片內(nèi)交易指交易雙方均在同一個分片內(nèi),可以快速查詢驗證該交易是否合法,跨片交易指交易雙方分別在不同的分片,在驗證時就涉及該交易應(yīng)交由哪個分片協(xié)助處理,如何減少處理跨片交易產(chǎn)生的通信開銷等問題。目前主流交易分片方案中采用主鏈轉(zhuǎn)發(fā)交易的方式完成對跨片交易的轉(zhuǎn)發(fā)驗證。如以太坊在其分片方案中設(shè)置了信標(biāo)鏈對跨片交易進行轉(zhuǎn)發(fā),但若網(wǎng)絡(luò)中存在大量交易時,單一的主鏈或者委員會卻可能因為無法負載大量交易的轉(zhuǎn)發(fā)工作而阻塞甚至崩潰,成為區(qū)塊鏈系統(tǒng)的另一個瓶頸。

本文根據(jù)節(jié)點屬性的不同提出新的交易分片方案。當(dāng)網(wǎng)絡(luò)分片完成后,各分片內(nèi)的靜態(tài)屬性節(jié)點會臨時記錄當(dāng)前分片內(nèi)各節(jié)點的信息,事務(wù)節(jié)點在產(chǎn)生并發(fā)布交易后,存儲節(jié)點和動態(tài)屬性節(jié)點通過雙方交易信息判斷該交易的類別,如果是片內(nèi)交易,則由動態(tài)屬性節(jié)點驗證交易的合法性,如果是跨片交易,則存儲節(jié)點驗證交易合法性后轉(zhuǎn)發(fā)到相應(yīng)分片,經(jīng)由目標(biāo)分片中的存儲節(jié)點驗證交易的合法性后交由動態(tài)屬性節(jié)點進行驗證。一個分片內(nèi)的多個存儲節(jié)點組成委員會并行轉(zhuǎn)發(fā)和接收本分片的跨片交易,當(dāng)目標(biāo)分片的跨片交易數(shù)量達到規(guī)定值或收集時間超過規(guī)定值時,將交易切分后以并發(fā)的方式發(fā)送至目標(biāo)委員會,來減少跨片交易轉(zhuǎn)發(fā)時間,降低因跨片交易產(chǎn)生的通信開銷??缙灰资疽鈭D如圖2所示。

狀態(tài)分片指將區(qū)塊鏈系統(tǒng)中完整的交易數(shù)據(jù)分片存儲,各分片存儲、維護各自的交易數(shù)據(jù),降低網(wǎng)絡(luò)中節(jié)點的存儲壓力,減少網(wǎng)絡(luò)中節(jié)點同步交易數(shù)據(jù)所消耗的時間。本文中各分片的交易數(shù)據(jù)由其內(nèi)部的存儲節(jié)點存儲,所有的存儲節(jié)點存儲著區(qū)塊鏈系統(tǒng)的數(shù)據(jù)信息,而存儲節(jié)點不參與重分片過程,也就減少了狀態(tài)分片中因重分片后數(shù)據(jù)同步導(dǎo)致的通信開銷,從而形成了狀態(tài)分片。

2? 實驗對比分析

2.1? 節(jié)點均衡性分析

針對本文提出的網(wǎng)絡(luò)分片方法將節(jié)點均衡分布情況作為指標(biāo)對其分析。實驗采用控制變量法,測試了分片數(shù)量和節(jié)點數(shù)量對節(jié)點均衡分布情況的影響。如圖3所示本文提出的網(wǎng)絡(luò)分片方案可以使節(jié)點均衡地分配在各分片,同時利用VRF函數(shù)的可驗證性避免惡意節(jié)點偽造分片信息企圖進入到某分片,提高了網(wǎng)絡(luò)分片的安全性。

2.2? 安全性分析

本文提出的節(jié)點隨機分配方法與隨機抽樣問題類似,因此采用超幾何分布對網(wǎng)絡(luò)分片的安全性進行分析。假設(shè)網(wǎng)絡(luò)中總共有N個節(jié)點,其中有M個惡意節(jié)點,將節(jié)點平均劃分為k個片區(qū)(k∈Z+),每個片區(qū)內(nèi)的節(jié)點數(shù)記為t=[N/k],每個片區(qū)內(nèi)惡意節(jié)點數(shù)記為Xk,以拜占庭類共識算法為例,PBFT算法的容錯率為1/3,即每個分片內(nèi)的惡意節(jié)點數(shù)少于片內(nèi)總節(jié)點數(shù)的1/3時分片是安全的[5]。

第一個分片中惡意節(jié)點數(shù)m1服從超幾何分布,因此第一個分片中惡意節(jié)點數(shù)X1=m1的概率公式為:

(1)

而分片中惡意節(jié)點數(shù)少于片內(nèi)總節(jié)點數(shù)的1/3為安全,由此得出第一個分片安全的概率為:

(2)

第一個分片和第二個分片都安全的概率為:

(3)

同理,k個分片都安全的概率為:

(4)

該聯(lián)合概率計算較為復(fù)雜且難以計算,考慮到系統(tǒng)中有大規(guī)模節(jié)點的情況下,對其進行粗略的估算,本文使用了Python中的NumPy庫函數(shù)進行了實驗,在N=1 000,M=280的網(wǎng)絡(luò)中,改變分片內(nèi)節(jié)點個數(shù)來估算整個區(qū)塊鏈分片網(wǎng)絡(luò)的安全性,并與RapidChain分片方案中的網(wǎng)絡(luò)分片進行對比,如圖4所示,結(jié)果表明本文提出的網(wǎng)絡(luò)分片方案安全可靠。

2.3? 擴展性分析

本文方案使用Python語言實現(xiàn)并進行了簡單模擬。如圖5所示,將PBFT作為共識機制,區(qū)塊鏈系統(tǒng)使用分片方案拓展后,交易處理能力得到了提升。

3? 結(jié)? 論

本文針對區(qū)塊鏈系統(tǒng)的交易處理能力不足以媲美中心化應(yīng)用的問題,提出基于節(jié)點屬性的分片方案,利用該分片方案對區(qū)塊鏈底層進行水平擴容。其中經(jīng)實驗表明提出的節(jié)點隨機分配方法可使節(jié)點隨機、均勻地分配到各分片中,并且可驗證節(jié)點分片結(jié)果的正確性;提出交易分片和狀態(tài)分片方案,降低了跨分片交易的通信開銷,降低了區(qū)塊鏈系統(tǒng)中節(jié)點的存儲壓力;分析了區(qū)塊鏈網(wǎng)絡(luò)安全性,結(jié)果表明擴展后的區(qū)塊鏈系統(tǒng)安全可靠;最后對擴展后的區(qū)塊鏈系統(tǒng)與傳統(tǒng)區(qū)塊鏈系統(tǒng)進行了擴展性對比實驗。結(jié)果表明,基于該分片方案的區(qū)塊鏈系統(tǒng)的交易處理能力強于傳統(tǒng)的區(qū)塊鏈系統(tǒng)的交易處理能力,所以本文提議的基于節(jié)點屬性分片的區(qū)塊鏈系統(tǒng)在滿足系統(tǒng)安全的條件下,對區(qū)塊鏈系統(tǒng)的交易處理能力有了一定的提升。

參考文獻:

[1] LUU L,NARAYANAN V,ZHENG C,et al. A Secure Sharding Protocol For Open Blockchains [C]//Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security.Vienna:ACM,2016:17-30.

[2] KOKORIS-KOGIAS E,JOVANOVIC P,GASSER L,et al. Omniledger:A secure,scale-out,decentralized ledger via sharding [C]//2018 IEEE Symposium on Security and Privacy (SP).San Francisco:IEEE,2018:583-598.

[3] WANG J,WANG H. Monoxide:Scale Out Blockchains with Asynchronous Consensus Zones [J].Cryptology and Information Security Series,2019,2019:263.

[4] 秦文慧,李志淮,馬洪程.狀態(tài)分片中交易過載處理的節(jié)點競選方案 [J].計算機工程與應(yīng)用,2022,58(22):89-100.

[5] 劉昌平,劉海.一種區(qū)塊鏈數(shù)據(jù)的云存儲與共享方法 [J].計算機應(yīng)用研究,2021,38(9):2600-2603.

作者簡介:趙鵬(1973—),男,漢族,山西太原人,教授,博士在讀,主要研究方向:軟件工程、大數(shù)據(jù)、區(qū)塊鏈;梁晉銘(1996—),男,漢族,山西呂梁人,碩士研究生在讀,主要研究方向:區(qū)塊鏈技術(shù)、共識算法;劉佳寶(1998—),男,漢族,陜西西安人,碩士研究生在讀,主要研究方向:區(qū)塊鏈共識算法研究。

收稿日期:2022-09-22

猜你喜歡
擴展性區(qū)塊鏈
提高初中階段學(xué)生英語擴展性閱讀能力策略分析
淺談二維碼的應(yīng)用與研究
保險企業(yè)的區(qū)塊鏈技術(shù)應(yīng)用方向選擇研究
區(qū)塊鏈技術(shù)在金融領(lǐng)域的應(yīng)用與前景研究
區(qū)塊鏈技術(shù)的應(yīng)用價值分析
“區(qū)塊鏈”的茍且、詩和遠方
基于區(qū)塊鏈技術(shù)的數(shù)字貨幣與傳統(tǒng)貨幣辨析
高中物理如何充分利用擴展性欄目
比ITX還小華擎推首款Mini—STX主板
基于SpringMVC和Hibernate的企業(yè)人事管理系統(tǒng)