本發(fā)明涉及區(qū)塊鏈數(shù)據(jù)處理領(lǐng)域,具體涉及基于社交網(wǎng)絡(luò)的區(qū)塊鏈存儲方法及系統(tǒng)。
背景技術(shù):
1、區(qū)塊鏈是一種分布式賬本技術(shù),實現(xiàn)去中心化、防篡改和可信任的數(shù)據(jù)存儲和交易驗證。它應(yīng)用于加密貨幣、供應(yīng)鏈管理、金融服務(wù)等領(lǐng)域。區(qū)塊鏈改變了傳統(tǒng)數(shù)據(jù)管理方式,提供安全、高效和可靠的數(shù)據(jù)交換,賦予個人和組織更大的控制權(quán),提高交易的透明度和可追溯性。作為一種革命性技術(shù),區(qū)塊鏈有望推動社會和經(jīng)濟的進一步發(fā)展。
2、隨著區(qū)塊鏈用戶增多以及應(yīng)用領(lǐng)域的擴大,區(qū)塊鏈的可擴展性成為了其發(fā)展的一個瓶頸。其中,數(shù)據(jù)存儲更是在區(qū)塊鏈的可擴展性中扮演著不可分割的重要角色。區(qū)塊鏈網(wǎng)絡(luò)中的節(jié)點需要保存一份完整的數(shù)據(jù)賬本,用戶交易量的增多,勢必會增加節(jié)點數(shù)據(jù)存儲的開銷。而當(dāng)用戶需要檢索某部分數(shù)據(jù)時,查詢代價也會隨之增大。據(jù)統(tǒng)計,截至2023年5月,比特幣的數(shù)據(jù)存儲量已經(jīng)超過了460gb,而以太坊的則是超過了610gb。這阻礙了一些資源較少的設(shè)備(如手機、平板等)加入?yún)^(qū)塊鏈網(wǎng)絡(luò)。此外,伴隨著區(qū)塊鏈網(wǎng)絡(luò)吞吐量的提升,設(shè)備對存儲能力的要求就變得更加重要,這增加了區(qū)塊鏈節(jié)點對海量數(shù)據(jù)的存儲和查詢的負擔(dān)。極端情況下,區(qū)塊鏈網(wǎng)絡(luò)中,有能力承擔(dān)存儲和查詢開銷的節(jié)點會逐漸減少,這會使得區(qū)塊鏈從分布式發(fā)展為集中式網(wǎng)絡(luò),明顯違背了區(qū)塊鏈去中心化的特點。
3、為了提高區(qū)塊鏈系統(tǒng)在數(shù)據(jù)存儲方面的擴展性,目前的工作主要分為鏈上存儲和鏈下存儲。例如現(xiàn)有公開文獻《區(qū)塊鏈存儲可擴展技術(shù)及其應(yīng)用研究》,該現(xiàn)有文獻中,提出了一種基于應(yīng)用程序數(shù)據(jù)剪枝的存儲擴展方案。該方案從修剪掉未來小概率會被花費的未花費的交易輸出(unspenttransactionoutput,utxo)角度進行存儲擴展。通過對真實的比特幣系統(tǒng)歷史不同區(qū)塊高度范圍內(nèi)大量utxo集合數(shù)據(jù)進行統(tǒng)計分析得到對應(yīng)的壽命分布,提出針對utxo類型應(yīng)用程序數(shù)據(jù)集合的修剪策略。首先為記錄剪枝周期內(nèi)被花費的所有utxo壽命的分布狀態(tài),提出utxo分布動態(tài)更新算法。該算法在區(qū)塊生成過程中,根據(jù)從前一區(qū)塊繼承的分布狀態(tài)和剪枝界限參數(shù)計算上鏈交易所引用的utxo壽命并更新對應(yīng)分布,打包放入?yún)^(qū)塊中以實現(xiàn)分布狀態(tài)在剪枝周期內(nèi)每個區(qū)塊高度的可驗證連續(xù)傳遞。此外,為實現(xiàn)修剪結(jié)果的穩(wěn)定性且符合交易規(guī)律,提出utxo集合動態(tài)剪枝算法。該算法根據(jù)utxo的壽命分布狀態(tài),基于周期剪枝界限參數(shù)修剪掉未來小概率會被花費的utxo,同時完成剪枝界限參數(shù)的更新。本文針對提出的存儲擴展方案進行了安全性分析,證明修剪后的數(shù)據(jù)依然具有完整性和可驗證性。同時實驗結(jié)果表明擴展方案在對完整utxo集合進行高強度修剪的同時,保證了修剪后數(shù)據(jù)的穩(wěn)定性和準確性。其中鏈上存儲主要是通過采用輕節(jié)點/全節(jié)點、剪枝、編碼、分片等方式對數(shù)據(jù)進行處理。而鏈下存儲則是將數(shù)據(jù)移到區(qū)塊鏈以外(如第三方服務(wù)器)進行處理來實現(xiàn)鏈下處理及鏈上驗證的過程,或者是將區(qū)塊鏈融入現(xiàn)有的分布式數(shù)據(jù)庫中,實現(xiàn)混合分布式數(shù)據(jù)庫的訪問控制和數(shù)據(jù)管理。然而,大部分工作基于信任的假設(shè)或是會造成網(wǎng)絡(luò)帶寬、計算資源的過度負載。例如公布號為cn115547369a的現(xiàn)有發(fā)明專利申請文獻《一種基于區(qū)塊鏈的分布式存儲裝置》,該現(xiàn)有裝置包括:包括pc端、服務(wù)器機組、存儲機組、檢測模塊、控制模塊和環(huán)境參數(shù)調(diào)節(jié)模塊;服務(wù)器機組內(nèi)設(shè)置有區(qū)塊鏈分布式存儲網(wǎng)絡(luò);區(qū)塊鏈分布式存儲網(wǎng)絡(luò)用于將pc端上傳的數(shù)據(jù)存儲于存儲機組內(nèi);檢測模塊設(shè)置于存儲機組的預(yù)設(shè)范圍內(nèi),檢測模塊用于檢測存儲機組所在環(huán)境的參數(shù);控制模塊和環(huán)境參數(shù)調(diào)節(jié)模塊連接;控制模塊用于根據(jù)存儲機組所在環(huán)境的參數(shù)控制環(huán)境參數(shù)調(diào)節(jié)模塊;環(huán)境參數(shù)調(diào)節(jié)模塊用于調(diào)節(jié)存儲機組所在環(huán)境的參數(shù)。前述現(xiàn)有技術(shù)中的ebsf將節(jié)點劃分成委員會,一個委員會中的節(jié)點共同保存完整的區(qū)塊鏈賬本數(shù)據(jù),每個節(jié)點分攤的數(shù)據(jù)量就回變少。然而,委員會內(nèi)的節(jié)點需要基于互相信任的假設(shè),這在現(xiàn)實中其實是很難實現(xiàn)的。而且文中并沒有指出如何將節(jié)點進行劃分來提高委員會內(nèi)節(jié)點之間的信任度;一些策略通過對區(qū)塊編碼來實現(xiàn)數(shù)據(jù)的壓縮,節(jié)點可以通過解碼編碼數(shù)據(jù)來恢復(fù)原始的區(qū)塊數(shù)據(jù),這一過程會消耗網(wǎng)絡(luò)的計算資源;此外,鏈下存儲由于是在區(qū)塊鏈之外處理交易,一般需要第三方擔(dān)保人來驗證交易的正確性,這種場景下,鏈上節(jié)點對擔(dān)保人的信任就尤為重要。為了避免信任對數(shù)據(jù)存儲的限制,,jidar讓節(jié)點只存儲感興趣的交易以及相關(guān)的merkle分支。例如公布號為cn116303329a的現(xiàn)有發(fā)明專利申請文獻《基于區(qū)塊鏈的分布式存儲方法》,該現(xiàn)有方法包括:s1.前端對文件進行分片,得到各字節(jié)分片的內(nèi)容標識符;s2.將所有字節(jié)分片的內(nèi)容標識符構(gòu)造成一個梅克爾樹(merkle?tree),得到樹根的,此即為整個文件的;s3.獲取在線的存儲節(jié)點信息,將節(jié)點地址哈希與文件的進行異或計算,得到每個節(jié)點與文件的距離;s4.根據(jù)距離大小,選擇最近的一個或多個節(jié)點進行存儲。然而,文中并沒有指出如何確定感興趣的交易,只是單純的將節(jié)點涉及的交易進行存儲。
4、綜上,現(xiàn)有技術(shù)存在節(jié)點存儲負擔(dān)較大、存儲和查詢效率較低以及存儲代價均衡程度不高的技術(shù)問題。
技術(shù)實現(xiàn)思路
1、本發(fā)明所要解決的技術(shù)問題在于:如何解決現(xiàn)有技術(shù)中存在的節(jié)點存儲負擔(dān)較大、存儲和查詢效率較低以及存儲代價均衡程度不高的技術(shù)問題。
2、本發(fā)明是采用以下技術(shù)方案解決上述技術(shù)問題的:基于社交網(wǎng)絡(luò)的區(qū)塊鏈存儲方法包括:
3、s1、采集節(jié)點交易數(shù)據(jù),根據(jù)節(jié)點交易數(shù)據(jù)構(gòu)建網(wǎng)絡(luò)交易圖,從網(wǎng)絡(luò)交易圖中挖掘出節(jié)點間社交距離,以得到社交關(guān)系數(shù)據(jù)、發(fā)生交易概率,并構(gòu)建節(jié)點分配的多目標優(yōu)化問題;
4、s2、根據(jù)社交關(guān)系,劃分網(wǎng)絡(luò)交易圖中的節(jié)點,得到不同的社區(qū),使得節(jié)點存儲的同社區(qū)節(jié)點的相關(guān)交易,求解多目標優(yōu)化問題;
5、s3、根據(jù)單節(jié)點存儲代價、單節(jié)點查詢代價,將網(wǎng)絡(luò)交易圖中的網(wǎng)絡(luò)整體存儲代價、網(wǎng)絡(luò)整體查詢代價,建模成多目標優(yōu)化模型,以最小化網(wǎng)絡(luò)交易圖中的網(wǎng)絡(luò)整體存儲代價、網(wǎng)絡(luò)整體查詢代價;
6、s4、采用多種群蟻群算法,求解網(wǎng)絡(luò)整體存儲代價、網(wǎng)絡(luò)整體查詢代價,分配交易存儲位置,以均衡網(wǎng)絡(luò)交易圖的存儲代價、查詢代價。
7、本發(fā)明基于社交網(wǎng)絡(luò)設(shè)計區(qū)塊鏈數(shù)據(jù)存儲技術(shù),根據(jù)節(jié)點的社交關(guān)系將節(jié)點分配到特定社區(qū)內(nèi),通過對存儲代價和查詢代價的建模,構(gòu)建節(jié)點分配優(yōu)化問題,從而實現(xiàn)數(shù)據(jù)存儲優(yōu)化,達到存儲代價和查詢代價均衡的目標。
8、本發(fā)明實現(xiàn)了基于社交網(wǎng)絡(luò)的區(qū)塊鏈存儲。本發(fā)明結(jié)合區(qū)塊鏈網(wǎng)絡(luò)中用戶的社交關(guān)系,對網(wǎng)絡(luò)的存儲代價和查詢代價進行聯(lián)合建模,并利用多種群遺傳蟻群算法對多目標優(yōu)化問題進行求解,從而在保證查詢代價在容忍范圍內(nèi),達到最小化整體存儲代價的目標。
9、在更具體的技術(shù)方案中,s1包括:
10、s11、將網(wǎng)絡(luò)交易圖中,所有節(jié)點存儲的數(shù)據(jù)量,設(shè)置為網(wǎng)絡(luò)整體存儲代價,最小化處理網(wǎng)絡(luò)整體存儲代價;
11、s12、定義查詢代價為,獲取節(jié)點從網(wǎng)絡(luò)交易圖中的其余節(jié)點獲取交易數(shù)據(jù)時產(chǎn)生的消耗參數(shù),設(shè)置為整體網(wǎng)絡(luò)查詢代價,最小化處理網(wǎng)絡(luò)整體查詢代價;
12、s13、對節(jié)點的保存數(shù)據(jù)量、同時隙內(nèi)隸屬關(guān)系,制定限制條件。
13、本發(fā)明提出了一種基于社交網(wǎng)絡(luò)的區(qū)塊鏈數(shù)據(jù)存儲技術(shù)。通過挖掘區(qū)塊鏈網(wǎng)絡(luò)中用戶之間的社交關(guān)系來提高區(qū)塊鏈系統(tǒng)的存儲和查詢效率。
14、在更具體的技術(shù)方案中,s11中,利用下述邏輯,最小化處理網(wǎng)絡(luò)整體存儲代價:
15、
16、式中,m為社區(qū)數(shù)目,n為節(jié)點數(shù)目,si為節(jié)點ni相關(guān)的數(shù)據(jù)量,變量xik表示節(jié)點ni是否處于社區(qū)ck中,變量xik表示節(jié)點ni與社區(qū)ck的隸屬關(guān)系。
17、在更具體的技術(shù)方案中,s12中,消耗參數(shù)包括:網(wǎng)絡(luò)消耗、節(jié)點處理查詢請求的消耗。
18、在更具體的技術(shù)方案中,s12中,利用下述邏輯,最小化處理網(wǎng)絡(luò)整體查詢代價:
19、
20、式中,n為節(jié)點數(shù)目,vi表示節(jié)點ni訪問其他節(jié)點的訪問概率集合,任意的vij∈vi,表示節(jié)點i訪問節(jié)點j的概率,sj為節(jié)點nj相關(guān)的數(shù)據(jù)量,cij為從節(jié)點ni到節(jié)點nj的單位數(shù)據(jù)量的通訊代價,σij表示兩個節(jié)點是否位于同一個社區(qū)。
21、本發(fā)明定義了用戶感興趣的交易包括自身參與的交易以及未來可能發(fā)生關(guān)系的對象的交易,并創(chuàng)新性地將社交關(guān)系應(yīng)用于區(qū)塊鏈存儲研究中,來預(yù)測用戶未來的交易對象,從而能夠更好地對網(wǎng)絡(luò)中的用戶進行社區(qū)劃分。
22、在更具體的技術(shù)方案中,s2包括:
23、s21、針對網(wǎng)絡(luò)整體存儲代價、網(wǎng)絡(luò)整體查詢代價的多目標優(yōu)化問題,創(chuàng)建螞蟻種群;
24、s22、設(shè)定存儲節(jié)約率、查詢代價增長率,求取網(wǎng)絡(luò)整體存儲代價、網(wǎng)絡(luò)整體查詢代價的閾值限制條件;
25、s23、使得存儲種群ants、查詢種群antq,在各自的搜索空間內(nèi)進行解搜索操作,得到存儲種群解;
26、s24、計算存儲種群解x;
27、具體地,前述x為一個由0或者1組成的n行m列的矩陣,n為網(wǎng)絡(luò)中節(jié)點數(shù)目,m為社區(qū)的數(shù)目,記錄著節(jié)點隸屬社區(qū)的情況。根據(jù)解x,可以通過下列式子計算存儲代價:
28、
29、式中,m為社區(qū)數(shù)目,n為節(jié)點數(shù)目,si為節(jié)點ni相關(guān)的數(shù)據(jù)量,變量xik表示節(jié)點ni是否處于社區(qū)ck中,變量xik表示節(jié)點ni與社區(qū)ck的隸屬關(guān)系,并且變量xik矩陣x第i行第k列的值。同理,可以計算出查詢代價:
30、
31、式中,n為節(jié)點數(shù)目,vi表示節(jié)點ni訪問其他節(jié)點的訪問概率集合,任意的vij∈vi,表示節(jié)點i訪問節(jié)點j的概率,sj為節(jié)點nj相關(guān)的數(shù)據(jù)量,cij為從節(jié)點ni到節(jié)點nj的單位數(shù)據(jù)量的通訊代價,σij表示兩個節(jié)點是否位于同一個社區(qū),即矩陣x的第i行和第j行是否有相同列的值為1。從而得到存儲種群解的對應(yīng)存儲代價、對應(yīng)查詢代價,將對應(yīng)存儲代價、對應(yīng)查詢代價與限制條件比較;
32、s25、獲取并根據(jù)比較結(jié)果,處理存儲種群ants所維護的信息素數(shù)據(jù)。
33、本發(fā)明中的用戶在區(qū)塊鏈網(wǎng)絡(luò)中被當(dāng)做一個節(jié)點,每個節(jié)點會選擇自己感興趣的數(shù)據(jù)進行存儲。這里感興趣的數(shù)據(jù)主要指用戶參與的交易數(shù)據(jù)以及未來可能會使用的交易數(shù)據(jù)。這種方式減輕了節(jié)點存儲整個賬本的負擔(dān),也顧及了節(jié)點存儲數(shù)據(jù)的意愿。
34、在更具體的技術(shù)方案中,s21中,螞蟻種群包括:存儲種群ants、查詢種群antq。
35、在更具體的技術(shù)方案中,s25中,對信息素數(shù)據(jù)進行更新操作、折扣操作、變異操作以及交叉操作。
36、本發(fā)明對網(wǎng)絡(luò)節(jié)點的存儲代價和查詢代價進行聯(lián)合建模求解,并證明了該多目標優(yōu)化問題是np難的。通過設(shè)定存儲節(jié)約率和查詢代價增長率,可以求得社區(qū)大小的范圍值以及網(wǎng)絡(luò)節(jié)點的社區(qū)分配情況,從而在保證查詢代價在容忍范圍內(nèi)的前提下,達到最小化整體存儲代價的目標。
37、在更具體的技術(shù)方案中,s4中,調(diào)節(jié)存儲節(jié)約率、查詢代價容忍率,以分配交易存儲位置。
38、在更具體的技術(shù)方案中,基于社交網(wǎng)絡(luò)的區(qū)塊鏈存儲系統(tǒng)包括:
39、節(jié)點社交關(guān)系挖掘模塊,用以采集節(jié)點交易數(shù)據(jù),根據(jù)節(jié)點交易數(shù)據(jù)構(gòu)建網(wǎng)絡(luò)交易圖,從網(wǎng)絡(luò)交易圖中挖掘出節(jié)點間社交距離,以得到社交關(guān)系數(shù)據(jù)、發(fā)生交易概率,并構(gòu)建節(jié)點分配的多目標優(yōu)化問題;
40、多目標優(yōu)化問題求解模塊,用以根據(jù)社交關(guān)系,劃分網(wǎng)絡(luò)交易圖中的節(jié)點,得到不同的社區(qū),使得節(jié)點存儲的同社區(qū)節(jié)點的相關(guān)交易,求解多目標優(yōu)化問題,多目標優(yōu)化問題求解模塊與節(jié)點社交關(guān)系挖掘模塊連接;
41、存儲查詢代價優(yōu)化模塊,用以根據(jù)單節(jié)點存儲代價、單節(jié)點查詢代價,將網(wǎng)絡(luò)交易圖中的網(wǎng)絡(luò)整體存儲代價、網(wǎng)絡(luò)整體查詢代價,建模成多目標優(yōu)化模型,以最小化網(wǎng)絡(luò)交易圖中的網(wǎng)絡(luò)整體存儲代價、網(wǎng)絡(luò)整體查詢代價,存儲查詢代價優(yōu)化模塊與多目標優(yōu)化問題求解模塊連接;
42、代價均衡模塊,用以采用多種群蟻群算法,求解網(wǎng)絡(luò)整體存儲代價、網(wǎng)絡(luò)整體查詢代價,分配交易存儲位置,以均衡網(wǎng)絡(luò)交易圖的存儲代價、查詢代價,代價均衡模塊與存儲查詢代價優(yōu)化模塊連接。
43、本發(fā)明相比現(xiàn)有技術(shù)具有以下優(yōu)點:
44、本發(fā)明基于社交網(wǎng)絡(luò)設(shè)計區(qū)塊鏈數(shù)據(jù)存儲技術(shù),根據(jù)節(jié)點的社交關(guān)系將節(jié)點分配到特定社區(qū)內(nèi),通過對存儲代價和查詢代價的建模,構(gòu)建節(jié)點分配優(yōu)化問題,從而實現(xiàn)數(shù)據(jù)存儲優(yōu)化,達到存儲代價和查詢代價均衡的目標。
45、本發(fā)明實現(xiàn)了基于社交網(wǎng)絡(luò)的區(qū)塊鏈存儲。本發(fā)明結(jié)合區(qū)塊鏈網(wǎng)絡(luò)中用戶的社交關(guān)系,對網(wǎng)絡(luò)的存儲代價和查詢代價進行聯(lián)合建模,并利用多種群遺傳蟻群算法對多目標優(yōu)化問題進行求解,從而在保證查詢代價在容忍范圍內(nèi),達到最小化整體存儲代價的目標。
46、本發(fā)明提出了一種基于社交網(wǎng)絡(luò)的區(qū)塊鏈數(shù)據(jù)存儲技術(shù)。通過挖掘區(qū)塊鏈網(wǎng)絡(luò)中用戶之間的社交關(guān)系來提高區(qū)塊鏈系統(tǒng)的存儲和查詢效率。
47、本發(fā)明定義了用戶感興趣的交易包括自身參與的交易以及未來可能發(fā)生關(guān)系的對象的交易,并創(chuàng)新性地將社交關(guān)系應(yīng)用于區(qū)塊鏈存儲研究中,來預(yù)測用戶未來的交易對象,從而能夠更好地對網(wǎng)絡(luò)中的用戶進行社區(qū)劃分。
48、本發(fā)明中的用戶在區(qū)塊鏈網(wǎng)絡(luò)中被當(dāng)做一個節(jié)點,每個節(jié)點會選擇自己感興趣的數(shù)據(jù)進行存儲。這里感興趣的數(shù)據(jù)主要指用戶參與的交易數(shù)據(jù)以及未來可能會使用的交易數(shù)據(jù)。這種方式減輕了節(jié)點存儲整個賬本的負擔(dān),也顧及了節(jié)點存儲數(shù)據(jù)的意愿。
49、本發(fā)明對網(wǎng)絡(luò)節(jié)點的存儲代價和查詢代價進行聯(lián)合建模求解,并證明了該多目標優(yōu)化問題是np難的。通過設(shè)定存儲節(jié)約率和查詢代價增長率,可以求得社區(qū)大小的范圍值以及網(wǎng)絡(luò)節(jié)點的社區(qū)分配情況,從而在保證查詢代價在容忍范圍內(nèi)的前提下,達到最小化整體存儲代價的目標。
50、本發(fā)明解決了現(xiàn)有技術(shù)中存在的節(jié)點存儲負擔(dān)較大、存儲和查詢效率較低以及存儲代價均衡程度不高的技術(shù)問題。