CN112365247A - 基于余数系统与raft算法的区块链存储优化方法 - Google Patents

基于余数系统与raft算法的区块链存储优化方法 Download PDF

Info

Publication number
CN112365247A
CN112365247A CN202011102633.5A CN202011102633A CN112365247A CN 112365247 A CN112365247 A CN 112365247A CN 202011102633 A CN202011102633 A CN 202011102633A CN 112365247 A CN112365247 A CN 112365247A
Authority
CN
China
Prior art keywords
data
remainder
node
malicious
block chain
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
Application number
CN202011102633.5A
Other languages
English (en)
Inventor
高镇
梅昊娟
赵明
杨晋生
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin University
Original Assignee
Tianjin University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tianjin University filed Critical Tianjin University
Priority to CN202011102633.5A priority Critical patent/CN112365247A/zh
Publication of CN112365247A publication Critical patent/CN112365247A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1479Generic software techniques for error detection or fault masking
    • G06F11/1489Generic software techniques for error detection or fault masking through recovery blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)

Abstract

本发明属于数字通信、区块链技术领域,为实现区块链数据的快速更新,简单高效地大幅度减少区块链存储数据量,本发明,基于余数系统与RAFT算法的区块链存储优化方法,步骤如下:选取位宽为b的n个余数基;利用余数系统并行计算的特点,各节点只需并行更新本地余数即完成数据的更新;基于扩展的中国剩余定理CRT II和共识算法Raft的混合检错纠错;在恢复数据的过程中,通过使用基于CRT II和Raft算法的混合检错纠错方案,将整个余数系统分成了多个二基余数系统,将Raft算法确定的两个余数加在余数系统中作为冗余基,根据溢出判定定理判断是否存在恶意数据。本发明主要应用于区块链场合。

Description

