本發明涉及區塊鏈與物聯網,特別是涉及一種基于物聯網的區塊鏈中的消息傳播方法及裝置。
背景技術:
1、在物聯網中,大量設備的接入和節點動態變化為數據傳輸效率、信任管理、安全性等帶來挑戰,為此,區塊鏈技術的引入,為物聯網建設的可信與可靠性提供了技術基礎。然而,在實踐中,傳統區塊鏈網絡與物聯網結合尚面臨隨機選擇節點傳輸數據延遲、帶寬不足以及網絡安全風險等問題。現有的集中式或半去中心化方案難以平衡數據傳輸效率與去中心化需求,導致物聯網難以與傳統區塊鏈網絡層結合。
2、因此需要一種基于物聯網的區塊鏈中的消息傳播方法及裝置。
技術實現思路
1、本發明的目的是提供一種基于物聯網的區塊鏈中的消息傳播方法及裝置,通過著重關注網絡拓撲構建和數據傳輸的要點,提升物聯網設備接入區塊鏈網絡的傳輸效率與系統魯棒性。
2、為實現上述目的,第一方面,本發明提供了一種基于物聯網的區塊鏈中的消息傳播方法,包括:
3、確定目標區塊鏈中包括的節點和所述節點之間的初始相鄰關系,所述節點為物聯網設備;
4、基于預設的鄰居推薦算法和初始相鄰關系,確定所述節點之間的優化相鄰關系;
5、根據所述優化相鄰關系,在所述節點之間傳遞區塊鏈消息。
6、具體地,基于預設的鄰居推薦算法和初始相鄰關系,確定所述節點之間的優化相鄰關系,包括:
7、各個節點確定與所述節點具有初始相鄰關系的目標節點的往返時間,根據所述往返時間向所述目標節點推薦所述目標節點的候選鄰居節點,所述目標節點將所有向目標節點推薦的候選鄰居節點合并為并得到總候選鄰居節點集;根據目標節點的傳出連接數和總候選鄰居節點集中各個節點的傳入連接數,確定是否將總候選鄰居節點集中的各個節點轉化為所述目標節點的鄰居節點。
8、具體地,所述區塊鏈消息為區塊鏈交易;
9、根據所述優化相鄰關系,在所述節點之間傳遞區塊鏈消息,包括:
10、在所述區塊鏈中的第一節點將本節點發起的區塊鏈交易傳播給數量為n的第二節點并且附帶傳播階段標識,各個第二節點根據傳播階段標識將區塊鏈交易傳播給第三節點,并更新傳播階段標識,第三節點通過預先設定的篩選條件選取第四節點并將區塊鏈交易傳播到第四節點。
11、優選的,所述物聯網設備,包括物聯網的邊緣設備以及云端設備。
12、優選的,所述往返時間通過以下公式計算:
13、
14、其中,i表示第一節點,j表示第二節點,t為測量次數,rtti,j表示往返時間,tst發送時間,trt為接收時間。
15、具體地,所述第一節點將區塊鏈交易傳播給數量為n的第二節點并且附帶傳播階段標識,第二節點根據傳播階段標識將區塊鏈交易傳播給第三節點,第三節點通過預先設定的篩選條件選取第四節點并將區塊鏈交易傳播到第四節點,包括:
16、所述第一節點生成區塊鏈交易,所述區塊鏈交易具有傳播階段標識,所述傳播階段標識用于標識區塊鏈交易傳播階段,傳播階段標識設置為1,以指示接收到傳播階段標識等于1的節點進行第二階段;第一節點將所述區塊鏈交易傳播給數量為n的第二節點;
17、所述第二節點接受所述區塊鏈交易,確定區塊鏈交易的傳播階段標識是否為1,若傳播階段標識等于1則向第三節點轉發所述區塊鏈交易;
18、所述第三節點接收所述區塊鏈交易,并從所述第三節點的鄰居節點中隨機選取x個往返時間最小的節點、以及y個往返時間最大的節點轉發所述區塊鏈交易。
19、優選的,從所述第三節點的鄰居節點中隨機選取x個往返時間最小的節點、以及y個往返時間最大的節點,可以表示為:
20、
21、其中,為第三節點的連接升序排序鄰居節點集合,為中間索引,randomselectx表示隨機選取x個往返時間最小的節點,nrtt-min表示x個往返時間最小的節點集合;
22、
23、其中,為第三節點的連接升序排序鄰居節點集合,為中間索引,randomselecty表示隨機選取y個往返時間最大的節點,為第三節點的總連接數量,nrtt-max表示y個往返時間最大的節點集合。
24、具體地,還包括:
25、根據預設的節點間信任優化模型確定所述區塊鏈的節點之間的信任評分,根據所述信任評分更新所述區塊鏈的節點之間的優化相鄰關系。
26、優選的,所述區塊鏈的節點包括第一節點和第二節點;
27、所述第一節點對第二節點的信任評分可表示為:
28、
29、其中,i表示第一節點,j表示第二節點,αrtt、βstability、γhistory為權重,為往返時間時延評分,為網絡穩定性評分,為歷史交互記錄評分,rttij為第一節點和第二節點的往返時間,α為穩定性調整因子,ploss為丟包率,exp為指數函數,hij為第二節點給第一節點發送消息次數,max(h)表示第一節點在一個周期內總的交易次數;
30、根據所述信任評分更新所述區塊鏈的節點之間的優化相鄰關系,包括:
31、設定信任評分的閾值θ,若sij<θ,則將第二節點剔除出鄰居列表。
32、第二方面,本發明提供一種基于物聯網的區塊鏈中的消息傳播裝置,包括:
33、確定單元,配置為,確定目標區塊鏈中包括的節點和所述節點之間的初始相鄰關系,所述節點為物聯網設備;
34、優化單元,配置為,基于預設的鄰居推薦算法和初始相鄰關系,確定所述節點之間的優化相鄰關系;
35、傳播單元,配置為,根據所述優化相鄰關系,在所述節點之間傳遞區塊鏈消息。
1.一種基于物聯網的區塊鏈中的消息傳播方法,包括:
2.根據權利要求1所述的方法,其中,基于預設的鄰居推薦算法和初始相鄰關系,確定所述節點之間的優化相鄰關系,包括:
3.根據權利要求1所述的方法,其中,所述區塊鏈消息為區塊鏈交易;
4.根據權利要求1所述的方法,其中,所述物聯網設備,包括物聯網的邊緣設備以及云端設備。
5.根據權利要求2所述的方法,其中,所述往返時間通過以下公式計算:
6.根據權利要求3所述的方法,其中,所述第一節點將區塊鏈交易傳播給數量為n的第二節點并且附帶傳播階段標識,第二節點根據傳播階段標識將區塊鏈交易傳播給第三節點,第三節點通過預先設定的篩選條件選取第四節點并將區塊鏈交易傳播到第四節點,包括:
7.根據權利要求6所述的方法,其中,從所述第三節點的鄰居節點中隨機選取x個往返時間最小的節點、以及y個往返時間最大的節點,可以表示為:
8.根據權利要求1所述的方法,還包括:
9.根據權利要求8所述的方法,其中,所述區塊鏈的節點包括第一節點和第二節點;
10.一種基于物聯網的區塊鏈中的消息傳播裝置,包括: