亚洲综合日韩精品欧美综合区,日韩国产在线一区,久久久精品一二三区,午夜精品久久久久久中宇69,国产做爰一区二区三区视频,aa天堂,三级在线视频

一種命名架構(gòu)區(qū)塊鏈的“一發(fā)多收”高效共識(shí)方法

文檔序號(hào):42101947發(fā)布日期:2025-06-06 19:27閱讀:15來(lái)源:國(guó)知局

本發(fā)明涉及命名數(shù)據(jù)網(wǎng)絡(luò),具體涉及一種命名架構(gòu)區(qū)塊鏈的“一發(fā)多收”高效共識(shí)方法。


背景技術(shù):

1、區(qū)塊鏈?zhǔn)且环N分布式賬本技術(shù),具有去中心化、不可篡改、透明性等特點(diǎn)。因其這些特點(diǎn),區(qū)塊鏈在多個(gè)領(lǐng)域展現(xiàn)出了廣泛的應(yīng)用潛力,例如:金融領(lǐng)域跨境支付、供應(yīng)鏈產(chǎn)品溯源、醫(yī)療領(lǐng)域電子病歷管理、知識(shí)產(chǎn)權(quán)保護(hù)等。隨著區(qū)塊鏈技術(shù)在全球范圍內(nèi)受到越來(lái)越多的關(guān)注并得到廣泛應(yīng)用,人們對(duì)區(qū)塊鏈性能需求也越來(lái)越高。

2、命名數(shù)據(jù)網(wǎng)絡(luò)作為下一代網(wǎng)絡(luò)架構(gòu)的熱門候選方案之一,具有命名尋址和網(wǎng)內(nèi)緩存的特性。將ndn應(yīng)用于區(qū)塊鏈技術(shù)中,替代原有的p2p架構(gòu),可以給區(qū)塊鏈帶來(lái)多方面的優(yōu)勢(shì)。首先是ndn采用基于數(shù)據(jù)名稱的請(qǐng)求與響應(yīng)機(jī)制,這種機(jī)制使得區(qū)塊鏈節(jié)點(diǎn),可以利用名稱以最短的路徑請(qǐng)求到鏈上共識(shí)信息。相比于p2p消息傳輸路徑變短,傳輸時(shí)間變短,最后能使區(qū)塊鏈共識(shí)效率提升。其次ndn網(wǎng)內(nèi)緩存的機(jī)制,可以使ndn網(wǎng)絡(luò)的每個(gè)路由器都可以緩存已請(qǐng)求的數(shù)據(jù),當(dāng)其他節(jié)點(diǎn)需要同樣的數(shù)據(jù)時(shí),緩存節(jié)點(diǎn)可以直接提供這些數(shù)據(jù),減少了重復(fù)數(shù)據(jù)的傳輸。

3、雖然ndn作為區(qū)塊鏈底層通信架構(gòu)替代方案,在縮短通信路徑、降低冗余流量等方面展現(xiàn)出顯著優(yōu)勢(shì),但是ndn基于興趣驅(qū)動(dòng)模型的“一發(fā)一收”傳輸機(jī)制在區(qū)塊鏈場(chǎng)景中還面臨重要挑戰(zhàn)。在區(qū)塊鏈中節(jié)點(diǎn)經(jīng)常需要同步多源共識(shí)信息,此時(shí)節(jié)點(diǎn)需要向所有其他共識(shí)節(jié)點(diǎn)發(fā)送單獨(dú)興趣包來(lái)訂閱這些信息,導(dǎo)致線性增長(zhǎng)的訂閱開(kāi)銷,極大增加網(wǎng)絡(luò)通信復(fù)雜度。同時(shí),icn的路由系統(tǒng)需要為每個(gè)節(jié)點(diǎn)維護(hù)獨(dú)立的興趣表項(xiàng),導(dǎo)致路由存儲(chǔ)與查找開(kāi)銷急劇上升,當(dāng)區(qū)塊鏈中節(jié)點(diǎn)規(guī)模擴(kuò)大時(shí),共識(shí)效率會(huì)顯著下降。