基于余数系统与RAFT算法的区块链存储优化方法
技术领域
本发明属于数字通信、区块链技术领域,涉及基于余数系统与RAFT算法的区块链存储优化方法。
背景技术
自从2008年比特币的出现,区块链技术开始进入人们的视野,并引起了极大的关注。从狭义上讲,区块链是一种时序数据区块,相互连接组成一种链式结构,用密码学方式来确保分布式账本的不可篡改和不可伪造。从广义上讲,区块链技术是利用块链式数据结构验证与存储数据、利用分布式节点共识算法生成和更新数据、利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约编程和操作数据的一种全新分布式基础架构与计算范式。区块链技术具有去中心化、去信任化、可追溯、不可篡改、可编程和集体维护等特性。区块链技术在金融、医疗、教育、食品溯源等领域得到广泛的关注和应用。
目前,区块链最大的问题之一是节点存储量过大。截至2018年末,以太坊区块链数据规模超过110GB,比特币数据规模超过190GB。存储问题成为制约区块链发展的关键瓶颈。现在区块链学者提出了不少解决区块链存储问题的方法。
区块链存储容量可扩展模型中是由东北大学贾大宇等人提出的区块链的存储容量可扩展模型,在该模型中利用分布式存储方法提出了一种数据副本分配策略,将一条完整的区块链分成若干部分,分布存储在系统中,如图1所示。模型中节点有三种角色,每个节点可以同时拥有两种或是三种身份:用户节点、存储节点和验证节点。论文中建立了两条新的区块链,分别为P(Position)链和POR(Proofs of Reliability)链。P链保存在用户节点中,记录数据各个副本被保存在存储节点的位置。POR链保存在验证节点中,记录各个存储节点的可靠性评价。在数据存储时,模型先对区块进行加密,根据每个区块的时效性计算出需要保存的副本数,而后访问验证节点,依据验证节点提供的存储节点可靠性信息,选取合适的存储节点存储区块数据,最后将存储节点位置信息返回给用户节点,保存在P链中。数据读取时与数据存储过程相反,用户节点访问本地存储的P链,找到目标区块的存储节点位置,存储节点将保存的数据返回给用户节点,最后解密数据,得到原始数据。这种模型虽然一定程度上减少区块链存储容量,但是导致大部分数据集中存储在某些节点,弱化了区块链的去中心化特点。
迷你区块链是由三个核心组件构成的总称,核心组件包括有迷你区块链、账户树、证明链。迷你区块链通过三个核心组件构建了一条丢弃了旧交易信息的区块链,并使用账户树总结所有地址的余额信息,保证资产所有权。在迷你区块链中,将所有非空地址的余额存储在被称为“账户树”的结构中,交易就不需要历史交易信息。当交易时,账户的输入输出都不指向其余交易,而且指向账户树的地址。但是迷你区块链也并不存储完整的区块链数据,仅能将交易信息追溯到已存的完整区块部分。对于旧交易信息的验证,迷你区块链无法验证其真实性。
发明内容
为克服现有技术的不足,本发明旨在实现区块链数据的快速更新,简单高效地大幅度减少区块链存储数据量。为此,本发明采取的技术方案是,基于余数系统与RAFT算法的区块链存储优化方法,步骤如下:
1)选取位宽为b的n个余数基,对账户数据进行取余操作,得到的余数位宽不超过b,记n个余数基为Q={m1,m2,…,mn},区块链中每个节点从Q中随机选择一个模数存储在本地,则每个节点存储一个模数与其对应的余数;
2)记账户数据的改变量为ΔX,利用余数系统并行计算的特点,各节点只需并行更新本地余数即完成数据的更新;
3)基于扩展的中国剩余定理CRT II和共识算法Raft的混合检错纠错,对于保存
Figure BDA0002725906760000021
的节点使用Raft算法来维持
Figure BDA0002725906760000022
Figure BDA0002725906760000023
的数据一致性,对于保存其余模数的节点则通过CRT II进行检纠错;
4)在恢复数据的过程中,通过使用基于CRT II和Raft算法的混合检错纠错方案,将整个余数系统分成了多个二基余数系统,将Raft算法确定的两个余数加在余数系统中作为冗余基,根据溢出判定定理判断是否存在恶意数据,若是有则找到具体的恶意数据,将恶意数据替换,直至找到正确数据。
基于CRT II和Raft算法的混合检错纠错详细步骤如下:
当余数基的个数大于2时,则将余数基一分为二,依次类推直至余数基不可分,在基于CRT II进行数据恢复的过程中,若是有恶意数据则寻找恶意数据,并将恶意数据替换成正确数据,直至系统中17个数据都是正确数据,再恢复原始数据,整个余数系统分为8个二基余数系统,记为P2={mi,mj},一个单独的余数基记为ma。根据raft算法确定m1,m2为正确数据;
对二基余数系统添加冗余基{m1,m2}变成一个四基的冗余余数系统,P4={mi,mj,m1,m2},其中{mi,mj}作为信息基,{m1,m2}作为冗余基,根据溢出判定定理判断在P4中是否有恶意节点提供的数据,在P4={mi,mj,m1,m2}中,记恢复的数据为Xr,动态范围为Mr=mimj,若Xr>Mr,则判定这组数据中含有恶意节点提供的数据;
当Pr={mi,mj}中含有恶意节点提供的数据的时候,先判断mi是否为恶意节点提供的数据,将mi与{mc1,mc2}组成一个冗余余数系统Zdi={mi,m1,m2},{mi}作为信息基,{m1,m2}作为冗余基,记恢复的数据为
Figure BDA0002725906760000024
动态范围为
Figure BDA0002725906760000025
Figure BDA0002725906760000026
则判定mi为恶意节点提供的数据,用同样的方法判断mj是否为恶意节点提供的数据;若
Figure BDA0002725906760000027
则说明mi是正确节点提供的数据,mj一定为恶意节点提供的数据,将判定为恶意节点提供的数据在区块链中寻找新的替换数据,即重新接收余数基相同而余数不相同的数据,按照上述办法判断新的节点提供的数据是否正确,直至找到一个正确的数据。
本发明的特点及有益效果是:
本发明在基于余数系统和raft算法的区块链存储优化模型的基础上,结合中国剩余定理和冗余余数系统,面对恶意节点作恶场景时有效的容错机制,能够有效的找到恶意节点,并且在恶意节点不超过30%的情况下,能极大概率下恢复正确数据。
附图说明:
图1基于余数系统的区块链存储模型。
图2新区块链系统工作流程图。
图3区块链子网划分。
图4区块链恢复数据图。
图5不同恶意节点比例。
图6单个节点不同恶意节点比列纠错成功率。
具体实施方式
本发明涉及将区块链账户数据作为研究对象,提出一种基于余数系统的存储优化模型,实现了账户数据存储量的大幅度压缩;另外,使用扩展的中国剩余定理CRT II和RAFT算法恢复数据,该方法对数据有较好的检错纠错能力。
区块链账户数据有256位位宽,根据余数系统对区块链的账户数据进行压缩,同时充分利用RNS线性运算时独立并行的特点,实现区块链数据的快速更新。使用Raft算法确定两个可信的余数,通过扩展的中国剩余定理恢复数据,在不损害区块链去中心特点的的前提下,可以简单高效地大幅度减少区块链存储数据量。
本发明具体步骤如下:
1)选取位宽为b的n个余数基,对账户数据进行取余操作,得到的余数位宽不超过b。记n个余数基为Q={m1,m2,…,mn},区块链中每个节点从Q中随机选择一个模数存储在本地,则每个节点存储一个模数与其对应的余数。
2)记账户数据的改变量为ΔX,利用余数系统并行计算的特点,各节点只需并行更新本地余数即可完成数据的更新,不需要先恢复出原始值再运算,极大地节省了运算量。
3)基于CRT II和Raft算法的混合检错纠错方案中,对于保存
Figure BDA0002725906760000032
的节点使用Raft算法来维持
Figure BDA0002725906760000033
Figure BDA0002725906760000034
的数据一致性,对于保存其余模数的节点则通过CRT II进行检纠错。
4)在恢复数据的过程中,通过使用基于CRT II和共识算法Raft算法的混合检错纠错方案,将整个余数系统分成了多个二基余数系统,将Raft算法确定的两个余数加在余数系统中作为冗余基,根据溢出判定定理判断是否存在恶意数据,若是有则找到具体的恶意数据,
将恶意数据替换,直至找到正确数据。
下面结合附图和具体实例进一步详细说明本发明。
步骤1:选定参数
区块链中账户数据的位宽一般为256位。本发明选定一组17个位宽为16的余数基m1~m17进行数据压缩操作。m1~m17显示如下:
Figure BDA0002725906760000031
Figure BDA0002725906760000041
步骤2:构建基于RRNS的区块链存储优化模型
1)各节点从m1~m17中独立随机地选择本地模数mi。各节点模数一旦确定,就不可更改;
2)各个节点处,账户信息并行对节点选择的mi执行求模运算,余数分布式地存储在各个节点上,从而在区块链网络建立余数系统;
步骤3:基于CRT II和Raft算法恢复数据
扩展的中国剩余定理CRT II恢复数据有自身的特殊性,当余数基的个数大于2时,则将余数基一分为二,依次类推直至余数基不可分。本专利检纠错方案中心思想是在基于CRT II进行数据恢复的过程中,若是有恶意数据则寻找恶意数据,并将恶意数据替换成正确数据,直至系统中17个数据都是正确数据,再恢复原始数据。整个余数系统分为8个二基余数系统,记为P2={mi,mj},一个单独的余数基记为ma。根据raft算法确定m1,m2为正确数据。
对二基余数系统添加冗余基{m1,m2}变成一个四基的冗余余数系统,P4={mi,mj,m1,m2},其中{mi,mj}作为信息基,{m1,m2}作为冗余基。可以根据溢出判定定理判断在P4中是否有恶意节点提供的数据。在P4={mi,mj,m1,m2}中,记恢复的数据为Xr,动态范围为Mr=mimj,若Xr>Mr,则判定这组数据中含有恶意节点提供的数据。
当Pr={mi,mj}中含有恶意节点提供的数据的时候,先判断mi是否为恶意节点提供的数据。将mi
Figure BDA0002725906760000042
组成一个冗余余数系统Zdi={mi,m1,m2},{mi}作为信息基,{m1,m2}作为冗余基,记恢复的数据为
Figure BDA0002725906760000043
动态范围为
Figure BDA0002725906760000044
若Xdi>Mdi,则判定mi为恶意节点提供的数据,用同样的方法判断mj是否为恶意节点提供的数据;若
Figure BDA0002725906760000045
则说明mi是正确节点提供的数据,mj一定为恶意节点提供的数据。将判定为恶意节点提供的数据在区块链中寻找新的替换数据,即重新接收余数基相同而余数不相同的数据,按照上述办法判断新的节点提供的数据是否正确,直至找到一个正确的数据。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (2)

