本發(fā)明涉及區(qū)塊鏈的交易數(shù)據(jù)安全問題,特別是一種區(qū)塊鏈的可生存存儲系統(tǒng)。
背景技術(shù):
2009年比特幣的出現(xiàn)帶來了一種顛覆性的成果--區(qū)塊鏈技術(shù),區(qū)塊鏈?zhǔn)且粋€安全的帳簿類數(shù)據(jù)庫,由一個個數(shù)據(jù)區(qū)塊組成,使用者可以在這個不斷更新升級的平臺查找數(shù)據(jù),對于金融機(jī)構(gòu)來說,區(qū)塊鏈能加快交易處理過程、降低成本、減少中間人、提高市場洞察力,增加業(yè)務(wù)透明度。
計算和存儲是計算機(jī)系統(tǒng)的兩大基本任務(wù),隨著信息的爆炸性增長,存儲部件會經(jīng)歷基于單服務(wù)器的直連存儲,到基于局域網(wǎng)的集群網(wǎng)格存儲,最后發(fā)展到基于廣域網(wǎng)的數(shù)據(jù)網(wǎng)格,區(qū)塊鏈技術(shù)是目前發(fā)展的最末端,這種數(shù)據(jù)存儲介質(zhì)的本征特質(zhì)包括智能化的存儲,存儲服務(wù)質(zhì)量可以保證為用戶應(yīng)用提供服務(wù)區(qū)分和性能保證,存儲是面向?qū)ο蟮暮A看鎯?,以及網(wǎng)絡(luò)存儲必須保證是機(jī)密完整和安全的,現(xiàn)有的互聯(lián)網(wǎng)還沒有很好的或者方便的辦法保證區(qū)塊鏈傳輸過程中的數(shù)據(jù)和保存在存儲設(shè)備上的數(shù)據(jù)的保密性、完整性、可用性、不可抵賴性以及整個網(wǎng)絡(luò)存儲系統(tǒng)的可靠性能,尤其是近年來區(qū)塊鏈可信計算技術(shù)的產(chǎn)生,對網(wǎng)絡(luò)存儲安全又提出更高的要求。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的在于提供一種用于區(qū)塊鏈的可生存存儲系統(tǒng),包括:(1)門限裝置,用于實施門限方案,通過編碼、復(fù)制和分割把交易數(shù)據(jù)存儲在不同的存儲點,在用戶端,設(shè)置一個代理解釋用戶的命令和相應(yīng)的與區(qū)塊鏈節(jié)點相連的不同的服務(wù)器反應(yīng);(2)數(shù)據(jù)處理和信息恢復(fù)裝置,接收實施門限方案的數(shù)據(jù),恢復(fù)交易信息,保證區(qū)塊鏈的系統(tǒng)安全;(3)原子性保持機(jī)制裝置,降低多個用戶同時訪問同一文件時的可用性。
優(yōu)選的,可以采用門限方案替代加密技術(shù),或者門限方案加加密技術(shù)的復(fù)合方式進(jìn)行數(shù)據(jù)安全信任加密。
優(yōu)選的,對于一個(p-a-b)的門限方案:信息被分成b份,任何a份可以恢復(fù)信息,但任何小于p份都無法恢復(fù)信息。
優(yōu)選的,可生存存儲系統(tǒng)提供的完整性不依賴任何具體的服務(wù)器提供的a份數(shù)據(jù),當(dāng)入侵者毀掉數(shù)據(jù)或者更改數(shù)據(jù)后,客戶端的代理無法得到所需的a份交易數(shù)據(jù)或者無法恢復(fù)原文件,任何不多于(b-a)個服務(wù)器遭到攻擊并無法使用后,區(qū)塊鏈仍能使用戶正常讀交易數(shù)據(jù)文件,至少要有a份文件被正確寫入,任何大于等于a小于等于b個的正確文件寫入均能保證區(qū)塊鏈交易的正確性。
優(yōu)選的,a的選擇限制為不能大于區(qū)塊鏈節(jié)點10分鐘存儲的交易數(shù)據(jù)份額數(shù),從而降低數(shù)據(jù)被破解修改的可能性,減小服務(wù)器處理的時間和功率開銷。
本發(fā)明的區(qū)塊鏈可生存存儲系統(tǒng),降低數(shù)據(jù)被破解修改的可能性,減小服務(wù)器處理的時間和功率開銷,在服務(wù)器被攻陷的情況下仍然能有效保護(hù)部分交易數(shù)據(jù)。
根據(jù)下文結(jié)合附圖對本發(fā)明具體實施例的詳細(xì)描述,本領(lǐng)域技術(shù)人員將會更加明了本發(fā)明的上述以及其他目的、優(yōu)點和特征。
附圖說明
后文將參照附圖以示例性而非限制性的方式詳細(xì)描述本發(fā)明的一些具體實施例。附圖中相同的附圖標(biāo)記標(biāo)示了相同或類似的部件或部分。本領(lǐng)域技術(shù)人員應(yīng)該理解,這些附圖未必是按比例繪制的。本發(fā)明的目標(biāo)及特征考慮到如下結(jié)合附圖的描述將更加明顯,附圖中:
圖1為根據(jù)本發(fā)明實施例的區(qū)塊鏈可生存存儲系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施方式
在進(jìn)行具體實施方式的說明之前,為了更為清楚的表達(dá)所論述的內(nèi)容,首先定義一些非常重要的概念。
交易:交易的實質(zhì)是個關(guān)系數(shù)據(jù)結(jié)構(gòu),這個數(shù)據(jù)結(jié)構(gòu)中包含交易參與者價值轉(zhuǎn)移的相關(guān)信息。這些交易信息被稱為記賬總賬簿。交易需經(jīng)過三個創(chuàng)建、驗證、寫入?yún)^(qū)塊鏈。交易必須經(jīng)過數(shù)字簽名,保證交易的合法性。
區(qū)塊:所有的交易信息存放于區(qū)塊中,一條交易信息就是一條記錄,作為一個獨立的記錄存放于區(qū)塊鏈中。區(qū)塊由區(qū)塊頭部和數(shù)據(jù)部分組成,區(qū)塊頭字段包含區(qū)塊本身的各種特性,例如前一區(qū)塊信息,merkle值及時間戳等。其中區(qū)塊頭哈希值和區(qū)塊高度是標(biāo)識區(qū)塊最主要的兩個指標(biāo)。區(qū)塊主標(biāo)識符是它的加密哈希值,一個通過SHA算法對區(qū)塊頭進(jìn)行二次哈希計算而得到的數(shù)字指紋。產(chǎn)生的32字節(jié)哈希值被稱為區(qū)塊哈希值,或者區(qū)塊頭哈希值,只有區(qū)塊頭被用于計算。區(qū)塊哈希值可以唯一、明確地標(biāo)識一個區(qū)塊,并且任何節(jié)點通過簡單地對區(qū)塊頭進(jìn)行哈希計算都可以獨立地獲取該區(qū)塊哈希值。
區(qū)塊鏈:由區(qū)塊按照鏈?zhǔn)浇Y(jié)構(gòu)有序鏈接起來的數(shù)據(jù)結(jié)構(gòu)。區(qū)塊鏈就像一個垂直的堆棧,第一個區(qū)塊作為棧底的首區(qū)塊,隨后每個區(qū)塊都被放置在其他區(qū)塊之上。當(dāng)區(qū)塊寫入?yún)^(qū)塊鏈后將永遠(yuǎn)不會改變,并且備份到其他的區(qū)塊鏈服務(wù)器上。
實施例:參見圖1,一種用于區(qū)塊鏈的可生存存儲系統(tǒng)及方法,在服務(wù)器被攻陷的情況下仍然能有效保護(hù)部分交易數(shù)據(jù),基本思想是采用門限方案,通過編碼、復(fù)制和分割把交易數(shù)據(jù)存儲在不同的存儲點,在用戶端,設(shè)置一個代理解釋用戶的命令和相應(yīng)的與區(qū)塊鏈節(jié)點相連的不同的服務(wù)器反應(yīng)。
采用門限方案替代加密技術(shù),或者門限方案+加密技術(shù)的方式進(jìn)行數(shù)據(jù)安全信任加密。對于一個(p-a-b)的門限方案:信息被分成b份,任何a份可以恢復(fù)信息,但任何小于p份都無法恢復(fù)信息。因此,即使任何小于p份的信息被入侵者得到,系統(tǒng)仍然是安全的。
可生存存儲系統(tǒng)提供的完整性不依賴任何具體的服務(wù)器提供的a份數(shù)據(jù),因為恢復(fù)原信息的a份數(shù)據(jù)可能來自b個服務(wù)器的任何a個。當(dāng)入侵者毀掉數(shù)據(jù)或者更改數(shù)據(jù)后,客戶端的代理就無法得到所需的a份交易數(shù)據(jù)或者無法恢復(fù)原文件。任何不多于(b-a)個服務(wù)器遭到攻擊并無法使用后,區(qū)塊鏈仍能使用戶正常讀交易數(shù)據(jù)文件。對于“寫”,至少要有a份文件被正確寫入,任何大于等于a小于等于b個的正確文件寫入均能保證區(qū)塊鏈交易的正確性,成功寫入的份數(shù)越多,區(qū)塊鏈的可用性越高。因為交易數(shù)據(jù)被分割存放在多處和多個用戶可能同時訪問交易數(shù)據(jù),因此可生存存儲系統(tǒng)設(shè)置原子性保持機(jī)制裝置,從而使得多個用戶同時訪問同一文件時可用性降低。
對于不同門限方案p,a,b的選擇,由于必須對至少m個服務(wù)器廣播然后在客戶端恢復(fù)數(shù)據(jù)之后才能提供給用戶,而不是只需要向一個服務(wù)器發(fā)請求就可以,因此選擇a的時候不能大于區(qū)塊鏈節(jié)點10分鐘存儲的交易數(shù)據(jù)份額數(shù),從而降低數(shù)據(jù)被破解修改的可能性,減小服務(wù)器處理的時間和功率開銷。
雖然本發(fā)明已經(jīng)參考特定的說明性實施例進(jìn)行了描述,但是不會受到這些實施例的限定而僅僅受到附加權(quán)利要求的限定。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解可以在不偏離本發(fā)明的保護(hù)范圍和精神的情況下對本發(fā)明的實施例能夠進(jìn)行改動和修改。