4、針對(duì)現(xiàn)有ndn“一發(fā)一收”在區(qū)塊鏈上存在的上述問(wèn)題,設(shè)計(jì)“一發(fā)多收”即廣播一個(gè)興趣包訂閱多個(gè)數(shù)據(jù)包的模式可以解決。但是ndn原有pit表的機(jī)制限制了ndn只能“一發(fā)一收”:當(dāng)pit表中的某一條興趣被滿足時(shí),該表項(xiàng)就會(huì)被刪除,即當(dāng)路由器收到多個(gè)同名的數(shù)據(jù)包時(shí),只會(huì)轉(zhuǎn)發(fā)第一個(gè)到達(dá)的數(shù)據(jù)包,后續(xù)數(shù)據(jù)包到達(dá)的數(shù)據(jù)包由于ndn條目被刪除找不到回傳路徑會(huì)被路由器丟棄。為了滿足區(qū)塊鏈節(jié)點(diǎn)一次訂閱,回收多個(gè)“推送”的信息這種“一發(fā)多收”的需求,第一類解決思路是修改pit條目的生存周期,設(shè)置長(zhǎng)時(shí)pit表,路由器在收到一個(gè)數(shù)據(jù)包后不刪除該條目,使得后續(xù)的數(shù)據(jù)包可以繼續(xù)回傳。二類解決思路是,在原有ndn三張表基礎(chǔ)上額外添加一張表,用來(lái)增強(qiáng)反向路由能力,新表支持特定名字前綴的多次轉(zhuǎn)發(fā),對(duì)于需要一對(duì)多的場(chǎng)景,將其路由條目記錄到新表中,利用新表提供的反向傳播路徑可以實(shí)現(xiàn)“一發(fā)多收”。

5、然而現(xiàn)在這兩類實(shí)現(xiàn)方法都存在一些缺陷,對(duì)于第一類方案,修改pit條目時(shí)間后網(wǎng)絡(luò)內(nèi)容易形成路由環(huán)路,產(chǎn)生異常流量,造成網(wǎng)內(nèi)擁塞。對(duì)于第二類方案,引入新的表無(wú)疑會(huì)增加系統(tǒng)的總體復(fù)雜度,提升包括設(shè)計(jì)、實(shí)現(xiàn)和維護(hù)的成本。因此現(xiàn)在仍需一個(gè)更加高效且可靠的解決方案,能夠避免路由環(huán)路、減輕系統(tǒng)負(fù)擔(dān)。


技術(shù)實(shí)現(xiàn)思路

1、傳統(tǒng)ndn基于“一發(fā)一收”的興趣包驅(qū)動(dòng)機(jī)制,在區(qū)塊鏈節(jié)點(diǎn)需同步多源共識(shí)消息的場(chǎng)景下存在顯著效率瓶頸:接收節(jié)點(diǎn)需向所有共識(shí)節(jié)點(diǎn)逐一發(fā)送訂閱請(qǐng)求,導(dǎo)致線性增長(zhǎng)的訂閱開(kāi)銷與路由器興趣表維護(hù)成本。

2、為了解決現(xiàn)有技術(shù)中存在的問(wèn)題,本發(fā)明在ndn架構(gòu)的區(qū)塊鏈上創(chuàng)新性地引入“一發(fā)多收”聚合匯播傳輸范式,使單個(gè)興趣包即可觸發(fā)多節(jié)點(diǎn)數(shù)據(jù)回傳,通過(guò)在現(xiàn)有ndn數(shù)據(jù)包中嵌入支持動(dòng)態(tài)組管理的record?field字段(采用one-hot編碼標(biāo)識(shí)參與共識(shí)的節(jié)點(diǎn)集合),結(jié)合bls門限聚合簽名技術(shù)支持部分節(jié)點(diǎn)參與共識(shí)時(shí)的簽名校驗(yàn)兼容性,實(shí)現(xiàn)回傳路徑上數(shù)據(jù)包的逐跳聚合。

3、為了實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明提出一種命名架構(gòu)區(qū)塊鏈的“一發(fā)多收”高效共識(shí)方法,包括如下步驟:

4、s1,以ndn構(gòu)建區(qū)塊鏈的傳輸網(wǎng)絡(luò),用于支持區(qū)塊鏈多個(gè)節(jié)點(diǎn)之間的通信業(yè)務(wù);

5、s2,區(qū)塊鏈初始化階段:為區(qū)塊鏈配置bls門限聚合簽名的公共參數(shù),并為每個(gè)節(jié)點(diǎn)配置bls門限聚合簽名的密鑰;