1.一种基于余数系统与RAFT算法的区块链存储优化方法,其特征是,步骤如下:
1)选取位宽为b的n个余数基,对账户数据进行取余操作,得到的余数位宽不超过b,记n个余数基为Q={m1,m2,…,mn},区块链中每个节点从Q中随机选择一个模数存储在本地,则每个节点存储一个模数与其对应的余数;
2)记账户数据的改变量为ΔX,利用余数系统并行计算的特点,各节点只需并行更新本地余数即完成数据的更新;
3)基于扩展的中国剩余定理CRT II和共识算法Raft的混合检错纠错,对于保存
Figure FDA0002725906750000011
的节点使用Raft算法来维持
Figure FDA0002725906750000012
Figure FDA0002725906750000013
的数据一致性,对于保存其余模数的节点则通过CRT II进行检纠错;
4)在恢复数据的过程中,通过使用基于CRT II和Raft算法的混合检错纠错方案,将整个余数系统分成了多个二基余数系统,将Raft算法确定的两个余数加在余数系统中作为冗余基,根据溢出判定定理判断是否存在恶意数据,若是有则找到具体的恶意数据,将恶意数据替换,直至找到正确数据。
2.如权利要求1所述的基于余数系统与RAFT算法的区块链存储优化方法,其特征是,基于CRT II和Raft算法的混合检错纠错详细步骤如下:
当余数基的个数大于2时,则将余数基一分为二,依次类推直至余数基不可分,在基于CRT II进行数据恢复的过程中,若是有恶意数据则寻找恶意数据,并将恶意数据替换成正确数据,直至系统中17个数据都是正确数据,再恢复原始数据,整个余数系统分为8个二基余数系统,记为P2={mi,mj},一个单独的余数基记为ma。根据raft算法确定m1,m2为正确数据;
对二基余数系统添加冗余基{m1,m2}变成一个四基的冗余余数系统,P4={mi,mj,m1,m2},其中{mi,mj}作为信息基,{m1,m2}作为冗余基,根据溢出判定定理判断在P4中是否有恶意节点提供的数据,在P4={mi,mj,m1,m2}中,记恢复的数据为Xr,动态范围为Mr=mimj,若Xr>Mr,则判定这组数据中含有恶意节点提供的数据;
当Pr={mi,mj}中含有恶意节点提供的数据的时候,先判断mi是否为恶意节点提供的数据,将mi
Figure FDA0002725906750000014
组成一个冗余余数系统
Figure FDA0002725906750000015
{mi}作为信息基,{m1,m2}作为冗余基,记恢复的数据为
Figure FDA0002725906750000016
动态范围为
Figure FDA0002725906750000017
Figure FDA0002725906750000018
则判定mi为恶意节点提供的数据,用同样的方法判断mj是否为恶意节点提供的数据;若
Figure FDA0002725906750000019
则说明mi是正确节点提供的数据,mj一定为恶意节点提供的数据,将判定为恶意节点提供的数据在区块链中寻找新的替换数据,即重新接收余数基相同而余数不相同的数据,按照上述办法判断新的节点提供的数据是否正确,直至找到一个正确的数据。
CN202011102633.5A 2020-10-15 2020-10-15 基于余数系统与raft算法的区块链存储优化方法 Pending CN112365247A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011102633.5A CN112365247A (zh) 2020-10-15 2020-10-15 基于余数系统与raft算法的区块链存储优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011102633.5A CN112365247A (zh) 2020-10-15 2020-10-15 基于余数系统与raft算法的区块链存储优化方法

