【技术实现步骤摘要】
一种可降低区块链存储开销的阶梯式数据存储方法及系统
本专利技术涉及区块链技术,具体涉及一种可降低区块链存储开销的阶梯式数据存储方法及系统。
技术介绍
区块链技术在2008年作为比特币的关键数据被中本聪在《比特币:一种点对点的电子现金系统》中提出,其本质是一个去中心化的数据库。通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案,“矿工”验证交易的合法性并通过工作量证明机制将合法交易打包形成区块,后一个区块包含前一个区块的哈希值,链接形成只增的区块链账本,全网中所有普通节点保存区块链账本的一个副本。区块链技术依赖全网中所有普通节点记账,不依赖任何第三方管理机构或硬件设施,只要不能掌握全网51%的普通节点就不能篡改网络中的数据,安全性和可用性都有了明显改善。更重要的,区块链解决了数字世界中脱离第三方的可信问题,不可信的各方可以依赖区块链完成可信交易,在金融、物联网、公共管理等方面有很大的应用前景。区块链技术被提出以后得到广泛关注,并取得了迅速的发展。以太坊(Ethereum)提供了一个开源的智能合约平台,发布专用的加密数字货币以太币(ether)提供去中心化的以太虚拟机来处理点对点的交易合约。以太坊和区块链代表了公有链,可以被任何人读取、发送交易且能获得有效确认的共识区块。与之相对应的私有链指区块链写入权限仅在一个组织手里,读取权限或者对外开放,或者被任意程度地进行了限制。另外,联盟链共识过程受到预选普通节点控制的区块链(例如,有15个金融机构组成一个共同体,每个机构都运行着一个或者多个普通节点,而且为了使 ...
【技术保护点】
1.一种可降低区块链存储开销的阶梯式数据存储方法,其特征在于,包括:/n1)主节点每隔指定时间t更新计算各个区块的价值密度VD(Block),所述价值密度VD(Block)与区块的访问次数N成正比、且与区块的产生时间T成反比,并根据价值密度VD(Block)对各个区块进行分级;/n2)针对不同分级的区块采用不同开销的存储方式进行存储。/n
【技术特征摘要】
1.一种可降低区块链存储开销的阶梯式数据存储方法,其特征在于,包括:
1)主节点每隔指定时间t更新计算各个区块的价值密度VD(Block),所述价值密度VD(Block)与区块的访问次数N成正比、且与区块的产生时间T成反比,并根据价值密度VD(Block)对各个区块进行分级;
2)针对不同分级的区块采用不同开销的存储方式进行存储。
2.根据权利要求1所述的可降低区块链存储开销的阶梯式数据存储方法,其特征在于,步骤1)中计算各个区块的价值密度VD(Block)的函数表达式为:
上式中,k1和k2均为比例系数,且由0<k1≤1,0<k2≤1,N表示该区块的访问次数,T表示区块产生的时间,且主节点和各个普通节点协同完成各个区块的访问次数的记录更新。
3.根据权利要求2所述的可降低区块链存储开销的阶梯式数据存储方法,其特征在于,所述主节点和各个普通节点协同完成各个区块的访问次数的记录更新的步骤包括:每个普通节点在自己的本地为维护一个数组以记录每个区块的访问次数,区块每被访问1次则并向主节点针对该区块发送带有签名的更新访问次数请求,主节点收到请求消息后验证签名,验证通过后针对该区块向全网广播带有主节点签名的更新访问次数指令,各个普通节点收到消息后验证签名,验证通过后针对该区块将访问次数加1,从而完成该区块的访问次数更新。
4.根据权利要求1所述的可降低区块链存储开销的阶梯式数据存储方法,其特征在于,步骤1)中对各个区块进行分级是指分别分级为热区块、暖区块和冷区块三种等级,且新创建的区块默认为热区块,步骤2)中针对不同分级的区块采用不同开销的存储方式包括:将热区块存储在本地,将暖区块分片成为n个区块分片且通过n个普通节点进行存储,将冷区块存储在远端数据库。
5.根据权利要求4所述的可降低区块链存储开销的阶梯式数据存储方法,其特征在于,所述将暖区块分片成为n个区块分片且通过n个普通节点进行存储的步骤包括:
A1)主节点针对待存储的暖区块向各个普通节点发送带有主节点签名后的区块分片消息;
A2)各个普通节点收到区块分片消息并验证签名后反馈带有本普通节点签名的确认消息;
A3)主节点接收各个普通节点发送带有本普通节点签名的确认消息并验证签名,若收到确认消息超过一半则按照分片策略执行分片操作:将待存储的暖区块的区块头结构中分片数据结构体separation的区块分片标志位isSeperate置为true,将待存储的暖区块按照分片策略分片成为n个区块分片且保持区块头结构不变,然后计算每一个区块分片的哈希并将其填入自己的分片数据结构体separation的当前区块分片的哈希值presentHash、上一个区块分片的分片数据结构体separation的下一个区块分片的哈希值nextHash,且第一个区块分片的当前区块分片的哈希值presentHash为待存储的暖区块分片操作前的哈希值,最后一个区块分片的下一个区块分片的哈希值nextHash为空,从而得到n个区块分片;
A4)针对得到的n个区块分片中的每一个区块分片,选择多个普通节点并发送该区块分片对应的请求普通节点存储切片信息;
A5)收到请求普通节点存储切片信息的普通节点将对应的区块分片替换完整的区块,并向主节点返回存储确认消息,确认自己已经存储了该区块的指定切片;
A6)主节点收到每个区块分片的存储确认信息后,后删除待存储的暖区块。
6.根据权利要求4所述的可降低区块链存储开销的阶梯式数据存储方法,其特征在于,步骤2)之后还包括通过将n个区块分片进行切片组合实现暖区块访问的步骤:
B1)主节点针对待组合的暖区块向各个普通节点发送带有主节点签名的切片组合的消息,所述切片组合的消息中包含暖区块访问的两种类型:第一种类型为暖区块更新为冷区块,第二种类型为暖区块查询;
B2)...
【专利技术属性】
技术研发人员:史佩昌,陈鹏,王怀民,张迅晖,刘惠,傅翔,杨尚之,钟韬,相亮亮,李琳慧,
申请(专利权)人:中国人民解放军国防科技大学,
类型:发明
国别省市:湖南;43
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。