一种无中心的许可链平行分片方法及交易方法技术

技术编号:15794679 阅读:48 留言:0更新日期:2017-07-10 09:28
本发明专利技术公开了一种无中心的许可链平行分片方法及交易方法。其中分片方法如下:基于许可链的基本权限体系,建立分片管理员小组,负责分片的添加、删除和广播通知操作,使分片可以得知最新的其他分片的节点信息,并建立全局的配置分片,使其他分片作为配置分片的只读全节点,可以直接读取配置分片的数据,参与自己分片内的计算。来源分片的用户可以发送原生跨片交易和衍生跨片交易,并随机指定节点负责跨片交易的发送,目标分片的节点执行完跨片交易后发送响应消息。跨片交易的发送还设置了超时重发机制。本发明专利技术通过Merkel Tree、Tree Proof、前序高度、签名数据等信息,保证跨片交易传递的有序和安全。

【技术实现步骤摘要】
一种无中心的许可链平行分片方法及交易方法
本专利技术涉及许可链系统中使用分片进行扩容的领域,摒弃了传统设计中,依托中心化的路由分片或交易排序分片实现的区块链分片技术方法,而采用无中心的平行分片方法,并提供了分片后建立的许可链网络的交易发送方法。
技术介绍
:区块链是一种新的分布式技术,诸如比特币和以太坊这些项目充分展现了密码经济共识网络对促成下一代去中心化系统的强大推力,并潜移默化的将开发视野从简单的数据存储和信息服务扩展到任何状态应用的管理系统。基于这个系统,在全球范围内提议和执行的应用,涵盖了全球支付系统,金融合同、市场预测、身份注册、现实世界产权、更安全的证书管理系统、以及用供应链对制造品进行溯源和跟踪管理。但是,这个系统的技术基础仍然存在严重的效率问题,因为在网络上每个全节点都必须维护整个系统的状态和处理每个交易,整个区块网络效率受限于单个节点的计算能力,一条区块链不能处理比网络中的单个节点更多的交易。分片技术在现行的分布式数据库设计中有超过10年的应用,但是到目前为止,研究将其应用在区块链上,仍有颇多限制。基本的路径是解决可扩展性问题的挑战,通过在架构中把全局验证节点,随机或指定地分配到特定的分片中,每个分片并行处理全局状态的不同部分,从而确保工作是跨节点分布处理,而不是每个节点都重复做。但目前的区块链分片设计中,有一个处于中心位置的路由分片或交易排序分片,会引发系统的吞吐量瓶颈,制约其他分片之间的通信能力,所以本方案就致力于在许可链的基础框架下,实现一种无中心的平行分片方法。
技术实现思路
本专利技术的目的在于针对现有技术的不足,提供一种无中心的许可链平行分片方法及交易方法。本专利技术的目的是通过以下技术方案实现的:一种无中心的许可链平行分片方法,该方法包括组建管理员小组、添加分片Si、添加配置分片和删除已成立分片。其中,组建管理员小组,分如下步骤:(1.1)系统组建管理员小组,包含Na名成员,并设定增删分片交易的最少有效签名数Ka,Na/2≤Ka≤Na。(1.2)管理员分别生成自己的私钥和地址。(1.3)管理员小组公布小组信息:包括Na、Ka、以及由管理员地址组成的管理员信息列表。(1.4)管理员小组设定最大支持分片数为2n。添加分片Si,分如下步骤:(2.1)分片Si组建共识节点小组,包含Nq名成员,分配编号i,i为0~Nq-1,并设定跨分片交易的最少有效签名数Kq。(2.2)分片Si的共识节点分别生成自己的私钥和地址,并部署生成自己的IP和端口。(2.3)分片Si向管理员小组提交成立申请:包括Nq、Kq、以及由共识节点的编号i、地址、IP和端口组成的共识节点信息列表。(2.4)管理员小组为分片Si生成唯一编号ID(ID从0开始自增,最大为2n-1),并生成签名数大于Ka的多重签名交易Tx,交易内容包含:分片ID、Nq、Kq、以及由共识节点的编号i、地址、IP和端口组成的共识节点信息列表,并将Tx存储进入历史分片交易列表Tx_list。(2.5)管理员小组向分片Si的所有共识节点广播Tx_list,并向已成立的所有分片的所有节点广播Tx。(2.6)分片Si的共识节点接收到Tx_list后,根据管理员小组的公布的小组信息,验证交易Tx的多重签名数(依据签名数是否大于Ka),如果通过,则打包该交易,并用不会分叉的确定性共识算法启动该分片,变为已成立分片,并记录其他分片的信息。(2.7)已成立分片S的共识节点收到Tx后,根据管理员小组的公布的小组信息,验证交易Tx的多重签名数(依据签名数是否大于Ka),如果通过则打包该交易并入块,将分片Si标记为已成立分片,并记录分片信息。添加配置分片,分如下步骤:(3.1)按照步骤2.1-2.7,添加一个用于存储系统全局配置的配置分片。(3.2)已成立分片S的节点分别建立与配置分片节点的连接,同步配置分片的数据,其他分片可以直接读取从配置分片同步过来的数据,参与本分片的计算。删除已成立分片,分如下步骤:(4.1)管理员小组生成签名数大于Ka的多重签名交易Tx’,交易内容包含待删除的已成立分片Sk的ID。(4.2)管理员小组向所有已成立分片S的所有节点广播交易Tx’。(4.3)待删除的已成立分片Sk的共识节点接收到Tx’后,根据管理员小组公布的小组信息,验证交易的多重签名数(依据签名数是否大于Ka),如果通过,则停止本分片Sk,变为已删除分片。(4.4)其余已成立分片Sj的共识节点接收到Tx’后,根据管理员小组公布的小组信息,验证交易的多重签名数(依据签名数是否大于Ka),如果通过,则打包该交易并出块,将待删除的已成立分片Sk标记为已删除分片。一种上述方法进行分片后建立的许可链网络的交易发送方法,包括以下步骤:(1)已成立分片S的用户生成自己的公私钥后,将分片ID_self作为前缀,并拼接公钥的哈希后作为自己的地址,即“分片ID_self+hash(公钥)”。分片的用户发送的交易包括本分片“原生交易”、跨分片“原生交易”;所述本分片“原生交易”为:目标账户地址前缀是本分片ID_self的交易;跨分片“原生交易”为目标账户地址前缀不是本分片ID_self的交易;(2)来源分片的出块节点依次打包交易并入块h1,若本分片“原生交易”包含生成跨分片“衍生交易”的逻辑内容,则在打包入块时生成所述跨分片“衍生交易”,跨分片“衍生交易”的发起方就是生成该交易的本分片“原生交易”的发起方。块内全部的三种交易使用MerkelTree组合成交易树根tx_root。(3)出块节点广播该区块h1,其他节点接收、验证并投票该区块,然后收集到大于Kq个的投票signs_self。(4)所有节点找到tx_root中的跨分片“原生交易”和跨分片“衍生交易”,根据这些跨分片交易的目标分片ID_taget进行归类,每一个目标分片ID_taget生成一个“跨片交易”tx_cross,并将tx_cross置入“进行中跨片交易列表”pool_cross,状态为“已请求”,结构为map([当前高度,目标分片ID_taget]=>[tx_cross,状态])。其中每个“跨片交易”tx_cross包括如下内容:(4.1)本分片ID_self。(4.2)本分片当前高度h1。(4.3)置入于pool_cross中的,且与编号为ID_taget的目标分片发生的前序“跨片交易”的跨片高度h0。(4.4)从块头哈希到tx_root再到本跨片交易内容的证明数据结构MerkelProof。(4.5)投票信息signs_self。(5)指定当前高度h1的跨分片交易的发送节点,编号ix,跨片发送节点ix根据pool_cross中当前高度h1的目标分片ID_taget,得出需要建立连接的分片,并与这些分片的任一节点建立连接,为其发送tx_cross的请求REQ交易。进一步地,所述跨片交易通过以下步骤进行响应:(a)目标分片的出块节点接收到REQ交易后,首先根据REQ交易的来源分片信息,验证以下条件,如果通过则打包该交易并执行。条件1:来源分片已成立且未删除。条件2:signs_self的签名有效,且REQ交易的来源节点在该分片的共识节点信息列表中。条件3:signs_self的个数大于该分片的Kq。条件4:验证Merke本文档来自技高网...
一种无中心的许可链平行分片方法及交易方法