6、s3,用戶交易階段,當(dāng)用戶發(fā)送交易請(qǐng)求時(shí),區(qū)塊鏈中任意一個(gè)節(jié)點(diǎn)收到用戶交易請(qǐng)求后,廣播發(fā)送一個(gè)興趣包啟動(dòng)共識(shí)過(guò)程,啟動(dòng)共識(shí)過(guò)程的節(jié)點(diǎn)定義為該次過(guò)程中的主節(jié)點(diǎn),區(qū)塊鏈中的其他節(jié)點(diǎn)在該次過(guò)程中均定義為從節(jié)點(diǎn);

7、s4,區(qū)塊鏈中參與共識(shí)的從節(jié)點(diǎn)收到主節(jié)點(diǎn)興趣包后,回復(fù)共識(shí)數(shù)據(jù)包作為響應(yīng),所回復(fù)的數(shù)據(jù)包采用bls門限聚合簽名進(jìn)行簽名;

8、s5,從節(jié)點(diǎn)所回復(fù)的共識(shí)數(shù)據(jù)包,在回傳路徑的每個(gè)路由器處進(jìn)行逐跳聚合,包括數(shù)據(jù)包內(nèi)容聚合和簽名聚合,最終主節(jié)點(diǎn)僅會(huì)收到一個(gè)聚合的共識(shí)數(shù)據(jù)包,即為“一發(fā)一收”;

9、s6,主節(jié)點(diǎn)在收到聚合的共識(shí)數(shù)據(jù)包后,提取其中的聚合簽名進(jìn)行校驗(yàn),判斷參與簽名的從節(jié)點(diǎn)數(shù)量是否滿足共識(shí)確認(rèn)所需的門限,進(jìn)而完成共識(shí)過(guò)程。

10、進(jìn)一步地,上述步驟s1中ndn構(gòu)建區(qū)塊鏈包括如下內(nèi)容:

11、(1)以ndn路由器替代ip路由器組建區(qū)塊鏈的傳輸網(wǎng)絡(luò);

12、(2)區(qū)塊鏈用戶;配置ndn協(xié)議棧,便于接入ndn網(wǎng)絡(luò);

13、(3)ndn網(wǎng)內(nèi)用于區(qū)塊鏈業(yè)務(wù)通信的興趣包與數(shù)據(jù)包遵循的命名規(guī)則(name字段)為:/區(qū)塊鏈名字/共識(shí)方法/消息類型/參與節(jié)點(diǎn)。

14、進(jìn)一步地,上述步驟s2中bls門限聚合簽名的公共參數(shù)以及每個(gè)節(jié)點(diǎn)初始化配置的bls門限聚合簽名密鑰設(shè)置包括:

15、(1)bls門限聚合簽名的公共參數(shù)包括g1,g2,gt,e,g1,g2,p,q,h0,h1,其中g(shù)1,g2,gt為三個(gè)具有相同素?cái)?shù)p的加法循環(huán)群,g1和g2的生成元分別為g1,g2,其中g(shù)1,g2由g1和g2生成時(shí)確定,為g1和g2內(nèi)部的一個(gè)元素,且g1,g2,gt之間存在雙線性映射e:g1×g2→gt;h0和h1為兩個(gè)哈希函數(shù),定義為:h0:{0,1}*→g1(任意二進(jìn)制串映射到g1群元素),h1:{0,1}*→zq(任意二進(jìn)制串映射到q階整數(shù)循環(huán)群元素),zq是q階整數(shù)循環(huán)群,p、q為兩個(gè)大素?cái)?shù),上述參數(shù)由密鑰生成機(jī)構(gòu)生成后公開(kāi)。

16、(2)bls門限聚合簽名密鑰設(shè)置

17、基于公開(kāi)參數(shù)g1,g2,gt,e,g1,g2,p,q,h0,h1區(qū)塊鏈內(nèi)每個(gè)節(jié)點(diǎn)i生成自身的公鑰pi、私鑰ski、成員密鑰mki,所有節(jié)點(diǎn)持有相同的聚合公鑰,定義為p,計(jì)算過(guò)程如下:

18、節(jié)點(diǎn)公私鑰計(jì)算:節(jié)點(diǎn)i從zq中選擇一個(gè)隨機(jī)數(shù)作為自身的私鑰ski∈zq,節(jié)點(diǎn)i的公鑰pi計(jì)算為:pi=ski*g1;

