區(qū)塊鏈和分布式記賬技術 基礎設施 分布式存儲技術要求 征求意見稿_第1頁
區(qū)塊鏈和分布式記賬技術 基礎設施 分布式存儲技術要求 征求意見稿_第2頁
區(qū)塊鏈和分布式記賬技術 基礎設施 分布式存儲技術要求 征求意見稿_第3頁
區(qū)塊鏈和分布式記賬技術 基礎設施 分布式存儲技術要求 征求意見稿_第4頁
區(qū)塊鏈和分布式記賬技術 基礎設施 分布式存儲技術要求 征求意見稿_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

4區(qū)塊鏈和分布式記賬技術存儲技術要求本文件明確了區(qū)塊鏈和分布式記賬技術的存儲架構,規(guī)定了存儲技術要求,包括存儲對象、存儲類型、存儲方式及存儲流程。本文件適用于區(qū)塊鏈和分布式記賬技術存儲的設計和實現。2規(guī)范性引用文件下列文件中的內容通過文中的規(guī)范性引用而構成本文件必不可少的條款。其中,注日期的引用文件,僅該日期對應的版本適用于本文件;不注日期的引用文件,其最新版本(包括所有的修改單)適用于本文件。GB/T17532-2005術語工作計算機應用機器可讀術語交換格式(MARTIF)協商交換GB/T31916.1-2015信息技術云數據存儲和管理基于對象的云存儲應用接口測試方法GB/T42571-2023信息安全技術區(qū)塊鏈信息服務安全規(guī)范GB/T42752-2023區(qū)塊鏈和分布式記賬技術參考架構GB/T43579-2023區(qū)塊鏈和分布式記賬技術智能合約生命周期管理技術規(guī)范3術語和定義下列術語和定義適用于本文件。3.1區(qū)塊鏈blockchain使用密碼技術鏈接將共識確認過的區(qū)塊按順序追加形成的分布式賬本。[來源:GB/T42752-20233.12]3.2智能合約smartcontract存儲在分布式賬本中的計算機程序,智能合約的共識執(zhí)行結果都記錄在分布式賬本中。[來源:GB/T42752-20233.13]4縮略語下列縮略語適用于本文件。ID身份(Identification)MPT默克爾壓縮前綴樹(MerklePatriciaTries)5存儲對象5GB/TXXXXX—XXXX5.1概述存儲對象包括賬本數據、擴展數據和支持系統運作的其他數據。a)賬本數據是用戶向區(qū)塊鏈發(fā)送的消息記錄構成的數據,具體包括交易數據和區(qū)塊數據。交易數據是用戶向區(qū)塊鏈發(fā)送的對賬本數據進行原子性變更的消息記錄,是賬本數據的最小存儲單元。區(qū)塊數據是承載交易數據的數據包,通過共識協議對數據包中的交易執(zhí)行結果達成一致。b)擴展數據是基于賬本數據衍生的或通過在賬本數據提供證明信息而擴展的數據,具體包括狀態(tài)數據和自定義數據。狀態(tài)數據是通過交易執(zhí)行衍生的數據,包括智能合約代碼、智能合約賬戶狀態(tài),以及交易或智能合約執(zhí)行衍生的數據等,可基于賬本數據重建。自定義數據是提供證明信息到賬本層而擴展的其他數據。c)系統運行輔助數據是指不直接以交易和區(qū)塊形式存儲,也無法由交易和區(qū)塊數據衍生,但有助于區(qū)塊鏈系統運行或提供服務的其他數據,例如終端用戶密鑰、系統運行日志、事務日志和配置參數等。5.2賬本數據5.2.1交易數據交易數據的技術要求如下:a)應包含交易數據的唯一標識ID。b)應包含交易發(fā)起方ID。c)應包含交易發(fā)起方對交易內容的數字簽名,以支持交易數據的不可否認性。d)應包含交易內容,表示本次交易發(fā)起者所發(fā)起的活動內容,例如智能合約調用交易中的被調用方法、參數等。e)宜包含交易類型,例如轉帳交易或者合約調用交易等。f)宜限制單條交易數據大小在一定范圍內。g)宜在多個區(qū)塊鏈節(jié)點一致性存儲。5.2.2區(qū)塊數據區(qū)塊數據的技術要求如下:a)區(qū)塊數據結構應至少包含區(qū)塊頭和區(qū)塊體兩部分。b)每個區(qū)塊應具有唯一的ID,該ID基于數字摘要計算等可驗證其未被篡改的技術生成。c)非創(chuàng)世區(qū)塊的區(qū)塊頭中應至少包含區(qū)塊ID、區(qū)塊生產者ID、區(qū)塊生產者對區(qū)塊的簽名、區(qū)塊的前序區(qū)塊ID、區(qū)塊產生的時間戳等區(qū)塊元數據。d)非創(chuàng)世區(qū)塊的區(qū)塊體中應包含區(qū)塊的交易序列。e)宜限制單個區(qū)塊數據的大小或限制單個區(qū)塊中包含的交易數量。f)宜在多個區(qū)塊鏈節(jié)點一致性存儲。5.3擴展數據5.3.1狀態(tài)數據狀態(tài)數據由表示以下內容的數據構成:智能合約代碼、智能合約賬戶狀態(tài),以及交易或智能合約執(zhí)行衍生的數據等。狀態(tài)數據的技術要求如下:a)應以交易作為狀態(tài)數據變更的依據,并保證變更結果的正確性。6b)應支持通過智能合約等方式定義狀態(tài)數據的讀寫規(guī)則,并在交易執(zhí)行時進行校驗。c)應采用支持數據完整性及一致性校驗的數據組織方式,例如Merkle樹、MPT樹等。d)應通過共識協議對狀態(tài)數據的變更達成一致。e)應支持基于賬本數據重建。f)宜支持狀態(tài)數據讀寫權限設置。g)宜在多個區(qū)塊鏈節(jié)點一致性存儲。5.3.1自定義數據自定義數據的技術要求如下:a)應具有唯一標識。b)應對數據內容做完整性及有效性驗證后再存儲。c)宜將其證明信息存儲在賬本數據中,并支持一定期限內的驗證。d)宜在賬本中聲明其存儲方式、存儲位置、數據類型、數據生產者或數據來源等元數據信息。5.4系統運行輔助數據系統運行輔助數據由表示以下內容的數據等構成:密鑰、日志(運行日志、事務日志)、配置參數及其他系統運行必須的數據等。系統運行輔助數據的技術要求如下:a)密鑰等機密數據應進行加密保護。b)日志數據中應不暴露賬本數據和擴展數據的詳細內容。c)應支持關鍵數據的備份和恢復。6存儲類型根據數據的用途,可將存儲的數據分為持久存儲數據和臨時存儲數據。持久存儲數據是指不能被修改或刪除的數據。在全節(jié)點中,用于確保區(qū)塊鏈的歷史可追溯和數據不可篡改。在輕節(jié)點中,用于確??蛻舳丝沈炞C區(qū)塊鏈節(jié)點返回業(yè)務數據的可信性。臨時存儲數據是指可在一定時間后被修改或刪除的數據。在全節(jié)點中,用于支持區(qū)塊鏈的當前業(yè)務功能。6.2持久存儲6.2.1存儲范圍全節(jié)點的持久存儲對象如下:a)區(qū)塊鏈,即5.2.2區(qū)塊數據的序列;b)快照,即5.3擴展數據和5.4系統運行輔助數據在不同時期的快照;輕節(jié)點的持久存儲對象如下:c)至多為區(qū)塊頭鏈,即5.2.2(c)區(qū)塊頭在區(qū)塊鏈全生命周期的序列;d)至少為區(qū)塊ID鏈,即5.2.2(c)區(qū)塊頭中的區(qū)塊ID在區(qū)塊鏈全生命周期的序列;6.2.2技術要求全節(jié)點持久存儲技術要求如下:7GB/TXXXXX—XXXXa)完整性:1)區(qū)塊鏈應為系統全生命周期的完整區(qū)塊序列,不應有區(qū)塊缺失;2)區(qū)塊結構完整,區(qū)塊內部不應有交易缺失;3)應能通過區(qū)塊哈希值的完整性校驗;b)一致性:1)快照的狀態(tài)數據應與從創(chuàng)世區(qū)塊最追溯至該快照對應的區(qū)塊所產生的狀態(tài)數據一致;2)快照的輔助數據中公鑰等密碼學數據應能解密區(qū)塊中加密字段或驗證區(qū)塊中的數字簽名;3)不同節(jié)點的區(qū)塊鏈中相同序號的區(qū)塊應保持一致;c)擴展性:1)存儲方案應支持無限擴容,容納區(qū)塊鏈全生命周期的全量數據;2)宜建立多層級存儲體系,在區(qū)塊鏈數據隨時間推移逐漸增長時將較為早期的數據從主存儲逐層級轉儲至存儲體系的其他層級;d)安全性:區(qū)塊鏈至少應在兩個節(jié)點存儲,預防單節(jié)點故障;e)持久存儲數據應確保數據的查詢與追溯;f)宜包含多個狀態(tài)數據快照以提高追溯效率,可每經過400萬個交易建立一個狀態(tài)數據快照;g)對存儲設備要求如下:1)應具有較大容量;2)宜支持離線存儲;3)應具有良好時間耐受性。輕節(jié)點持久存儲技術要求如下:a)完整性:區(qū)塊頭鏈應為系統全生命周期的完整區(qū)塊頭序列,不應有缺失;b)一致性:1)不同輕節(jié)點的區(qū)塊頭鏈中相同序號區(qū)塊頭的字段保持一致;2)輕節(jié)點的區(qū)塊鏈頭鏈中區(qū)塊頭應與全節(jié)點區(qū)塊鏈中系統序號區(qū)塊頭的字段保持一致。c)存儲方案應盡量精簡數據,僅保留足以驗證數據真?zhèn)蔚牟糠郑蓪祿M行壓縮存儲;d)存儲設備要求具備較低的能耗。6.3臨時存儲6.3.1存儲范圍臨時性存儲的目標是支持區(qū)塊鏈的業(yè)務功能,僅全節(jié)點有臨時存儲;輕節(jié)點不執(zhí)行業(yè)務交易,不需要臨時存儲。臨時存儲對象應包括:a)賬本數據中的最新區(qū)塊和尚未納入區(qū)塊的新接收交易;b)最新的5.3擴展數據和5.4系統運行輔助數據。6.3.2技術要求臨時存儲技術要求如下:a)應確保最新活動記錄和狀態(tài)數據的完整性;b)應確保數據與區(qū)塊鏈網絡中其他正常節(jié)點的一致性;c)存儲設備應具備較高的讀、寫、刪等操作性能;d)存儲設備應具備較高的操作耐受性,長時間頻繁讀寫而不丟失數據;e)應定期將交易和區(qū)塊轉移至持久存儲;f)宜定期將擴展數據和輔助數據的快照轉移至持久存儲;g)宜在節(jié)點和系統運行狀態(tài)發(fā)生重要變化時將輔助數據中的關鍵數據備份到備份存儲;h)宜根據臨時數據的數據量、活躍程度、讀寫情況建立多層級、差異化的存儲硬件體系,以取得8最佳性能,如:1)將頻繁讀取、很少改寫的部分活躍業(yè)務數據和智能合約存儲到閃存等塊讀寫設備中;2)將頻繁讀取和改寫但丟失后不破壞系統數據完整性的輔助數據、過程數據存儲到RAM等高速易失性隨機存儲器中。7存儲方式7.1概述不同存儲對象將根據其特性采用不同的存儲方式。賬本數據可存儲于分布式賬本或數據庫中,而擴展數據和系統運行輔助數據則可采用數據庫存儲、對象存儲或文件存儲。數據庫存儲:是將數據按照預定結構組織成數據集合的存儲方式[來源:GB/T17532-2005,7.5]。對象存儲:是以對象作為存儲單位,并提供對象級訪問接口的存儲方式[來源:GB/T31916.1-2015,3.1.4]。文件存儲:是將數據以文件的形式保存在計算機系統或其他存儲設備中的一種分層存儲方式。其中,數據庫存儲和對象存儲較適用于需要頻繁訪問的臨時存儲性數據,而文件存儲則適用于需要長期保存的持久存儲性數據。7.2通用要求數據庫存儲、對象存儲、文件存儲通用技術要求如下:a)應滿足GB/T42571-2023中的安全要求;b)宜支持使用區(qū)塊高度、區(qū)塊時間戳、交易哈希值等標識快速檢索數據,及通過添加節(jié)點提升存儲容量。7.3數據庫存儲數據庫存儲技術要求如下:a)應支持將數據作為鍵值對存儲;b)宜支持數據分片技術,將鍵值數據分散到不同的分片中,提高并行處理能力;c)宜支持狀態(tài)通道或側鏈技術,允許將頻繁更新的鍵值數據卸載至鏈下存儲;d)宜支持讀寫分離機制,優(yōu)化數據庫的查詢性能;e)宜采用數據復制、主從架構或分布式數據庫等技術,確保數據庫服務的高可用性;f)應提供數據備份和恢復機制,并要求數據庫應具備容錯機制;g)宜支持基于共識機制的鍵值數據復制和同步,確保網絡中數據的一致性;h)宜采用高性能、高可靠性的存儲介質,如企業(yè)級固態(tài)硬盤(SSD)或NVMESSA;i)宜根據實際需求選擇不同的磁盤陣列技術(RAID)級別,如RAID10或RAID5。7.4對象存儲對象存儲的技術要求如下:a)宜采用去中心化內容尋址存儲技術,如使用數據哈希作為標識,快速定位和訪問存儲的對象;b)應支持對象版本控制,允許追蹤和恢復對象的歷史版本;c)宜支持無限的命名空間,能夠動態(tài)擴展存儲容量;d)應支持對象元數據的高效索引和檢索,以應對海量對象的管理;e)應支持對象的多副本存儲和自動同步,確保數據的高可用性;f)應支持容錯機制和自我修復能力,自動從副本中恢復,保證數據的完整性。9GB/TXXXXX—XXXX7.5文件存儲文件存儲的技術要求如下:a)宜支持區(qū)塊鏈網絡中的分布式文件存儲,允許大文件分散存儲在多個節(jié)點上;b)宜支持區(qū)塊鏈全節(jié)點和輕節(jié)點的靈活存儲策略,允許輕節(jié)點僅存儲區(qū)塊頭和自身相關的數據;c)宜支持靈活的目錄結構,如支持樹形目錄和扁平化目錄;d)宜支持文件版本控制,保留數據的歷史版本;e)宜支持不可變文件存儲,如追加寫文件系統,確保寫入文件系統的數據無法被修改;f)宜支持常用的文件級協議,如文件傳輸協議(FTP)、服務器消息塊(SMB)、通用互聯網文件系統(CIFS)或網絡文件系統(NFS)等;g)宜支持文件共享,網絡上具有適當權限的計算機可以訪問存儲在NAS設備上的文件;h)宜支持將數據文件復制到分布于多個地理位置的數據中心,提供災難恢復能力。8存儲流程8.1概述區(qū)塊鏈存儲流程是指從區(qū)塊鏈上的數據配置、數據預處理、構造自定義數據、自定義數據驗證、數據同步、數據落盤和事后數據管理等一系列步驟和方法,旨在確保區(qū)塊鏈系統的數據安全性和可擴展性,如圖1所示圖1區(qū)塊鏈存儲流程GB/TXXXXX—XXXX8.2運行輔助數據配置數據存儲前,需要對支持系統運作的運行輔助數據進行配置,所涉及的內容包括但不限于:a)應對系統運行的配置文件進行加載;b)應對存儲行為發(fā)起者的密鑰進行托管或提示自行保存。8.3預處理數據存儲前,需要對上鏈存儲的數據進行預處理,所涉及的內容包括但不限于:a)應檢查數據的格式是否符合上鏈要求;b)應對數據的相關信息進行數據完整性驗證;c)宜對數據的內容進行隱私保護處理。8.4簽發(fā)交易數據進行預處理后,需要簽發(fā)數據上鏈的交易,作為待打包交易廣播到網絡,所涉及的內容包括但不限于:a)應使用合法授權的私鑰對上鏈的交易進行數字簽名;b)對于臨時數據,應注明此數據的保存期限;c)在對交易簽名時使用的算法宜支持國際或國內主流的商用密碼算法;d)交易數據宜明確其存儲類型。8.5構造自定義數據數據進行預處理后,若需要構造自定義類型的上鏈數據,所涉及的內容包括但不限于:a)應使用合法授權的私鑰對上鏈的自定義數據進行數字簽名;b)對于臨時數據,應注明此數據的保存期限;c)在對自定義數據簽名時使用的算法宜支持國際或國內主流的商用密碼算法;d)宜在自定義數據中明確其存儲類型。8.6交易數據驗證與打包打包者在接收到待打包交易后,需要進行交易驗證與打包,所涉及的內容包括但不限于:a)應驗證交易內容的完整性與數字簽名的合法性;b)積累符合要求數量的合法交易后,在構造新的區(qū)塊時,應使用合法授權的私鑰對區(qū)塊的所有信息進行簽名;c)應將新的區(qū)塊廣播到區(qū)塊鏈網絡中;d)宜驗證交易數據的存儲大小是否符合節(jié)點網絡的要求。8.7自定義數據驗證自定義數據在落盤前需進行驗證,所涉及的內容包括但不限于:a)應驗證自定義數據內容的完整性與數字簽名的合法性;b)宜驗證自定義數據的存儲大小是否符合區(qū)塊鏈節(jié)點存儲的要求。8.8數據同步賬本數據和擴展數據除了可通過自身節(jié)點生成并存儲外,還可通過區(qū)塊鏈節(jié)點網絡進行數據同步,所涉及的內容包括但不限于:a)數據同步過程應避免依賴中心化的服務器或節(jié)點,而是通過對等網絡實現數據的分發(fā)和更新;b)區(qū)塊鏈節(jié)點可根據實際需要選擇全節(jié)點(同步所有區(qū)塊數據)或輕節(jié)點(只同步區(qū)塊頭數據和部分重要交易)等不同的同步模式,以減少存儲負擔、提高數據同步速度。8.9賬本數據落盤數據同步后應將賬本數據落盤存儲,所涉及的內容包括但不限于:a)節(jié)點在接收到新到來的區(qū)塊后,應驗證區(qū)塊的簽名信息、交易信息的合法性;b)遍歷區(qū)塊內的每一條交易時,宜根據上鏈數據的存儲類型,包括但不限于持久存儲、臨時存儲,進行數據的分類存儲;c)宜根據上鏈數據的數據類型,選擇不同類型的存儲方式,包括但不限于文件存儲、對象存儲、數據庫存儲,進行存儲。8.10擴展數據落盤數據同步后應將擴展數據數據和賬本數據產生的狀態(tài)數據落盤存儲,所涉及的內容包括但不限于:a)對于存儲類型為持久

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論