CN114461730A - 基于余数***的自适应区块数据压缩方法 - Google Patents

基于余数***的自适应区块数据压缩方法 Download PDF

Info

Publication number
CN114461730A
CN114461730A CN202210121096.1A CN202210121096A CN114461730A CN 114461730 A CN114461730 A CN 114461730A CN 202210121096 A CN202210121096 A CN 202210121096A CN 114461730 A CN114461730 A CN 114461730A
Authority
CN
China
Prior art keywords
node
transaction
block
remainder
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
CN202210121096.1A
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 CN202210121096.1A priority Critical patent/CN114461730A/zh
Publication of CN114461730A publication Critical patent/CN114461730A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2255Hash tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种基于余数***的自适应区块数据压缩方法,包括以下步骤:初始化,利用区块链网络底层Kademlia协议提供的节点发现、资源定位机制,各个节点以键值对Key‑Value的形式,构建并维护邻居列表;交易规范化;交易易压缩:节点将将每一笔交易转换为一个N行NC列的余数矩阵ΦN,生成对应的承诺;节点将生成的承诺***到布隆过滤器中;当待打包的所有交易,其对应的承诺都被***布隆过滤器后,节点开始创造新区块;节点将新区块广播至网络中;接收到新区块后,节点根据区块链协议,验证包括nonce在内的其余内容;节点将其追加至本地区块链的尾部;交易恢复。

Description

