[发明专利]一种基于无冲突事务合并的联盟区块链系统有效
申请号: | 202111477673.2 | 申请日: | 2021-12-06 |
公开(公告)号: | CN114157550B | 公开(公告)日: | 2023-01-31 |
发明(设计)人: | 刘海旭;彭泽顺;徐倩;张岩峰;李晓华;于戈 | 申请(专利权)人: | 东北大学 |
主分类号: | H04L41/044 | 分类号: | H04L41/044;H04L41/0668;H04L41/0823;H04L67/1061;H04L67/1097;H04L67/1396;H04L67/30;G06Q40/04;H04L9/40 |
代理公司: | 沈阳东大知识产权代理有限公司 21109 | 代理人: | 李珉 |
地址: | 110819 辽宁*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 冲突 事务 合并 联盟 区块 系统 | ||
1.一种基于无冲突事务合并的联盟区块链系统,为包括多个全节点和多个Epoch服务器的区块链网络;其特征在于:所述系统包括持久层、逻辑层、网络层和应用层;
所述持久层用于状态数据存储以及区块数据存储,区块数据使用文件来存储;而对于状态数据则需要使用数据库来存储,因为每个交易的执行都需要访问状态数据;对于无冲突事务,使用无冲突事务存储结构进行存储;
所述逻辑层包括基于Epoch的交易分割模块、基于哈希函数的事务确定性排序模块,无冲突事务处理模块,以及系统运行所必须的功能模块;
所述网络层包括P2P网络配置的装置、全节点间的数据传输的装置以及心跳机制装置;P2P网络配置采用配置文件的方式进行网络配置;全节点之间的数据传输使用ZeroMQ完成,全节点之间数据传输使用的消息格式通过ProtoBuf来定义;节点间的心跳机制用来检测区块链网络内部的故障节点;
所述应用层包括一个客户端程序,并支持开发各种应用程序;所述客户端程序用于向全节点发出交易请求,查询执行结果、查询区块数据;
所述基于Epoch的交易分割模块具体实现以下功能:
当系统中全节点收集了由客户端发起的一组事务后,先验证事务的合法性,然后它将生成一个请求并将其发送到Epoch服务器;该请求包括这组事务的摘要和组中的事务数量;每个组都由有序的事务组成;Epoch服务器为该组事务分配Epoch号,并使用组摘要和Epoch号生成证明;因为Epoch服务器之间已经达成了共识,因此Epoch号分配不需要额外的共识;每个全节点在一个Epoch号中生成多个事务组;随后,在处理完成一个Epoch号的事务组之后,每个全节点对该Epoch号的事务组进行数字签名并将该数字签名与事务组一起广播给其他全节点;其他全节点收集同一Epoch号的所有事务组,并验证数字签名正确性,然后将同一个Epoch号的所有事务划分到一个区块中;
基于哈希函数的事务确定性排序模块具体实现以下功能:
Epoch服务器为一组事务分配Epoch号之后,全节点收集同一Epoch号下的所有事务;
全节点通过使用哈希函数为该Epoch号下的每个事务生成TID;按照TID的大小对区块内的事务进行排序;各全节点使用相同的哈希函数独自生成TID并保证全节点之间的一致性和随机性;在基于冲突事务合并的联盟区块链中,使用客户端id和事务请求签名作为哈希函数的输入来创建TID;
所述无冲突事务处理模块具体实现以下功能:
当全节点根据基于Epoch的交易分割模块收集完区块号为n的所有事务,并根据基于哈希函数的事务确定性方法排序后,基于第n-1个区块上链后的状态,并发执行区块n内的所有事务,生成每个事务的读写集,对于普通事务按照MVCC并发控制方法验证事务是否冲突,提交通过验证的事务,未通过的事务标记为无效;对于无冲突事务,调用对应的合并方法提交全部无冲突事务;
所述系统运行所必须的功能模块包括默克尔树生成模块、区块组装模块、区块验证模块、无冲突事务合并模块和MVCC并发控制模块;
所述默克尔树生成模块根据一个区块内的所有事务生成一颗默克尔树,最后将默克尔树根存放在区块头部,用于验证区块的数据完整性以及每笔事务的正确性;
所述区块组装模块负责将前一个区块的哈希、默克尔树根、时间戳、事务列表组装到一个区块中;
所述区块验证模块用于确保当前节点生成的区块与其他非恶意的节点生成的区块相同;
所述无冲突事务合并模块调用合并方法合并无冲突事务,合并方法是由应用程序开发者实现的,并且每个无冲突事务的合并方法都是不同的,应用程序开发者需要保证合并方法的逻辑正确性;
所述MVCC并发控制模块用于检查非无冲突事务之间是否冲突,并废弃冲突事务。
2.根据权利要求1所述的一种基于无冲突事务合并的联盟区块链系统,其特征在于:所述系统运行所必须的功能模块还包括分区聚合模块,该模块通过分区聚合功能执行事务;且分区聚合功能配合背书功能一起使用。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东北大学,未经东北大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111477673.2/1.html,转载请声明来源钻瓜专利网。