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

?

增強區(qū)塊鏈本地存儲的措施分析

2021-06-29 06:56中國人民解放軍61711部隊鄧小波
電子世界 2021年10期
關(guān)鍵詞:輕量哈希數(shù)據(jù)結(jié)構(gòu)

中國人民解放軍61711部隊 鄧小波

區(qū)塊鏈技術(shù)也叫分布式賬本技術(shù),是一種用于數(shù)據(jù)記錄和存儲的信息技術(shù),這種技術(shù)以鏈?zhǔn)浇Y(jié)構(gòu)來儲存數(shù)據(jù),用密碼學(xué)算法來進行數(shù)據(jù)傳輸和訪問加密,保證數(shù)據(jù)安全。在電子交易逐漸繁榮的當(dāng)前,區(qū)塊鏈技術(shù)也成為了金融、物流、醫(yī)療、稅務(wù)、教育、供應(yīng)鏈等多個領(lǐng)域進行貿(mào)易和去中心化改革的首選技術(shù)方案。但該技術(shù)雖存在良好的數(shù)據(jù)記錄和存儲優(yōu)勢,但缺點也同樣突出。為了能使區(qū)塊鏈技術(shù)更好地應(yīng)用到各行業(yè)領(lǐng)域,將就區(qū)塊鏈技術(shù)的問題進行分體,提出優(yōu)化方案,以便能夠改進區(qū)塊鏈技術(shù)的缺陷,提高區(qū)塊鏈技術(shù)的應(yīng)用范圍。

1 區(qū)塊鏈的存儲難題

區(qū)塊鏈?zhǔn)且粋€去中心化的分布式共享數(shù)據(jù)庫,因為去中心化的特性,所以每個節(jié)點都必須能夠儲備完整的區(qū)塊數(shù)據(jù),而因為電子交易過程越來越繁瑣和復(fù)雜,系統(tǒng)節(jié)點的數(shù)量在上升,每個節(jié)點儲備的區(qū)塊數(shù)據(jù)就會增大,對本地存儲空間的需求也會越來越大,這成了區(qū)塊鏈技術(shù)的應(yīng)用瓶頸,而唯有解決這一瓶頸,才能讓區(qū)塊鏈技術(shù)在電子貿(mào)易中發(fā)揮更大的作用。

區(qū)塊鏈作為去中心化的信息系統(tǒng),其運作原理是依靠共識算法建立的信任機制以及分布式數(shù)據(jù)對唯一數(shù)據(jù)庫進行維護,而為了保證唯一數(shù)據(jù)庫的可靠性,區(qū)塊鏈的所有節(jié)點都必須保持一致性,及要做到共同記錄、共同維護和共同更新。這造成區(qū)塊鏈的存儲擴展性非常薄弱,因為所有節(jié)點都需要保持對唯一數(shù)據(jù)庫的同步性及一致性,在運作過程中,本地存儲要騰出大量空間來同步區(qū)塊鏈數(shù)據(jù)。比如比特幣系統(tǒng),比特幣系統(tǒng)采用了區(qū)塊鏈技術(shù)作為數(shù)字貨幣加密技術(shù),到2020的一月份為止,該系統(tǒng)就已經(jīng)擁有超過60萬個區(qū)塊,每個區(qū)塊的容量達到241GB,且這個數(shù)值還在以平均每月4.5GB的趨勢快速增長。且需要注意的是,比特幣系統(tǒng)中的區(qū)塊鏈只是用于基礎(chǔ)的數(shù)字貨幣交易信息記錄,所涉及的內(nèi)容不算復(fù)雜,如果要應(yīng)用于其它的信息記錄,那么區(qū)塊鏈要記錄的數(shù)據(jù)將達到一個驚人的地步。