基于余数***的自适应区块数据压缩方法
技术领域
本发明涉及一种针对公有链的区块数据压缩方法。
背景技术
区块链是数字加密货币体系的核心支撑技术(分布式记账技术,Distributedledger technology,DLT),其本质是一个分布式数据库,通过与非对称加密、激励机制、点对点网络(Peer-to-peer,P2P),共识算法等技术紧密结合,具有去中心化、去信任、防篡改、可追溯等核心特点,为解决现有中心化模式下存在的数据可靠性差、安全性低、信任成本高等问题提供了崭新的思路,在金融、医疗、教育、智能电网、食品安全等领域得到广泛的关注和应用。同时,伴随着物联网(Internet of things,IoT)技术的发展,大量智能终端、传感设备的涌入,使得区块链网络发展成为多方合作、资源共享的平台:智能设备收集、提供实时数据,区块链则利用其密码学、智能合约等技术,提供隐私保护与结算、审计服务。
区块链的可扩展性是其基础理论研究中的一项难题。伴随着节点涌入、交易攀升,区块链数据量急剧膨胀,已成为制约其扩展性的关键瓶颈。区块链数据分为链上数据与状态数据。链上数据主要指存储在区块体内部的交易日志,用来记录状态数据的变化,如数字资产的产生与转移,是区块链可追溯特性的来源。链上数据占据了区块链存储量的绝大部分。状态数据用来维护账户(account/address)与其资产(balance)间最新的对应关系,随着交易的执行、确认而持续更新。状态数据主要用来加速数据查询、交易验证,可以通过追溯链上数据直到创世区块来重新构建,只占区块链存储量的一小部分。
资源有限的节点,尤其是物联网传感器,受限于庞大的数据量,无法有效地加入区块链网络。多方合作、资源共享受阻碍的同时,“超级节点”、“矿池”对资源、算力的垄断大大提高了中心化、51%攻击的风险。
目前,针对区块链存储问题,主要有以下四类优化思路,均存在相应的缺点:
(1)“节点划分”。根据资源(存储、算力)多寡,节点被分为全节点和轻节点。全节点存储完整的区块,可以独立地验证交易、完成工作量证明、创建新区块,是区块链网络的骨干。轻节点则只保留区块头,通过全节点同区块链交互,并同步全节点处的状态数据,只能独立地创建、转发交易。轻节点可以通过简单的支付验证(Simplified paymentverification, SPV)判断交易是否成功上链,此时需要全节点提供相应的默克尔证明。全节点实质上主导了整个区块链,大大提高了中心化程度。
(2)“分发协议”。星际文件***(Interplanet file system,IPFS)和分片(Sharding) 是目前的常用方案。IPFS方案的核心思路是将分段后的区块链数据分摊到各个节点,链上则只保留数据段的哈希。Sharding方案的核心思路,在于将区块链分段的同时,对节点进行分组,不同分段由不同的分组维护。因此,各个节点只需存储对应分段的数据,存储量降低的同时,交易速度也得到提升。然而,存储量并没有实质上被减少,只是进行了转移或分摊,在增加网络结构复杂度的同时,也增加了数据泄露的风险。
(3)“生成快照”。典型的方案有账户树(account tree)和递归摘要树(recursivesummarization tree)。其核心思想是利用数据访问的局部性原则(越新鲜的数据被访问的可能性越大),按一定间隔删除历史区块,只保留其摘要,从而大幅降低区块链存储量。方案的缺点在于,删除的历史区块无法恢复,动摇了区块链可追溯的核心特性。
(4)“数据压缩”。典型的方案为先对历史区块生成快照,再结合哈夫曼树和LZ77算法直接处理摘要区块,从而降低存储量。一方面,该方案忽视了区块链本身的结构特性,将其视为普通的序列化字节流进行编解码处理,不能从根本上解决问题。另一方面,该方案同样削弱了区块链的可追溯特性。
发明内容
针对现有优化思路的不足,本发明提出一种基于余数***(Residue numbersystem,RNS) 的自适应区块数据压缩方案。以占区块链存储量绝大部分的区块体为优化对象,以交易为基本处理单位,通过将交易映射为分散存储在各个节点的余数子集,实现各节点本地存储量的大幅度降低。该方案同现有区块链工作流程完全兼容,同时节点可以根据各自存储资源的多寡自适应地决定本地压缩率。当查询交易内容时,节点收集分散在网络中的余数子集,利用中国剩余定理(Chinese remainder theorem,CRT)对交易原始内容进行恢复,不会对区块链的可追溯性造成削弱。技术方案如下:
一种基于余数***的自适应区块数据压缩方法,包括以下步骤:
(1)初始化:
第1步:预置一组包括N个模数的余数基ΨN={m0,m1…,mN-1},其中模数位宽为b,模数两两互质,按从小到大的顺序排列;N个模数的最小公倍数
Figure RE-GDA0003537534560000021
被称之为“动态范围”。
第2步:各个节点从ΨN中选出一个包含L,0<L<N,个元素的子集ψL={m′0,m′1…m′L-1|m′i∈ΨN},ψL中的元素称为“本地模数”;
第3步:利用区块链网络底层Kademlia协议提供的节点发现、资源定位机制,各个节点以键值对Key-Value的形式,构建并维护邻居列表;每一个键值对被称为一个Slot;其中,Key是模数集ΨDs=ΨNL中的任一元素m″i,0<i<N-L-1;对应的Value是一个列表,其元素为选择m″i为本地模数的节点的IP地址;
第4步:各个节点遵循区块链协议,签发或监听、验证新的交易,验证成功的交易缓存在交易池,其中部分将在被规范化、压缩后,打包进入新区块;
(2)交易规范化:
第1步:节点将长度为LT的交易转化为二进制序列,在末尾补零,使得二进制序列的长度为2的幂,补零长度记为NP
第2步:节点将补零后的二进制序列等分为多个LC bits的片段;片段数量记为NC,则有
Figure RE-GDA0003537534560000031
NP=NC·LC-LT
第3步:节点将每一笔交易规范化得到的NP、NC保存在本地;
(3)交易压缩:
第1步:节点将每一个片段转化为对应的整数Xj,0<j<NC-1;基于ΨN,节点对
Figure RE-GDA0003537534560000032
执行求模运算,将每一笔交易转换为一个N行NC列的余数矩阵ΦN,其中Φij是Xj对mi求模的结果;
第2步:为保证ΦN的数据完整性,对于该矩阵的每一行
Figure RE-GDA0003537534560000033
节点按如下方式生成对应的承诺:
Figure RE-GDA0003537534560000034
其中,hash(TX)是该笔交易对应的哈希值,i是该行对应的模数在ΨN中的索引值,“+”表示拼接;
节点将生成的承诺***到布隆过滤器中;
第3步:节点开始创造新区块;区块体不再包含完整的交易,而只包含对应的哈希值;布隆过滤器则被添加至区块头,形成新区块头;节点将新区块广播至网络中;
第4步:接收到新区块后,节点根据区块体中的哈希值,在本地交易池找到对应的交易,验证其有效性,并重新基于ΨN对规范化的交易执行求摸运算得到ΦN;节点根据ΦN重新生成承诺来验证布隆过滤器的有效性;
第5步:新区块验证成功后,节点将其追加至本地区块链的尾部;上链时,对于每一笔交易,节点根据其在***初始化时选定的本地模数集ψL,从ΦN中选出对应的行,追加在交易哈希值的后面;一笔交易被表示为分散存储在各个节点上的余数行,使得区块数据整体得到压缩;
(4)交易恢复。
进一步地,ΨN由小于2b的N个最大质数组成。
交易恢复的方法如下:
第1步:节点根据其维护的邻居列表,逐行请求对应m″i(m″i∈ΨDs)的余数子集,节点得到对应m″i的正确余数行后,才会请求对应m″i+1的余数行;节点检查每一个邻居节点的响应,检查时,节点将本地维护的交易哈希hash(TX)、索引值i同邻居节点的响应R′按顺序拼接,重新计算承诺,并通过判断该承诺是否在布隆过滤器中来确定该响应的有效性;不响应或返回无效响应的节点将从邻居列表剔除,节点根据Kademlia协议提供的底层机制发现新节点并补充进对应的Slot中;
第2步:节点基于收集到的N-L个余数行,结合本地存储的L行,利用CRT得到原始交易补零后的二进制序列;节点通过本地保存的NC、NP,确定原始交易序列的起始位置,从而恢复出原始的交易内容;节点通过验证哈希值来判断交易是否正确恢复。
本方案具有如下特征:
(1)以区块链交易为基本处理单位,利用RNS将其映射为分散存储在各个节点的余数子集,从而最终实现区块数据压缩,大幅度降低各节点的存储量。
(2)区块压缩后,节点可以通过收集分散在网络中的余数子集并执行CRT运算来恢复交易的原始内容,不损害区块链可追溯的核心特性。
(3)由于公有链是开放式网络,节点无需身份验证,可以自由地加入和退出。因此,该数据压缩方案要具有良好的可用性,在复杂网络环境下(节点宕机失效或作恶),仍可以高效、正确地实现原始交易的恢复。
应用本方案后,将具有如下有益效果:
(1)该方法在保证原始交易内容可恢复的前提下,实现了区块数据压缩,大幅降低了节点的存储负担,同时不削弱区块链可追溯的核心特性。
(2)该方法完全兼容现有区块链协议的工作流程,不会带来***架构复杂度的提升。
(3)应用该方法时,节点可以根据自身存储量的多寡、对独立性的要求,通过决定L的大小,来自适应地决定本地压缩率。资源有限的节点可以选择较小的L,资源丰富的节点可以选择较大的L甚至Lmax。一方面降低了资源有限节点加入区块链的门槛,另一方面无论资源多寡,节点都只能掌握部分数据,不能独立控制整个网络,避免了中心化的风险。此外,存储更多数据(L更大)的节点在恢复交易时具有优势,从而形成一种有效的激励机制,鼓励资源丰富的节点在不能控制整个网络的前提下,贡献更多的存储资源。
(4)应用该方法后,每个节点只能保留完整交易信息的一部分,从而提供更好的隐私保护功能。
附图说明
图1基于RNS的自适应区块链数据压缩方法***模型。
图2交易规范化过程(交易长度LT=800bits)。
图3交易压缩过程。
图4交易恢复过程。
图5本地压缩率(b=8,N=32,L=1~24)。
图6不同网络环境下,交易查询服务的可用性(b=8,N=32,L=1,8,16;q=0.1,0.3, 0.5)。
图7不同网络环境下的通信开销(b=8,N=32,L=1,8,16;q=0.1~0.5)。
图8不同网络环境下恢复交易的计算开销(b=8,N=32,L=1,8,16;q=0.1~0.5)。
具体实施方案
本发明提出一种基于余数***(Residue number system,RNS)的自适应区块体数据压缩方法,在不损害区块链核心特性的前提下,大幅度减少各节点的存储量。具体实施方案分为三个部分:
I***初始化:
(1)***预置一组包括N个模数的余数基ΨN={m0,m1…,mN-1},其中模数位宽为b。模数两两互质,按从小到大的顺序排列。N个模数的最小公倍数
Figure RE-GDA0003537534560000051
被称之为“动态范围”。一般地,ΨN由小于2b的N个最大质数组成,一旦确定则不可改变。实际部署中,模数位宽定为8(b=8),余数基为小于28的32个最大素数(N=32),如下表所示:
m<sub>1</sub>-m<sub>4</sub> m<sub>5</sub>-m<sub>8</sub> m<sub>9</sub>-m<sub>12</sub> m<sub>13</sub>-m<sub>16</sub> m<sub>17</sub>-m<sub>20</sub> m<sub>21</sub>-m<sub>24</sub> m<sub>25</sub>-m<sub>28</sub> m<sub>29</sub>-m<sub>32</sub>
251 229 199 181 163 139 113 101
241 227 197 179 157 137 109 97
239 223 193 173 151 131 107 89
233 211 191 167 149 127 103 83
(2)各个节点根据自身存储资源的多寡、对独立性的要求,从ΨN中选出一个包含L(0<L<N)个元素的子集ψL={m′0,m′1…m′L-1|m′i∈ΨN}。ψL中的元素称为“本地模数”。实际部署中,各个节点最多选择24个本地模数(Lmax=24)。
(3)利用区块链网络底层Kademlia协议提供的节点发现、资源定位机制,各个节点以键值对(Key-Value)的形式,构建并维护一个邻居列表(Peer list)。每一个键值对被称为一个Slot。其中,Key是模数集ΨDsDs=ΨNL)中的任一元素m″i(0<i<N-L-1)。对应的Value是一个列表,其元素为选择m″i为本地模数的节点的IP地址。各节点处的邻居节点定期刷新以排除无效的节点。实际部署中,每个slot存储8个IP地址。节点每次执行节点发现、资源定位操作时,从对应的slot中随机并行访问3个节点(并发因子α=3)。
(4)各个节点遵循现有区块链协议,签发或监听、验证新的交易。验证成功的交易缓存在交易池,其中部分将在被规范化、压缩后,打包进入新区块。
II交易规范化:
区块链中,交易是不定长的。为了方便动态范围MN的确定,压缩交易前需要先进行规范化。
(1)节点将长度为LT的交易转化为二进制序列,在末尾补零,使得二进制序列的长度为2的幂。补零长度记为NP(Number of paddings)。
(2)节点将补零后的二进制序列等分为多个LC(b·N≥LC)bits的片段。片段数量记为NC(Number of chunks),则有
Figure RE-GDA0003537534560000061
NP=NC·LC-LT。实际部署中,LC取256bits。
(3)节点将每一笔交易规范化得到的NP、NC保存在本地。
III交易压缩:
(1)交易规范化后,节点将每一个片段转化为对应的整数Xj(0<j<NC-1)。然后,基于ΨN,节点对
Figure RE-GDA0003537534560000071
执行求模运算,将每一笔交易转换为一个N行NC列的余数矩阵ΦN,其中Φij是Xj对mi求模的结果。
(2)为保证ΦN的数据完整性,对于该矩阵的每一行
Figure RE-GDA0003537534560000072
节点按如下方式生成对应的承诺:
Figure RE-GDA0003537534560000073
其中,hash(TX)是该笔交易对应的哈希值,i是该行对应的模数在ΨN中的索引值,“+”表示拼接。然后,节点将生成的承诺***到布隆过滤器中。
(3)当待打包的所有交易,其对应的承诺都被***布隆过滤器后,节点开始创造新区块。区块体不再包含完整的交易,而只包含对应的哈希值。布隆过滤器则被添加至区块头。节点遵循现有区块链协议,根据新区块头内容进行工作量证明。当找到满足难度值要求的随机数 (nonce)后,节点将新区块广播至网络中。实际部署中,布隆过滤器虚警率设为0.01(p=0.01)。
(4)接收到新区块后,节点根据区块体中的哈希值,在本地交易池找到对应的交易,验证其有效性,并重新基于ΨN对规范化的交易执行求摸运算得到ΦN。然后,节点根据ΦN重新生成承诺来验证布隆过滤器的有效性。验证完毕后,节点根据现有区块链协议,验证包括 nonce在内的其余内容。
(5)新区块验证成功后,节点将其追加至本地区块链的尾部。上链时,对于每一笔交易,节点根据其在***初始化时选定的本地模数集ψL,从ΦN中选出对应的行,追加在交易哈希值的后面。
IV交易恢复:
上述步骤完成后,一笔交易被表示为分散存储在各个节点上的余数行,从而使得区块数据整体得到压缩。当节点查询交易内容时,需要对原始的交易内容进行恢复。
(1)节点根据其维护的邻居列表,逐行请求对应m″i(m″i∈ΨDs)的余数子集(节点得到对应m″i的正确余数行后,才会请求对应m″i+1的余数行)。节点将检查每一个邻居节点的响应。检查时,节点将本地维护的交易哈希hash(TX)、索引值i同邻居节点的响应R′按顺序拼接,重新计算承诺,并通过判断该承诺是否在布隆过滤器中来确定该响应的有效性。不响应或返回无效响应的节点将从邻居列表剔除,节点根据Kademlia协议提供的底层机制发现新节点并补充进对应的Slot中。
(2)节点基于收集到的N-L个余数行,结合本地存储的L行,利用CRT得到原始交易补零后的二进制序列。然后,节点通过本地保存的NC、NP,确定原始交易序列的起始位置,从而恢复出原始的交易内容。节点可以通过验证哈希值来判断交易是否正确恢复。
基于RNS的自适应区块数据压缩方法,其性能可以从压缩率、开销、可用性性三个层面来衡量:
(1)压缩率定义为,应用该方法后减少的存储量占原始存储量的比例。
(2)开销为交易压缩、恢复过程中产生的额外计算、通信开销。计算开销主要来自于求模、哈希运算。
(3)交易查询服务的可用性定义为应用该方法后,节点在复杂网络环境下,仍能成功恢复交易原始内容的能力。复杂网络环境下,节点自由进出,存在恶意节点意图通过篡改本地数据干扰交易恢复进程。一般地,恶意节点间彼此独立,互不统属,在网络中均匀分布。该方法的可用性通过恢复一笔交易需要的平均请求次数来衡量(每访问邻居列表中一个IP地址就算作一次请求)。
基于上述定义,该方法的压缩率、开销、可用性主要由(b,N)决定。经过理论分析与仿真实验,当方法取上述参数时,拥有最佳效果。此时,该方法压缩率最高接近80%。当网络中恶意节点比例q一定时,其余性能表现如图6,7,8所示。从中可知:
(1)节点可以通过L的选择,更细粒度地自适应调整本地压缩率。
(2)相比于目前370bytes的平均交易长度,在最恶劣的网络环境下(q=0.5),恢复一笔交易造成的通信开销只有原始交易大小的两倍。
(3)由于本身运算的高效性,交易压缩恢复过程中额外的求模、哈希运算不会导致出块时间大的波动。
(4)本地存储更多数据的节点,虽然会损失一部分压缩率,但在交易恢复过程中也具有更多优势。这说明该方法可以提供一种有效的激励机制,鼓励资源丰富的节点分担更大的存储责任,又不至于形成数据垄断。

