CN111683120A - 一种支持验证节点动态变化的联盟节点存储方法 - Google Patents
一种支持验证节点动态变化的联盟节点存储方法 Download PDFInfo
- Publication number
- CN111683120A CN111683120A CN202010437855.6A CN202010437855A CN111683120A CN 111683120 A CN111683120 A CN 111683120A CN 202010437855 A CN202010437855 A CN 202010437855A CN 111683120 A CN111683120 A CN 111683120A
- Authority
- CN
- China
- Prior art keywords
- node
- alliance
- modulus
- nodes
- storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Mathematical Physics (AREA)
- Mathematical Analysis (AREA)
- Economics (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- Development Economics (AREA)
- Software Systems (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明属于针对联盟链内海量交易数据优化存储技术领域,具体涉及一种支持验证节点动态变化的联盟节点存储方法。本发明针对参与交易共识节点动态变化的特性,可以较合理的对联盟内交易数据进行分布式存储,降低了节点的存储压力、节省了存储空间,同时基于余数系统存储机制引入的冗余余数系统可实现对在联盟内节点存储数据进行容错。本发明具有较好的时效性与容错性,可以有效的降低节点的存储压力,较好的适应在联盟内作为联盟成员参与交易共识的节点是动态变化的特点。
Description
技术领域
本发明属于针对联盟链内海量交易数据优化存储技术领域,具体涉及一种支持验证节点动态变化的联盟节点存储方法。
背景技术
区块链实现分散的点对点交易、协调和协作,为集中化数据交易组织中普遍存在的高成本、低效率和数据存储不安全等问题提供了解决方案。区块链技术已经被广泛应用于数字货币,智能合约,个人信息,云计算和能源交易等领域,为这些领域提供去中心化的数据保护。联盟区块链作为区块链网络中的一种,在其网络中因只允许特定的节点才可以访问网络数据,可以更好的保护用户的隐私并对数据进行监督,较好的支持企业级应用程序,并在金融和政府等部门中被广泛采用。
随着社会的不断进步人们进行数字交易活动更加的频繁,同时伴随着数据量的不断增大,对数据的存储已成为负担,成为限制区块链发展的关键瓶颈,在联盟链中对海量交易数据进行合理存储,对数据进行合理存储也成为联盟区块链系统中的最大问题之一。若联盟内的所有节点均存储全部的数据副本,将会使得节点存储压力增大导致存储资源的浪费,并且联盟链系统中存在一些交易共识机制,使得联盟内被委派参与交易验证的节点动态变化。
有鉴于此,有必要设计一种数据存储机制以解决联盟链中对数据存储的压力。提出一种支持验证节点动态变化的联盟节点存储方法,可以较好适用验证节点动态变化的特点以及减少联盟内各节点存储压力,节省存储空间。
发明内容
本发明的目的在于提供适用验证节点动态变化的特点,减少联盟内各节点存储压力,节省存储空间,具有有效的容错性的一种支持验证节点动态变化的联盟节点存储方法。
本发明的目的通过如下技术方案来实现:包括以下步骤:
(1)原始数据存储:
步骤1.1:根据原始数据大小选取合适的互质模数集合ψn={m1,m2,...,mn};
步骤1.2:从联盟内区块网络选择一个未存储数据的节点;
步骤1.3:节点从互质模数集合中随机选择一个模数;
步骤1.4:根据选择的模数对原始数据进行取模,将原始数据取模后的余数信息存储到节点中;
步骤1.5:判断是否完成所有节点的数据存储;若未完成所有节点的数据存储,则返回步骤2;
(2)当有新节点加入联盟内区块网络时:
步骤2.1:新节点在加入联盟内区块网络的时,从互质模数集合ψn={m1,m2,...,mn}中随机选择一个模数;
步骤2.2:收集联盟内其他节点的模数和余数信息;
步骤2.3:应用CRT恢复完整的原始数据X;
步骤2.4:从加入了新节点的联盟内区块网络中选择一个节点,根据该节点的模数对原始数据X进行取模,将原始数据X取模后的余数信息存储到该节点中;
步骤2.5:重复步骤2.4,直到完成所有节点的数据存储。
本发明的有益效果在于:
本发明针对参与交易共识节点动态变化的特性,提出了一种支持验证节点动态变化的联盟节点存储方法,可以较合理的对联盟内交易数据进行分布式存储,降低了节点的存储压力、节省了存储空间,同时基于余数系统存储机制引入的冗余余数系统可实现对在联盟内节点存储数据进行容错。本发明具有较好的时效性与容错性,可以有效的降低节点的存储压力,较好的适应在联盟内作为联盟成员参与交易共识的节点是动态变化的特点。
附图说明
图1是本发明中联盟内节点对交易数据存储模式途。
图2是本发明中联盟内节点组成的网络逻辑拓扑图。
图3是本发明中联盟节点交易数据验证流程图。
图4是本发明中原始数据存储流程图。
图5是本发明中当有新节点加入联盟内区块网络时数据存储流程图。
具体实施方式
下面结合附图对本发明做进一步描述。
本发明是一种针对联盟链内海量交易数据进行优化存储的方法,具体涉及基于联盟链的对数据交易吞吐量的方法以及基于余数系统交易数据进行合理存储的优化方法。
本发明的目的在于设计一种支持验证节点动态变化的联盟节点存储方法,基于余数系统的存储机制可以较好适用验证节点动态变化的特点以及减少联盟内各节点存储压力,节省存储空间,同时该存储机制具有有效的容错性。
本发明中针对参与交易共识节点动态变化的特性,提出了一种基于余数系统的分布式存储机制,可以较合理的对联盟内交易数据进行分布式存储,降低了节点的存储压力、节省了存储空间,同时基于余数系统存储机制引入的冗余余数系统可实现对在联盟内节点存储数据进行容错。
为降低联盟链节点对交易数据的存储压力,设计了一个支持验证节点动态变化的联盟节点存储方法。该发明为适用于在联盟内参与验证的节点动态变化的情况,针对该特点对联盟内数据的存储进行优化,缓解联盟内各参与节点对交易数据、交易信息存储的压力,借鉴分布式存储的思想。
(1)联盟链内数据存储步骤:
该存储机制中,需预先定义一个由互相互质的素数组成的模集ψn={m1,m2,...,mn},并且每个节点在加入该联盟内区块网络的时候都需要从该模数集中选取一个模数。之后节点根据从模数集合{ψn}中选取的模数对区块交易数据进行取模,最终在联盟内节点中仅存储区块交易数据取模后的余数信息。
对于相同的区块交易数据,会因为参与节点对所选取的模数取余结果的不同而导致各节点存储的是该区块数据的不同部分,所以基于余数系统的存储优化机制是以分布式存储的方式构造。根据在余数系统中线性操作的并行化属性,可以在每个节点上独立执行区块数据的更新,如公式所示:
其中是Δx对区块交易数据{X}的更改。当需要在某个节点上进行交易验证时,该节点需要从其他节点收集相关区块交易数据的其余部分,并应用中国余数系统恢复完整的交易信息。在所提出的存储机制的关键是互质模数集合ψn={m1,m2,...,mn}的设计。
由于模数可能远小于交易数据的值例如kbit,因此在联盟内每个节点存储的是少量的位数bbit而不是区块交易信息的位数kbit。根据这种优化存储机制,可以将区块数据信息进行压缩,压缩的率可以计算为:
ρ=b/k (2)
首先,公式ρ=b/k表明该存储机制的存储效率是由分子上的位宽b来决定的。当分子越小,该机制的存储效率就越高。
其次,由于原始区块数据的位数是kbit,因此在[0,2b-1]范围内应该有足够大的素数使得它们的乘积(即互质模数集合{ψn}的动态范围的上限)大于[2k-1]。
(2)针对系统存储机制的容错性能力分析
在联盟内确定节点选取互质模数集合ψn={m1,m2,...,mn}中前两个模数{m1,m2},并对交易数据对应模数取模后的余数{x1,x2}进行存储,该部分数据使用PoW原则维护数据的一致性,保证数据的可靠性。
通过两个可靠的区块数据余数,在使用CRT进行信息恢复的过程中,通过互质模集中的其他模数可以检测出区块数据中的错误余数即故障节点,CRT的恢复过程是从{n/2}对余数开始恢复的。
在容错检测系统中一对余数集合{x1,x2}与另一对余数集合{xi,xj}共同组成冗余余数系统,其中满足:{xi=Xmodmi}和{xj=Xmodmj}。在冗余余数系统中,{xi}和{xj}是信息库,{x1}和{x2}是冗余库,因此可以将冗余余数系统中有效动态范围的上限计算为{M=mi*mj}。由于可保证余数{x1}和{x2}是正确的,因此可以使用溢出判断定理来检测{xi}和{xj}是否有效。如果在余数集合{x1,x2,xi,xj}中,通过CRT恢复得到的结果小于{M},则可以判断{xi}和{xj}为有效余数,即节点存储信息正确;相反则可以得出{xi}和{xj}之间一定存在故障值,即存在故障节点。当{xi}和{xj}之间存在故障时,可以进一步形成两个冗余余数系统:{x1,x2,xi}和{x1,x2,xj},同时这两个冗余余数系统的有效动态范围的上限计算为{M=mi}和{M=mj}。此时可以使用溢出判断定理来检测出现故障的余数。当检测出故障时,故障余数将会被替换为和该节点具有相同模数节点中的余数。
通过对所有的{n/2-1}个余数对(除去余数{x1,x2}对)重复此过程,最终可以获得具有n个正确余数的完整余数向量φ={x1,x2,...,xn},根据对该余数向量使用CRT可以对区块数据{X}进行完全的恢复。
(3)联盟节点交易数据验证流程
1)联盟内每个节点根据余数系统从模数集中所选取的模数来存储或更新该节点存储的信息。余数系统是由相互互质的模数集合组成,形如ψn={m1,m2,...,mn}。在余数系统中动态范围是[0,M],满足在这个动态范围内,存在一个X数可以由一种余数向量φ={x1,x2,...,xn}进行唯一的表示,满足
2)当节点将要执行交易信息的验证时,需要应用CRT恢复完整的区块交易数据,用中国余数定理从相应的余数向量φ={x1,x2,...,xn}中恢复数X,如果将余数向量φ={x1,x2,...,xn}分成两个子集φ1={x1,x2,...,xq}和φ2={xq+1,...,xn},其中q=[n/2],通过子集φ1和子集φ2两个子集可以通过公式(3)得到数X1和数X2,最终可以得到数X,可用公式(4)表示:
在公式(4)中k0参数的选择需满足k0*M2=1 mod M1,其中M1和M2满足公式 和同理数X1和数X2也可以通过将集合φ1={x1,x2,...,xq}和φ2={xq+1,...,xn}进行进一步划分使用公式(4)进行计算。基于这种递归形式的划分,可以将具有n个余数的余数向量φ={x1,x2,...,xn}最终划分成{n/2}个只具有两个余数的最小余数系统。之后通过递归过程,从n/2对余数系统开始使用CRT进行数Xi的恢复,首先可以使用n/2对余数集合得到n/4对余数,重复这个过程次,最终可以生成初始值X。
3)进行交易信息的验证。
本发明设计的是一种支持验证节点动态变化的联盟节点存储方法,基于余数系统的存储机制具有较好的时效性与容错性,可以有效的降低节点的存储压力,较好的适应在联盟内作为联盟成员参与交易共识的节点是动态变化的特点。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (1)
1.一种支持验证节点动态变化的联盟节点存储方法,其特征在于,包括以下步骤:
(1)原始数据存储:
步骤1.1:根据原始数据大小选取合适的互质模数集合ψn={m1,m2,...,mn};
步骤1.2:从联盟内区块网络选择一个未存储数据的节点;
步骤1.3:节点从互质模数集合中随机选择一个模数;
步骤1.4:根据选择的模数对原始数据进行取模,将原始数据取模后的余数信息存储到节点中;
步骤1.5:判断是否完成所有节点的数据存储;若未完成所有节点的数据存储,则返回步骤2;
(2)当有新节点加入联盟内区块网络时:
步骤2.1:新节点在加入联盟内区块网络的时,从互质模数集合ψn={m1,m2,...,mn}中随机选择一个模数;
步骤2.2:收集联盟内其他节点的模数和余数信息;
步骤2.3:应用CRT恢复完整的原始数据X;
步骤2.4:从加入了新节点的联盟内区块网络中选择一个节点,根据该节点的模数对原始数据X进行取模,将原始数据X取模后的余数信息存储到该节点中;
步骤2.5:重复步骤2.4,直到完成所有节点的数据存储。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010437855.6A CN111683120A (zh) | 2020-05-22 | 2020-05-22 | 一种支持验证节点动态变化的联盟节点存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010437855.6A CN111683120A (zh) | 2020-05-22 | 2020-05-22 | 一种支持验证节点动态变化的联盟节点存储方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111683120A true CN111683120A (zh) | 2020-09-18 |
Family
ID=72452781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010437855.6A Pending CN111683120A (zh) | 2020-05-22 | 2020-05-22 | 一种支持验证节点动态变化的联盟节点存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111683120A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112365247A (zh) * | 2020-10-15 | 2021-02-12 | 天津大学 | 基于余数系统与raft算法的区块链存储优化方法 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170083907A1 (en) * | 2015-07-14 | 2017-03-23 | Fmr Llc | Point-to-Point Transaction Guidance Apparatuses, Methods and Systems |
CN107079059A (zh) * | 2016-12-21 | 2017-08-18 | 深圳前海达闼云端智能科技有限公司 | 区块链存储方法、装置及节点设备 |
CN107909369A (zh) * | 2017-10-13 | 2018-04-13 | 布比(北京)网络技术有限公司 | 基于跨链交易的共识方法、装置和存储介质 |
CN109785139A (zh) * | 2019-03-14 | 2019-05-21 | 哈尔滨工程大学 | 一种基于智能合约的数据共享激励方法 |
CN109871669A (zh) * | 2019-03-14 | 2019-06-11 | 哈尔滨工程大学 | 一种基于区块链技术的数据共享解决方法 |
CN109977166A (zh) * | 2019-02-18 | 2019-07-05 | 陕西优米数据技术有限公司 | 一种区块链共识机制 |
CN110162274A (zh) * | 2019-05-31 | 2019-08-23 | 深圳市网心科技有限公司 | 一种基于区块链的数据处理方法、装置及设备 |
US20190310980A1 (en) * | 2016-12-23 | 2019-10-10 | Cloudminds (Shenzhen) Robotics Systems Co., Ltd. | Block chain mining method, device, and node apparatus |
CN111026767A (zh) * | 2020-01-04 | 2020-04-17 | 天津金农企业管理咨询合伙企业(有限合伙) | 区块链的数据存储方法、装置及硬件设备 |
-
2020
- 2020-05-22 CN CN202010437855.6A patent/CN111683120A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170083907A1 (en) * | 2015-07-14 | 2017-03-23 | Fmr Llc | Point-to-Point Transaction Guidance Apparatuses, Methods and Systems |
CN107079059A (zh) * | 2016-12-21 | 2017-08-18 | 深圳前海达闼云端智能科技有限公司 | 区块链存储方法、装置及节点设备 |
US20190310980A1 (en) * | 2016-12-23 | 2019-10-10 | Cloudminds (Shenzhen) Robotics Systems Co., Ltd. | Block chain mining method, device, and node apparatus |
CN107909369A (zh) * | 2017-10-13 | 2018-04-13 | 布比(北京)网络技术有限公司 | 基于跨链交易的共识方法、装置和存储介质 |
CN109977166A (zh) * | 2019-02-18 | 2019-07-05 | 陕西优米数据技术有限公司 | 一种区块链共识机制 |
CN109785139A (zh) * | 2019-03-14 | 2019-05-21 | 哈尔滨工程大学 | 一种基于智能合约的数据共享激励方法 |
CN109871669A (zh) * | 2019-03-14 | 2019-06-11 | 哈尔滨工程大学 | 一种基于区块链技术的数据共享解决方法 |
CN110162274A (zh) * | 2019-05-31 | 2019-08-23 | 深圳市网心科技有限公司 | 一种基于区块链的数据处理方法、装置及设备 |
CN111026767A (zh) * | 2020-01-04 | 2020-04-17 | 天津金农企业管理咨询合伙企业(有限合伙) | 区块链的数据存储方法、装置及硬件设备 |
Non-Patent Citations (6)
Title |
---|
HAOJUAN MEI ,ET AL: ""Storage Mechanism Optimization in Blockchain System Based on Residual Number System"", 《IEEE》 * |
HAOJUAN MEI,ET AL: ""Design and Optimization for Storage Mechanism of the Public Blockchain Based on Redundant Residual Number System"", 《IEEE》 * |
SHICHANG XUAN,ET AL: ""Hierarchically_Authorized_Transactions_for_Massive "", 《APPLIED SCIENCES》 * |
WU YANG,ET AL: ""Application of Block Chain Technology in Constructing Network Threat Intelligence System"", 《2020 ASSOCIATION FOR COMPUTING MACHINERY》 * |
张艺博: "面向数据共享的多中心区块链系统关键技术研究", 《中国优秀硕士论文全文数据库》 * |
朱立 等: ""高性能联盟区块链技术研究"", 《软件学报》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112365247A (zh) * | 2020-10-15 | 2021-02-12 | 天津大学 | 基于余数系统与raft算法的区块链存储优化方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110602148B (zh) | 一种区块的状态树的生成和链上数据验证的方法及装置 | |
CN106406896B (zh) | 一种并行PipeLine技术的区块链建块方法 | |
CN111061769B (zh) | 一种区块链系统的共识方法及相关设备 | |
JP7328237B2 (ja) | コンピュータにより実施される投票処理およびシステム | |
EP3769217B1 (en) | Prioritizing shared blockchain data storage | |
CN107086870B (zh) | 修复多节点失效的mds阵列码编码以及解码方法 | |
KR102225196B1 (ko) | 에러 정정 코드에 기초하는 공유 블록체인 데이터 저장의 컨센서스 | |
AU2019320956B2 (en) | Data security of shared blockchain data storage based on error correction code | |
CN111095218B (zh) | 基于纠错编码存储共享的区块链数据的方法、系统及装置 | |
CN109272316B (zh) | 一种基于区块链网络下的区块实现方法及系统 | |
CN111033491A (zh) | 基于纠错编码存储共享的区块链数据 | |
Kim et al. | SELCOM: Selective compression scheme for lightweight nodes in blockchain system | |
CN111683120A (zh) | 一种支持验证节点动态变化的联盟节点存储方法 | |
CN111386519A (zh) | 基于纠错码的动态区块链数据存储 | |
Konstantinidis et al. | Camr: Coded aggregated mapreduce | |
WO2018119976A1 (zh) | 应用于数据仓库系统的高效优化数据布局方法 | |
CN108614749A (zh) | 一种数据处理方法及装置 | |
CN115292340B (zh) | 基于分布式网络编码的区块链存储优化方法及装置 | |
Marcelín-Jiménez et al. | On the complexity and performance of the information dispersal algorithm | |
Liu et al. | OverlapShard: Overlap-based sharding mechanism | |
CN114637472A (zh) | 基于dht的区块链存储扩展方法、电子设备及存储介质 | |
Wang et al. | A data lightweight scheme for parallel proof of vote consensus | |
Xie et al. | Research on blockchain storage extension based on dht | |
CN110728577B (zh) | 一种中心化可分阶层不断扩展的区块链交易方法 | |
US20230179423A1 (en) | Method and apparatus for storing blockchain transaction data and distributed storage system using the same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200918 |