Publications (1)

Publication Number Publication Date
CN112365247A true CN112365247A (zh) 2021-02-12

Family

ID=74507828

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011102633.5A Pending CN112365247A (zh) 2020-10-15 2020-10-15 基于余数系统与raft算法的区块链存储优化方法

Country Status (1)

Country Link
CN (1) CN112365247A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114461730A (zh) * 2022-02-09 2022-05-10 天津大学 基于余数系统的自适应区块数据压缩方法
WO2023030557A3 (zh) * 2022-06-23 2023-04-27 加特兰微电子科技(上海)有限公司 数据压缩、解压缩方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109359223A (zh) * 2018-09-17 2019-02-19 重庆邮电大学 基于纠删码实现的区块链账本分布式存储技术
CN111373378A (zh) * 2019-11-06 2020-07-03 支付宝(杭州)信息技术有限公司 基于纠错码的共享区块链数据存储的数据安全性
CN111683120A (zh) * 2020-05-22 2020-09-18 哈尔滨工程大学 一种支持验证节点动态变化的联盟节点存储方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109359223A (zh) * 2018-09-17 2019-02-19 重庆邮电大学 基于纠删码实现的区块链账本分布式存储技术
CN111373378A (zh) * 2019-11-06 2020-07-03 支付宝(杭州)信息技术有限公司 基于纠错码的共享区块链数据存储的数据安全性
CN111683120A (zh) * 2020-05-22 2020-09-18 哈尔滨工程大学 一种支持验证节点动态变化的联盟节点存储方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HAOJUAN MEI ETAL: "Storage Mechanism Optimization in Blockchain System Based on Residual Number System", 《SPECIAL SECTION ON SECURITY AND PRIVACY IN EMERGING DECENTRALIZED COMMUNICATION ENVIRONMENTS》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114461730A (zh) * 2022-02-09 2022-05-10 天津大学 基于余数系统的自适应区块数据压缩方法
WO2023030557A3 (zh) * 2022-06-23 2023-04-27 加特兰微电子科技(上海)有限公司 数据压缩、解压缩方法及装置