由此可見,電子交易和區(qū)塊鏈節(jié)點越多,數(shù)據(jù)容量就會越大,加上區(qū)塊鏈的存儲擴展性非常薄弱,為了保持一致性,實現(xiàn)去中心化,每個節(jié)點服務(wù)器都需要儲備詳細(xì)的賬本信息,這就導(dǎo)致節(jié)點服務(wù)器的存儲要求非常高,存儲負(fù)荷巨大。尤其是大型區(qū)塊鏈系統(tǒng),因為區(qū)塊鏈系統(tǒng)越大,普通用戶節(jié)點就會越多,但普通用戶由于電腦配置等原因,往往很難達到區(qū)塊鏈系統(tǒng)要求的PC存儲性能,這就更制約了區(qū)塊鏈的存儲擴展性。

2 增強區(qū)塊鏈本地存儲的思路

要實現(xiàn)區(qū)塊鏈本地存儲的有效增強,可以從區(qū)塊鏈數(shù)據(jù)結(jié)構(gòu)本身以及網(wǎng)絡(luò)節(jié)點性能兩個方面出發(fā),首先是區(qū)塊鏈數(shù)據(jù)結(jié)構(gòu)方面,最好的是方式是改變區(qū)塊鏈的數(shù)據(jù)結(jié)構(gòu),也就是打造輕量型的區(qū)塊鏈,這種區(qū)塊鏈數(shù)據(jù)結(jié)構(gòu)中,區(qū)塊交易被交易哈希索引替代,這樣就可以在區(qū)塊鏈中減輕本地存儲的負(fù)荷。設(shè)計者可以通過在區(qū)塊頭設(shè)計對應(yīng)的賬戶樹結(jié)構(gòu),用來對系統(tǒng)節(jié)點賬戶加以記錄,這樣便能夠優(yōu)化存儲性能良,減輕節(jié)點服務(wù)器在本地存儲需要承受的存儲負(fù)擔(dān)。其次是節(jié)點網(wǎng)絡(luò)性能方面,可以利用糾刪碼來優(yōu)化區(qū)塊鏈本地存儲,具體做法是通過將數(shù)據(jù)處理層增加到系統(tǒng)層次中,再對區(qū)塊數(shù)據(jù)進行編碼和解碼轉(zhuǎn)化,數(shù)據(jù)被成功轉(zhuǎn)化為節(jié)點后進行數(shù)據(jù)切片,這樣節(jié)點就可以根據(jù)本身實際的存儲性能對不需要的編碼數(shù)據(jù)切片進行刪除,而如果要重構(gòu)區(qū)塊數(shù)據(jù)也可以從另外的節(jié)點再獲取數(shù)據(jù)切片進行區(qū)塊重構(gòu),這樣就保證了數(shù)據(jù)庫的去中心化,同時使得區(qū)塊鏈的一致性和穩(wěn)定性得到增強。

3 增強區(qū)塊鏈本地存儲的措施

3.1 設(shè)計輕量型區(qū)塊鏈

所謂輕量型區(qū)塊鏈,即是用在數(shù)據(jù)層增加賬戶數(shù)據(jù),用交易哈希索引替換區(qū)塊交易的系統(tǒng)類型。在常規(guī)的區(qū)塊鏈系統(tǒng)中,實現(xiàn)去中心化的原理是將所有參與節(jié)點全部用于賬本保存,所有交易產(chǎn)生的數(shù)據(jù)信息都會被完整記錄到區(qū)塊中,這樣一來交易數(shù)據(jù)所占用的存儲空間就非常巨大。舉例而言,在區(qū)塊輸入這部分?jǐn)?shù)據(jù)時,分別需要記錄前一筆交易的哈希值、花費的輸出索引、輸出金額以及腳本系統(tǒng)中的各種操作符,這些內(nèi)容占據(jù)了很大的區(qū)塊容量,且大部分接點和這次交易毫無關(guān)系,也就是存在存儲浪費的現(xiàn)象。輕量型區(qū)塊鏈數(shù)據(jù)層是以區(qū)塊數(shù)據(jù)、賬戶數(shù)據(jù)和本地交易共同組成數(shù)據(jù)層,其結(jié)構(gòu)如圖1所示。