【技术保护点】
一种无中心的许可链平行分片方法,其特征在于,该方法包括组建管理员小组、添加分片Si、添加配置分片和删除已成立分片。其中,组建管理员小组,分如下步骤:(1.1)系统组建管理员小组,包含Na名成员,并设定增删分片交易的最少有效签名数Ka,Na/2≤Ka≤Na。(1.2)管理员分别生成自己的私钥和地址。(1.3)管理员小组公布小组信息:包括Na、Ka、以及由管理员地址组成的管理员信息列表。(1.4)管理员小组设定最大支持分片数为2

【技术特征摘要】
1.一种无中心的许可链平行分片方法,其特征在于,该方法包括组建管理员小组、添加分片Si、添加配置分片和删除已成立分片。其中,组建管理员小组,分如下步骤:(1.1)系统组建管理员小组,包含Na名成员,并设定增删分片交易的最少有效签名数Ka,Na/2≤Ka≤Na。(1.2)管理员分别生成自己的私钥和地址。(1.3)管理员小组公布小组信息:包括Na、Ka、以及由管理员地址组成的管理员信息列表。(1.4)管理员小组设定最大支持分片数为2n。添加分片Si,分如下步骤:(2.1)分片Si组建共识节点小组,包含Nq名成员,分配编号i,i为0~Nq-1,并设定跨分片交易的最少有效签名数Kq。(2.2)分片Si的共识节点分别生成自己的私钥和地址,并部署生成自己的IP和端口。(2.3)分片Si向管理员小组提交成立申请:包括Nq、Kq、以及由共识节点的编号i、地址、IP和端口组成的共识节点信息列表。(2.4)管理员小组为分片Si生成唯一编号ID(ID从0开始自增,最大为2n-1),并生成签名数大于Ka的多重签名交易Tx,交易内容包含:分片ID、Nq、Kq、以及由共识节点的编号i、地址、IP和端口组成的共识节点信息列表,并将Tx存储进入历史分片交易列表Tx_list。(2.5)管理员小组向分片Si的所有共识节点广播Tx_list,并向已成立的所有分片的所有节点广播Tx。(2.6)分片Si的共识节点接收到Tx_list后,根据管理员小组的公布的小组信息,验证交易Tx的多重签名数(依据签名数是否大于Ka),如果通过,则打包该交易,并用不会分叉的确定性共识算法启动该分片,变为已成立分片,并记录其他分片的信息。(2.7)已成立分片S的共识节点收到Tx后,根据管理员小组的公布的小组信息,验证交易Tx的多重签名数(依据签名数是否大于Ka),如果通过则打包该交易并入块,将分片Si标记为已成立分片,并记录分片信息。添加配置分片,分如下步骤:(3.1)按照步骤2.1-2.7,添加一个用于存储系统全局配置的配置分片。(3.2)已成立分片S的节点分别建立与配置分片节点的连接,同步配置分片的数据,其他分片可以直接读取从配置分片同步过来的数据,参与本分片的计算。删除已成立分片,分如下步骤:(4.1)管理员小组生成签名数大于Ka的多重签名交易Tx’,交易内容包含待删除的已成立分片Sk的ID。(4.2)管理员小组向所有已成立分片S的所有节点广播交易Tx’。(4.3)待删除的已成立分片Sk的共识节点接收到Tx’后,根据管理员小组公布的小组信息,验证交易的多重签名数(依据签名数是否大于Ka),如果通过,则停止本分片Sk,变为已删除分片。(4.4)其余已成立分片Sj的共识节点接收到Tx’后,根据管理员小组公布的小组信息,验证交易的多重签名数(依据签名数是否大于Ka),如果通过,则打包该交易并出块,将待删除的已成立分片Sk标记为已删除分片。2.一种权利要求1所述方法进行分片后建立的许可链网络的交易发送方法,其特征在于,包括以下步骤:(1)已成立分片S的用户生成自己的公私钥后,将分片ID_self作为前缀,并拼接公钥的哈希后作为自己的地址,即“分片ID_self+hash(公钥)”。分片的用户发送的交易包括本分片“原生交易”、跨分片“原生交易”;所述本分片“原生交易”为:目标账户地址前缀是本分片ID_self的交易;跨分片“原生交易”为目标账户地址前缀不是本分片ID_self的交...

【专利技术属性】
技术研发人员:谢晗剑朱立岳利鹏
申请(专利权)人:杭州秘猿科技有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1