Claims (3)

1.一种基于余数***的自适应区块数据压缩方法,包括以下步骤:
(1)初始化:
第1步:预置一组包括N个模数的余数基ΨN={m0,m1…,mN-1},其中模数位宽为b,模数两两互质,按从小到大的顺序排列;N个模数的最小公倍数
Figure FDA0003498477560000011
被称之为“动态范围”。
第2步:各个节点从ΨN中选出一个包含L,0<L<N,个元素的子集ψL={m′0,m′1…m′L-1|m′i∈ΨN},ψL中的元素称为“本地模数”;
第3步:利用区块链网络底层Kademlia协议提供的节点发现、资源定位机制,各个节点以键值对Key-Value的形式,构建并维护邻居列表;每一个键值对被称为一个Slot;其中,Key是模数集ΨDs=ΨNL中的任一元素m″i,0<i<N-L-1;对应的Value是一个列表,其元素为选择m″i为本地模数的节点的IP地址;
第4步:各个节点遵循区块链协议,签发或监听、验证新的交易,验证成功的交易缓存在交易池,其中部分将在被规范化、压缩后,打包进入新区块;
(2)交易规范化:
第1步:节点将长度为LT的交易转化为二进制序列,在末尾补零,使得二进制序列的长度为2的幂,补零长度记为NP
第2步:节点将补零后的二进制序列等分为多个LC bits的片段;片段数量记为NC,则有
Figure FDA0003498477560000015
NP=NC·LC-LT
第3步:节点将每一笔交易规范化得到的NP、NC保存在本地;
(3)交易压缩:
第1步:节点将每一个片段转化为对应的整数Xj,0<j<NC-1;基于ΨN,节点对
Figure FDA0003498477560000012
执行求模运算,将每一笔交易转换为一个N行NC列的余数矩阵ΦN,其中Φij是Xj对mi求模的结果;
第2步:为保证ΦN的数据完整性,对于该矩阵的每一行
Figure FDA0003498477560000013
节点按如下方式生成对应的承诺:
Figure FDA0003498477560000014
其中,hash(TX)是该笔交易对应的哈希值,i是该行对应的模数在ΨN中的索引值,“+”表示拼接;
节点将生成的承诺***到布隆过滤器中;
第3步:节点开始创造新区块;区块体不再包含完整的交易,而只包含对应的哈希值;布隆过滤器则被添加至区块头,形成新区块头;节点将新区块广播至网络中;
第4步:接收到新区块后,节点根据区块体中的哈希值,在本地交易池找到对应的交易,验证其有效性,并重新基于ΨN对规范化的交易执行求摸运算得到ΦN;节点根据ΦN重新生成承诺来验证布隆过滤器的有效性;
第5步:新区块验证成功后,节点将其追加至本地区块链的尾部;上链时,对于每一笔交易,节点根据其在***初始化时选定的本地模数集ψL,从ΦN中选出对应的行,追加在交易哈希值的后面;一笔交易被表示为分散存储在各个节点上的余数行,使得区块数据整体得到压缩;
(4)交易恢复。
2.根据权利要求1所述的自适应区块数据压缩方法,其特征在于,ΨN由小于2b的N个最大质数组成。
3.根据权利要求1所述的自适应区块数据压缩方法,其特征在于,交易恢复的方法如下:
第1步:节点根据其维护的邻居列表,逐行请求对应m″i的余数子集,节点得到对应m″i的正确余数行后,才会请求对应m″i+1的余数行;节点检查每一个邻居节点的响应,检查时,节点将本地维护的交易哈希hash(TX)、索引值i同邻居节点的响应R′按顺序拼接,重新计算承诺,并通过判断该承诺是否在布隆过滤器中来确定该响应的有效性;不响应或返回无效响应的节点将从邻居列表剔除,节点根据Kademlia协议提供的底层机制发现新节点并补充进对应的Slot中;
第2步:节点基于收集到的N-L个余数行,结合本地存储的L行,利用CRT得到原始交易补零后的二进制序列;节点通过本地保存的NC、NP,确定原始交易序列的起始位置,从而恢复出原始的交易内容;节点通过验证哈希值来判断交易是否正确恢复。
CN202210121096.1A 2022-02-09 2022-02-09 基于余数***的自适应区块数据压缩方法 Pending CN114461730A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210121096.1A CN114461730A (zh) 2022-02-09 2022-02-09 基于余数***的自适应区块数据压缩方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210121096.1A CN114461730A (zh) 2022-02-09 2022-02-09 基于余数***的自适应区块数据压缩方法