圖1 輕量型區(qū)塊鏈數(shù)據(jù)結(jié)構(gòu)

圖2 區(qū)塊數(shù)據(jù)結(jié)構(gòu)

由圖1可見,相比常規(guī)區(qū)塊鏈,輕量型區(qū)塊鏈新增了賬戶數(shù)據(jù)和本地交易,且在區(qū)塊鏈類型中,交易被以哈希值形式存儲到塊數(shù)據(jù),同時,因為塊頭上增加了賬戶樹根,區(qū)塊數(shù)據(jù)結(jié)構(gòu)如圖2所示。

其中,Time是時間戳,也就是記錄挖礦時間的信息,而Nonce是計算出的在要求值以下或者等于要求值的哈希值,是礦工完成工作量的證明。從圖2的區(qū)塊數(shù)據(jù)結(jié)構(gòu)可見,在輕量型區(qū)塊鏈中,PrevBlock Hash是以前塊的整個塊數(shù)據(jù)進行哈希運算后得到的哈希指針,這個哈希指針從結(jié)構(gòu)中的前塊指向后塊,所以后塊就保留了前塊的哈希值,也就是說每個區(qū)塊中會保存上一個塊的哈希值,這樣一來就形成了鏈?zhǔn)浇Y(jié)構(gòu),同時輕量型區(qū)塊鏈也具備了不可篡改性。因為下一個塊要記錄上一個塊的哈希值,如果改動任意一個區(qū)塊的身前區(qū)塊數(shù)據(jù),就會引發(fā)數(shù)據(jù)沖突,而身后區(qū)塊的PrevBlock Hash就會對身前區(qū)塊的數(shù)據(jù)進行檢驗,避免了交易中存在的數(shù)據(jù)錯誤,利用這種逐層計算交易哈希值的方式,交易本身的合法性就得到保證,這樣哈希索引就可以替換區(qū)塊交易,同時避免出現(xiàn)賬戶數(shù)據(jù)錯誤等問題,確保交易本身的合法性。

在應(yīng)用輕量型區(qū)塊鏈系統(tǒng)時,操作人員只需要將交易中需要計算的交易數(shù)據(jù)和該區(qū)塊中其他交易做運算,然后將ROOT值做簡單比較就可以驗證交易合法性。這種設(shè)計的優(yōu)勢在于使用ROOT值比較驗證取代了傳統(tǒng)交易中用鎖定和解鎖腳本驗證UTXO合法性的復(fù)雜操作,節(jié)省了許多不必要的數(shù)據(jù)信息,這些信息的實際信息價值并不高,不存在必須保留的必要性,反而會在區(qū)塊中占用諸多存儲空間,這無疑是一種資源浪費,且因為交易內(nèi)容過于完整和詳細(xì),一但出現(xiàn)信息泄露,有極大可能暴露用戶的個人隱私。在輕量型區(qū)塊鏈中,是利用的哈希運算的不可逆性,用交易的哈希值代替具體交易信息被記錄在區(qū)塊中,哈希值因為自身唯一性,可以對應(yīng)對應(yīng)的交易信息,也不可用逆運算的方式恢復(fù)交易信息,這樣就可以證明某筆交易存在于區(qū)塊鏈中,既保證了用戶的私信,同時也減少了無意義信息存儲擠占區(qū)塊容量。

3.2 節(jié)點網(wǎng)絡(luò)性能增強