19、聚合公鑰p計(jì)算:節(jié)點(diǎn)i產(chǎn)生自身的聚合公鑰聚合系數(shù)ai=h1(pi,(p1,p2...pn)),進(jìn)而通過(guò)公鑰pi與聚合公鑰聚合系數(shù)ai的網(wǎng)內(nèi)交換,生成聚合公鑰p:

20、

21、成員密鑰mki計(jì)算:每個(gè)節(jié)點(diǎn)i利用私鑰ski對(duì)聚合公鑰聚合系數(shù)ai簽名,之后將簽名聚合起來(lái)得到成員密鑰mki:

22、mki=(a1*sk1)*h0(p,i)+(a2*sk2)*h0(p,i)+…+(an*skn)*h0(p,i)

23、成員密鑰mki的作用是驗(yàn)證該成員i是否是真的共識(shí)節(jié)點(diǎn),通過(guò)以下式子驗(yàn)證:

24、e(g2,mki)=e(p,h0(p,i))。

25、進(jìn)一步地,上述步驟s4中從節(jié)點(diǎn)收到主節(jié)點(diǎn)興趣包后執(zhí)行以下操作:

26、s4.1構(gòu)造包含record?field字段的特殊數(shù)據(jù)包data?packet,該字段以位掩碼bitmask形式記錄自身節(jié)點(diǎn)編號(hào),所述字段采用one-hot編碼確保唯一性;

27、s4.2每個(gè)共識(shí)從節(jié)點(diǎn)生成bls門限聚合簽名并嵌入數(shù)據(jù)包的signature字段,返回主節(jié)點(diǎn),計(jì)算過(guò)程如下:

28、sk1,sk2,...ski是節(jié)點(diǎn)1到節(jié)點(diǎn)m的私鑰,mk1,mk2,...mki是節(jié)點(diǎn)1到節(jié)點(diǎn)m的成員密鑰,p是聚合公鑰,h0:{0,1}*→g1是哈希函數(shù),data是數(shù)據(jù)包的data字段內(nèi)容包含共識(shí)確認(rèn)消息。若參與共識(shí)的節(jié)點(diǎn)有m個(gè),共識(shí)從節(jié)點(diǎn)使用各自的私鑰ski,sk2,...ski對(duì)數(shù)據(jù)包data字段的內(nèi)容進(jìn)行簽名,會(huì)得到如下的簽名sig1、sig2…sigm:

29、

30、s4.3從節(jié)點(diǎn)構(gòu)造數(shù)據(jù)包返回給主節(jié)點(diǎn),數(shù)據(jù)包主要包含以下內(nèi)容:record?field字段記錄從節(jié)點(diǎn)的編號(hào)、data字段記錄從節(jié)點(diǎn)的共識(shí)確認(rèn)消息、signature字段記錄從節(jié)點(diǎn)對(duì)data的簽名。

31、進(jìn)一步地,上述步驟s5中逐跳聚合包括如下步驟:

32、為ndn路由器設(shè)置等待窗口時(shí)間,ndn路由器在等待窗口時(shí)間內(nèi)等待回傳數(shù)據(jù)包到達(dá),若該數(shù)據(jù)包名字在轉(zhuǎn)發(fā)信息庫(kù)(forwarding?information?base,fib)中對(duì)應(yīng)條目的所有接口都回傳了數(shù)據(jù)包則立即將這些不同接口回傳的數(shù)據(jù)包聚合;若超過(guò)窗口時(shí)間后僅有部分fib接口回傳了數(shù)據(jù)包,則將窗口時(shí)間內(nèi)收到的數(shù)據(jù)包聚合;聚合后的數(shù)據(jù)包,僅保留首個(gè)節(jié)點(diǎn)數(shù)據(jù)包data字段的原始數(shù)據(jù),record?field字段記錄所有參與本次聚合的從節(jié)點(diǎn)編號(hào),signature字段中,更新為聚合后的簽名s′;

33、聚合簽名s′計(jì)算方法如下:

34、s′=sig1+sig2+…+sigm

