[发明专利]区块链系统轻量化存储的编码方法、解码方法及节点装置在审
| 申请号: | 202310260923.X | 申请日: | 2023-03-17 |
| 公开(公告)号: | CN116233160A | 公开(公告)日: | 2023-06-06 |
| 发明(设计)人: | 曹仰杰;陈剑涣;李颉;庄岩 | 申请(专利权)人: | 郑州大学 |
| 主分类号: | H04L67/1097 | 分类号: | H04L67/1097;H04L67/565;H04L67/5651 |
| 代理公司: | 郑州德勤知识产权代理有限公司 41128 | 代理人: | 黄红梅 |
| 地址: | 450001 河南省郑州*** | 国省代码: | 河南;41 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 区块 系统 量化 存储 编码 方法 解码 节点 装置 | ||
1.一种区块链轻量化存储的编码方法,其特征在于,所述方法为:
在节点存储账本时,当一个区块被添加到账本中后,存储由区块编码产生的码块;其中,
由区块编码产生码块的方法:
检查区块的长度;若区块的长度符合要求,则将区块分成k个等长的区块片段;否则,先填充区块至符合要求的长度,再将区块分成k个等长的区块片段;其中,1<k≤n,n为区块链中节点的数量;
使用RS编码器对区块片段进行编码,生成n个码字集合;计算n个码字的哈希值,并相应地构建Merkle树,同时生成Merkle证明;
将一个码字、该码字的Merkle证明和该码字对应区块片段的区块头打包成一个码块;
节点存储码块的方法:
节点存储一个编码产生的码块,并删除相应区块片段。
2.根据权利要求1所述的区块链轻量化存储的编码方法,其特征在于:区块链中的每个节点有一个唯一的ID;存储码块时,每个节点根据其ID选择码块进行存储。
3.根据权利要求1所述的区块链轻量化存储的编码方法,其特征在于,使用RS编码器对区块片段进行编码的方法为:
RS编码器预先制定一个(n,k)编码模式;
将区块片段中的数据拆分并转换成伽罗华域GF(256)中的元素,拆分转换后的数据用矩阵B表示:
再利用由范德蒙矩阵转换而来的前k行为单位矩阵的编码矩阵M对矩阵B进行编码,即可得到码字矩阵U;
码字矩阵U作为码字集合。
4.一种可校验的区块解码方法,其特征在于:该区块解码方法用于解码由权利要求1或2所述的区块链轻量化存储的编码方法存储的码块;
该区块解码方法包括以下步骤:
节点获取其本地存储的码块中的码字以及该码字的Merkle证明,并根据码字和Merkle证明计算Merkle树的根;
每个节点维护一个码字矩阵,并将码字添加到该矩阵中;
本节点向其它节点发送解码请求,以获取缺失的码块,其它节点收到来自本节点的解码请求后,将其存储的码块发送给本节点;
当本节点收到来自其它节点的码块时,通过校验接收到的码块的Merkle证明验证码块的码字是否有效;如果码字通过验证,则将其放入码字矩阵中,否则继续接收码块;
当节点维护的码字矩阵的大小达到k时,该节点使用编码的逆运算进行解码,用以恢复区块片段;
节点将恢复后的区块片段的数据矩阵中的数据按顺序拼接起来,得到被填充后的区块,再从被填充的区块末尾移除填充数据,得到解码后的区块并返回。
5.一种区块链节点装置,其特征在于:
包括通信接口、存储器、编码器、解码器和通信总线,其中,通信接口、编码器、解码器以及存储器通过通信总线完成相互间的通信;
存储器,用于作为区块链节点的存储库;
编码器,用于存放计算机程序,还用于执行所存放的程序时,实现如权利要求1-3任一项所述的区块链轻量化存储的编码方法;
解码器,用于存放计算机程序,还用于执行所存放的程序时,实现如权利要求4任一项所述的可校验的区块解码方法。
6.一种区块链网络系统,其特征在于:该区块链网络系统是由权利要求5所述的区块链节点装置通过网络连接构成的区块链网络系统。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于郑州大学,未经郑州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202310260923.X/1.html,转载请声明来源钻瓜专利网。