節(jié)點網(wǎng)絡(luò)性能可以利用數(shù)據(jù)切片的形式進行加強,一般而言每一個區(qū)塊鏈系統(tǒng)有三個用戶節(jié)點,假設(shè)區(qū)塊鏈有某塊N,那么使用數(shù)據(jù)切片就能實現(xiàn)數(shù)據(jù)線性切片且不存在重合,也就是公式:N=N1+N2+N3+N4+N5,數(shù)據(jù)切片之后節(jié)點依據(jù)實際的存儲能力可以隨機刪除碎片,不同節(jié)點保留有不同的切片,如第一個節(jié)點有1、4,第二個節(jié)點有切片2、3,第三個節(jié)點有切片5,每個節(jié)點儲備一部分?jǐn)?shù)據(jù)切片,而切片N1到N5則由全網(wǎng)備份,如果要重構(gòu)數(shù)據(jù),第一個節(jié)點就可以向第二個節(jié)點或者第三個節(jié)點獲取切片,以此實現(xiàn)重構(gòu)數(shù)據(jù)。

常見的設(shè)計是使用糾刪碼編碼區(qū)塊數(shù)據(jù),降低節(jié)點存儲負(fù)擔(dān),在區(qū)塊鏈中,編碼矩陣分為公有和私有兩個類型,公有編碼矩陣只有唯一的編碼矩陣,該編碼矩陣為系統(tǒng)共用,系統(tǒng)運行時生成編碼矩陣,無法更改,私有編碼矩陣根據(jù)區(qū)塊鏈中的節(jié)點對應(yīng)的賬戶地址生成不同的矩陣因子。在公用編碼矩陣中,網(wǎng)絡(luò)是節(jié)點獲取編碼切片的主要載體,依靠網(wǎng)絡(luò)節(jié)點向區(qū)塊鏈的其它節(jié)點調(diào)取切片實現(xiàn)重構(gòu),在私有編碼矩陣中,節(jié)點被分成普通節(jié)點和超級節(jié)點,由超級節(jié)點的編碼矩陣向普通節(jié)點提供切片。根據(jù)所選擇技術(shù)是聯(lián)盟鏈還是共有鏈,是去中心化還是多中心化,可適當(dāng)選擇對應(yīng)矩陣。因為在區(qū)塊鏈中所有的數(shù)據(jù)都是二進制的方式來進行存儲,不同區(qū)塊要單獨編碼,獲取編碼矩陣后,將區(qū)塊均勻分割成若干數(shù)據(jù)切片,然后產(chǎn)生切片線性組合,將數(shù)據(jù)切片和編碼矩陣采用矩陣乘法進行計算得到編碼數(shù)據(jù),所有切片都需要進行標(biāo)識,以此確??梢灾貥?gòu)數(shù)據(jù)。

結(jié)語:區(qū)塊鏈技術(shù)正被廣泛應(yīng)用于各個領(lǐng)域,正因如此,對于區(qū)塊鏈存在的本地存儲問題就要予以嚴(yán)肅看待,從區(qū)塊鏈技術(shù)去中心化的特性來看,過多無意義的信息記錄造成了本地存儲中容量的擠占問題,為了解決這一問題,可以通過改變區(qū)塊數(shù)據(jù)儲存結(jié)構(gòu)以及進行數(shù)據(jù)切片等方式減輕節(jié)點服務(wù)器本地存儲的負(fù)荷,從而優(yōu)化區(qū)塊鏈本地存儲,為交易安全和信息備份提供更好的保護作用。

猜你喜歡
輕量哈希數(shù)據(jù)結(jié)構(gòu)
并繼竿之我見(四)
——輕量竿只有新手才用?
文件哈希值處理一條龍
輕量新能源汽車應(yīng)用開關(guān)磁阻電機系統(tǒng)匹配的研究
我對輕量型并繼竿的看法
“翻轉(zhuǎn)課堂”教學(xué)模式的探討——以《數(shù)據(jù)結(jié)構(gòu)》課程教學(xué)為例
高職高專數(shù)據(jù)結(jié)構(gòu)教學(xué)改革探討
基于OpenCV與均值哈希算法的人臉相似識別系統(tǒng)
巧用哈希數(shù)值傳遞文件
TRIZ理論在“數(shù)據(jù)結(jié)構(gòu)”多媒體教學(xué)中的應(yīng)用
《數(shù)據(jù)結(jié)構(gòu)》教學(xué)方法創(chuàng)新探討