35、ndn路由器完成數(shù)據(jù)包聚合操作后,將聚合包回傳,若回傳路徑上其他ndn路由器收到多個(gè)聚合包,可以將多個(gè)聚合后的數(shù)據(jù)包再次聚合,以此類推,最終這些數(shù)據(jù)包被聚合為一個(gè)到達(dá)主節(jié)點(diǎn)。

36、進(jìn)一步地,上述步驟s6校驗(yàn)與共識(shí)確認(rèn)包括如下步驟:

37、s6.1主節(jié)點(diǎn)接收聚合包后,從聚合包的record?field字段中提取出參與聚合的m個(gè)從節(jié)點(diǎn)編號(hào),判斷聚合包的數(shù)量是否滿足要求,根據(jù)編號(hào)計(jì)算由參與者構(gòu)造成的分聚合公鑰p′:

38、p′=p1+p2+p3+…+pm

39、其中,p1,p2,…pm是節(jié)點(diǎn)1到m的公鑰,p′是部分聚合公鑰;

40、s6.2從聚合包的signature字段中提取出部分聚合簽名s′,計(jì)算下面式子驗(yàn)證簽名:

41、e(g2,s′)=e(p′,h0(p,data))*e(p′,h0(p,1)+h0(p,2)+…+h0(p,m))

42、其中,p′是部分聚合公鑰,p是聚合公鑰,h0:{0,1}*→g1是哈希函數(shù),data是聚合數(shù)據(jù)包的data字段內(nèi)容包含共識(shí)確認(rèn)消息。

43、s6.3主節(jié)點(diǎn)驗(yàn)證部分聚合簽名s′的合法性后,確認(rèn)有m個(gè)從節(jié)點(diǎn)完成共識(shí),進(jìn)而廣播最終共識(shí)結(jié)果至全網(wǎng)。

44、進(jìn)一步地,上述共識(shí)數(shù)據(jù)包具有特殊結(jié)構(gòu)可以在共識(shí)消息傳輸沿途路徑上進(jìn)行聚合。

45、包結(jié)構(gòu)設(shè)計(jì):在繼承ndn標(biāo)準(zhǔn)數(shù)據(jù)包的name、data、signatureinfo和signature字段基礎(chǔ)上,新增record?field字段(結(jié)構(gòu)如下所示),該字段采用位掩碼形式(bitmask)按順序記錄參與本次聚合的所有從節(jié)點(diǎn)編號(hào),其中每一位對(duì)應(yīng)唯一節(jié)點(diǎn)id,通過(guò)置1標(biāo)記有效參與者,實(shí)現(xiàn)輕量級(jí)節(jié)點(diǎn)身份標(biāo)識(shí);

46、

47、用i代表每個(gè)節(jié)點(diǎn)的編號(hào),n代表節(jié)點(diǎn)總數(shù)量,則該節(jié)點(diǎn)i生成的數(shù)據(jù)包的recordfield字段計(jì)為recordi,其計(jì)算方法為:

48、recordi=2i

49、然后將recordi的計(jì)算結(jié)果轉(zhuǎn)換為二進(jìn)制后寫入到record?field字段中。

50、動(dòng)態(tài)聚合機(jī)制:當(dāng)多個(gè)數(shù)據(jù)包到達(dá)路由器時(shí),路由器支持將這多個(gè)數(shù)據(jù)包的簽名聚合,并通過(guò)異或操作聚合record?field字段,保留歷史節(jié)點(diǎn)的編號(hào)。

51、本發(fā)明的有益效果如下:

52、通過(guò)單次興趣包觸發(fā)多源數(shù)據(jù)聚合的架構(gòu)設(shè)計(jì),重構(gòu)區(qū)塊鏈數(shù)據(jù)傳輸范式。發(fā)送方僅需廣播單一興趣包即可觸發(fā)全網(wǎng)節(jié)點(diǎn)的分布式數(shù)據(jù)響應(yīng),然后在數(shù)據(jù)回傳過(guò)程中,沿途路由器自動(dòng)聚合這些消息,最終輸出唯一的聚合數(shù)據(jù)包。這種機(jī)制顯著減少了節(jié)點(diǎn)間通信交互次數(shù)和逐個(gè)訂閱產(chǎn)生的線性開(kāi)銷,可以有效解決傳統(tǒng)共識(shí)算法(如pbft)因節(jié)點(diǎn)間高頻通信導(dǎo)致的性能瓶頸。

當(dāng)前第1頁(yè)1 2 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1