Similar Documents

Publication Publication Date Title
US11095451B2 (en) Optimal data storage configuration in a blockchain
KR102412024B1 (ko) 인코딩된 블록체인 데이터의 인덱싱 및 복구
CN110647503A (zh) 一种分布式存储方法及装置
CN112286963B (zh) 一种区块链终端数据可信查询系统及其实现方法
CN107220559B (zh) 一种针对不可篡改文件的加密存储方法
CN111902817A (zh) 基于共享节点和纠错编码的区块链数据存储
CN113326317A (zh) 基于同构多链架构的区块链存证方法及系统
CN111095218B (zh) 基于纠错编码存储共享的区块链数据的方法、系统及装置
WO2019024780A1 (zh) 区块链轻量化处理方法、区块链节点及存储介质
CN101692227B (zh) 大规模高可靠的归档存储系统构建方法
CN116628083B (zh) 区块链交易数据扩容存储方法及系统
CN112365247A (zh) 基于余数系统与raft算法的区块链存储优化方法
CN105868305A (zh) 一种支持模糊匹配的云存储数据去重复方法
CN109194646A (zh) 一种基于区块链的安全认证数据存取方法
CN106407224A (zh) 一种键值存储系统中文件压实的方法和装置
CN110719106B (zh) 一种基于节点分类排序的社交网络图压缩方法及系统
Dai et al. Identifying and estimating persistent items in data streams
CN112202703A (zh) 基于冗余余数系统的区块链存储优化方法
CN113360501A (zh) 一种基于区块链的分布式数据存储方法及系统
CN109977275A (zh) 一种正则表达式dfa空间压缩方法和系统
CN117061254B (zh) 异常流量检测方法、装置和计算机设备
WO2018119976A1 (zh) 应用于数据仓库系统的高效优化数据布局方法
CN116781699A (zh) 一种基于分布式边缘计算的数据通信方法及系统
CN117111854A (zh) 一种基于分布式加密存储的数据存储方法、装置及介质
CN116049315A (zh) 一种区块链存储方法、系统、装置及存储介质

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
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20210212

WD01 Invention patent application deemed withdrawn after publication