[发明专利]一种区块链交易的存储及排队方法有效
申请号: | 201810006625.7 | 申请日: | 2018-01-04 |
公开(公告)号: | CN108288156B | 公开(公告)日: | 2020-08-14 |
发明(设计)人: | 吴思进;王志文 | 申请(专利权)人: | 杭州复杂美科技有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;G06Q20/38 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 310000 浙江省杭州市*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 区块 交易 存储 排队 方法 | ||
本发明涉及一种区块链交易的存储及排队方法,包括生成交易哈希值、将交易写入位图表、调整状态码、共识节点进行挖矿、共识节点进行共识、生成区块。制定的存储方式,大幅度加快了交易数据的存储速度及验证速度。制定的排队方式,用户可以根据排队方式改变交易的优先级,大幅度改善了交易排队的灵活性,并有效防止用户零成本恶意刷单等攻击。
技术领域
本发明涉及区块链技术领域,涉及一种区块链交易的存储及排队方法。
背景技术
现有区块链交易的存储方式,共识节点通过默克尔根哈希值校验彼此数据的一致性,若得到的默克尔根哈希值不一致,则需要从上到下检索每一层的叶子节点的哈希值,直到找到底层出错的交易哈希值,从而判断是哪一笔交易出错,只有修正了交易,交易数据达成共识后交易才能存储到区块中。该过程需要耗费大量的时间及算力。
现有区块链交易几乎没有设定交易的排队方式,或者只是简单设定不同的收费等级来变更交易的排队优先级,不能灵活根据用户需求变更交易排队优先级。
发明内容
有鉴于此,本发明提供一种解决或部分解决上述问题的区块链交易的存储及排队方法。
为达到上述技术方案的效果,本发明的技术方案为:一种区块链交易的存储及排队方法,包含以下内容:
存储及排队方法包括以下步骤:
步骤S1:生成交易哈希值:
区块链系统为每一笔交易生成交易哈希值,交易哈希值是长度为64个字符(十六进制)的随机数;
步骤S2:将交易写入位图表:
位图表是由多个存储位构成的列表;每一个存储位包括状态码、存储空间和位编号;位编号是长度为3个字符(十六进制)的随机数,只有前三个字符和位编号相同的交易哈希值对应的交易才是满足条件的交易;存储空间用于存放交易,且每个存储空间只能存放一个满足条件的交易,满足条件的其他交易将进行排队;状态码包括0和1,已经存放交易的存储位的状态码为1,没有存放交易的存储位的状态码为0;
将交易写入位图表的过程为:在位图表中搜索到和交易哈希值的前三个字符相同的位编号,将交易哈希值对应的交易写入位编号对应的存储空间;
步骤S3:调整状态码:
位图表中已经存放交易的存储位的状态码转换为1,没有存放交易的存储位的状态码保持为0;
步骤S4:共识节点进行挖矿:
共识节点读取位图表并计算其中已经存储的交易的默克尔根哈希值,最早算出默克尔根哈希值的共识节点N向其他共识节点广播算出的默克尔根哈希值以及读取到的位图表;
步骤S5:共识节点进行共识:
其他共识节点接收共识节点N广播的默克尔根哈希值,并将其与自己计算出的默克尔根哈希值对比,若两者一致,则给共识节点投赞成票,若两者不一致,则将自己读取到的位图表与共识节点N广播的位图表进行比较,快速寻找遗漏或不一致的数据,寻找方法为:将自己读取到的位图表和共识节点N广播的位图表中同一个存储位对应的两个状态码进行异或运算,若同一个存储位对应的两个状态码相同,异或运算的结果为0;若同一个存储位对应的两个状态码不同,则异或运算的结果为1;通过搜索异或运算的结果为1的存储位,可以快速寻找遗漏或不一致的数据;
步骤S6:生成区块:
如果共识节点N得到的赞成票的总数与共识节点的总数的比值超过P,则交易达成共识,区块随即生成;如果共识节点N得到的赞成票的总数与共识节点的总数的比值不超过P,则交易没有达成共识,重新执行步骤S4、步骤S5和步骤S6,直到生成区块;P为0~1之间的有理数,由后台工作人员设定。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州复杂美科技有限公司,未经杭州复杂美科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810006625.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种无人超市的断网结算方法
- 下一篇:一种基于金融区块链技术的供应链管理方法