Publications (1)

Publication Number Publication Date
CN114461730A true CN114461730A (zh) 2022-05-10

Family

ID=81413641

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210121096.1A Pending CN114461730A (zh) 2022-02-09 2022-02-09 基于余数***的自适应区块数据压缩方法

Country Status (1)

Country Link
CN (1) CN114461730A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116016571A (zh) * 2022-12-29 2023-04-25 中国科学技术大学 基于rcrt的分布式存储方法、***、设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116016571A (zh) * 2022-12-29 2023-04-25 中国科学技术大学 基于rcrt的分布式存储方法、***、设备及存储介质

Similar Documents

Publication Publication Date Title
Khalaf et al. Optimized dynamic storage of data (ODSD) in IoT based on blockchain for wireless sensor networks
CN109471744B (zh) 基于区块链的主链加并行多子链***架构
US10154086B1 (en) Distributed consumer cloud storage system
CN110011981B (zh) 一种基于区块链的可信云存储方法及***
CN109472572B (zh) 基于区块链主链加并行多子链的合约***
US6988124B2 (en) Locating potentially identical objects across multiple computers based on stochastic partitioning of workload
KR102337760B1 (ko) 심층강화학습 기반 적응적 샤드 블록체인 네트워크 관리 장치 및 방법
WO2019024780A1 (zh) 区块链轻量化处理方法、区块链节点及存储介质
CN108062419B (zh) 一种文件存储方法、电子设备、***和介质
US11036760B2 (en) Method for parallel maintenance of data consistency
CN113553375B (zh) 一种面向图式区块链的分片存储装置及方法
US20230130074A1 (en) Network transmission optimization device for graph-type blockchain and method thereof
CN113626875A (zh) 一种区块链分片赋能的知识图谱文件存储方法
Giri et al. A survey on data integrity techniques in cloud computing
CN114127724A (zh) 针对多副本存储的完整性审计
Wu et al. Robust and auditable distributed data storage with scalability in edge computing
CN116669111A (zh) 一种基于区块链的移动边缘计算任务卸载方法
CN114461730A (zh) 基于余数***的自适应区块数据压缩方法
CN116366673A (zh) 一种面向电网信息机房管理的数据分析与共享方法
CN109783456B (zh) 去重结构搭建方法、去重方法、文件取回方法、去重***
CN113157450A (zh) 在区块链***中执行区块的方法及装置
CN111866181A (zh) 一种基于区块链的雾网络中任务卸载优化方法
CN115065689B (zh) 一种基于历史评价的联盟链区块数据存储方法及***
CN114785805B (zh) 一种数据传输方法、装置、电子设备以及存储介质
CN116405179A (zh) 基于区块链分片和dag的建筑物联网数据管理方法

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