一种区块链的多账户协同打块的方法及系统技术方案

技术编号:23051846 阅读:26 留言:0更新日期:2020-01-07 15:02
本发明专利技术公开了一种区块链的多账户协同打块的方法及其系统,本发明专利技术通过确定区块链网络中的牵头账户和协同账户,通过账户协同器协调牵头账户和协同账户的分工合作,能实现多个账户同时对一组交易进行处理,这样既能让区块链的性能无边界的扩展,又能防止区块链的参与及控制能力被少部分节点控制问题,提高了出块速度,突破单机计算能力的极限,提高了区块链的性能。

A method and system of multi account cooperative blocking in blockchain

【技术实现步骤摘要】
一种区块链的多账户协同打块的方法及系统
本专利技术属于区块链领域,尤其涉及一种区块链的多账户协同打块的方法及系统。
技术介绍
随着比特币的出现,区块链技术被越来越多的认识,区块链中的挖矿尤其受到很多技术迷的青睐,现有的区块链网络中,性能一直是区块链的瓶颈,如何不断的提高区块链的性能一直是业界不断钻研的主要课题。目前在世面上已经出现一些提升性能的解决方案,但总体思路大概是全面提升计算机的处理性能,充分压榨计算机的每一滴性能,这样虽然能直接提升系统的性能,但是却有着性能极限的瓶颈,因为计算机的单机计算能力是无法无限提升的。如果通过某些区块链集群的方式解决区块链的性能问题会使得这些集群逻辑上作为一个点共同处理交易,那就出现一个问题,就是这样的集群十分庞大,并不是随便一个人都能参与,如果不是随便一个人都能参与,那么将导致最终的区块链参与者向头部集中,有违区块链去中心设计的初衷。那么如何解决既能让区块链性能突破单机计算能力的极限,又能防止参与能力往头部集中,成为一个急需解决的问题。
技术实现思路
本专利技术所要解决的技术问题在于提供一种突破单机计算能力的极限、出块速度快、能实现多个账户协同打块,提高打块效率,提高区块链的性能的一种区块链的多账户协同打块的方法及系统。为解决上述技术问题,本专利技术的技术解决方案是:一种区块链的多账户协同打块的方法,包括如下步骤:S1启动区块链节点,在区块链网络中搜索区块链协同打块牵头账户列表;S2选择一个准备加入牵头账户列表的牵头账户;S3判断区块链网络中是否有能加入的牵头账户列表,若有,则牵头账户直接加入该牵头账户列表,若没有,则牵头账户自己创建牵头账户列表,并加入自己创建牵头账户列表;S4牵头账户填写牵头发起信息,并将牵头发起信息转为区块链交易,区块链网络将该笔交易打入区块;S5其它账户选择作为协同账户加入本次工作,并将申请加入的信息转为区块链交易;S6区块链检查其他账户是否满足加入条件,若满足则将交易打入区块,若不满足则舍弃该笔交易,返回步骤S5;;S7区块链在启动轮次开始时,选取牵头账户,被选中的牵头账户进入观察者协调模式,未被选中的牵头账户切换为等候接收交易指令的模式;S8等待时钟进入本区块的打块时间,牵头账户开始处理并行交易;S9牵头账户完成交易的并行处理后,将处理信息打入区块并广播到区块链网络中;S10牵头账户为协同账户计算并分配奖励。进一步的,所述的步骤S8牵头账户处理并行交易的方法是:S81牵头账户中的牵头节点从交易池中获取交易,接收交易信息;S82牵头节点按交易相关性进行分组,并将分组中有交易顺序处理需要的交易进行上锁后将每组交易发送给参与协同打块的协同节点;S83协同节点接收完交易后,牵头节点将有相关性的交易的解锁指令发给对应的协同节点;S84处理无相关性交易的协同节点,不用等待解锁指令直接处理交易,处理有相关性交易的协同节点接收到解锁指令后开始处理该类交易;S85各协同节点将自己计算完成后的结果发送回牵头节点;S86牵头节点保存结果,并记录各协同节点贡献;S87依次循环S21-S26,直到交易全部处理完毕,或当协同节点交易处理过程中遇到时钟指令本周期结束时,立即停止交易;S88牵头节点将所有已处理的交易汇总打入区块,并向网络广播区块,完成本地区快的并行处理,等待下一次交易的处理。进一步的,所述步骤S10牵头账户计算并分配奖励的方法是:S101牵头账户中的牵头节点计算本次打块处理的交易量;S102牵头节点计算每个参与的协同账户处理交易的数量;S103牵头节点计算各协同账户处理交易的数量与本区块交易总量的比例;S104牵头节点创建从自己收奖账户转移奖励到各协同账户的交易;S105牵头节点在下一个区块时将分配奖励的交易打入区块,完成分配奖励的计算与分配。进一步的,所述的S4中的牵头发起信息包括协同标志、奖励分配规则、开启启动轮次、是否接受非委托账户等信息。进一步的,所述的S7中的选取牵头账户的方式是统计本组参与协同工作中权益与交易量最大的账户,将该账户作为牵头账户。一种区块链的多账户协同打块系统,包括:账户协同器:所述的账户协同器与区块链网络相连,用于管理参与集中处理交易的账户,选取牵头账户和协同账户,确定牵头账户和协同账户的分工;节点协同器:所述的节点协同器与区块链网络连接,用于管理参与集中处理交易的节点,确定牵头节点和协同节点分工合作;贡献管理器:所述的贡献管理器与节点协同器和区块链网络连接,用于管理参与集中处理交易的各节点的贡献情况,确定协同节点的贡献值;交易管理器:所述的交易管理器与区块链网络和节点协同器连接,用于给节点协同器确定协同节点,分配交易,并接受协同节点的处理结果;区块锻造器:与账户协同器,节点协同器,贡献管理器,区块链网络相连,将处理的交易打入区块,并向区块链网络广播;所述的账户协同器,节点协同器,贡献管理器,交易管理器,区块锻造器顺序连接。进一步的,所述的账户协同器包括账户管理模块,参与排队模块和牵头共识模块,所述的账户管理模块用于管理参与协同的账户,记录参与协同的轮次以及历史情况;所述的参与排队模块用于管理牵头账户,为能参与的协同节点进行排队;所述的牵头共识模块用于各自投票推选出本次协同工作中的牵头节点。进一步的,所述的节点协同器包括时钟同步模块,交易锁定模块和交易分配模块;所述的时钟同步模块用于将各协同节点的工作节奏同步,保持交易处理步调的一致;所述的交易锁定模块用于保证相关性交易的秩序一致性,避免多节点共同处理同一账务出现的账务错乱问题;所述的交易分配模块用于为各节点分配需要处理的交易,保证交易在并发处理的同时高效有序。进一步的,所述的贡献管理器包括贡献计算模块和贡献分配模块;所述的贡献计算模块记录各参与节点历史处理的交易情况,并根据交易的处理量以及本轮交易总量计算出各节点的贡献值;所述的贡献分配模块由牵头节点将获取到的交易贡献奖励按各节点的贡献值发送奖励。进一步的,所述的账户协同器选取牵头账户的方式是统计本组参与协同工作中权益与交易量最大的账户,将该账户作为牵头账户。本专利技术的有益效果是:本专利技术通过确定区块链网络中的牵头账户和协同账户,通过账户协同器协调牵头账户和协同账户的分工合作,能实现多个账户同时对一组交易进行处理,这样既能让区块链的性能无边界的扩展,又能防止区块链的参与及控制能力被少部分节点控制问题,提高了出块速度,突破单机计算能力的极限,提高了区块链的性能。附图说明图1是本专利技术对应方法的流程图;图2是本专利技术对应系统的结构框图;图3是本专利技术对应系统账户协同器结构框图;图4是本专利技术对应系统节点协同器结构框图;图5是本专利技术对应系统贡献管理器结构框图;图:100-账户协同器;200本文档来自技高网...

【技术保护点】
1.一种区块链的多账户协同打块的方法,包括如下步骤:/nS1启动区块链节点,在区块链网络中搜索区块链协同打块牵头账户列表;/nS2选择一个准备加入牵头账户列表的牵头账户;/nS3判断区块链网络中是否有能加入的牵头账户列表,若有,则牵头账户直接加入该牵头账户列表,若没有,则牵头账户自己创建牵头账户列表,并加入自己创建牵头账户列表;/nS4牵头账户填写牵头发起信息,并将牵头发起信息转为区块链交易,区块链网络将该笔交易打入区块;/nS5其它账户选择作为协同账户加入本次工作,并将申请加入的信息转为区块链交易;/nS6区块链检查其他账户是否满足加入条件,若满足则将交易打入区块,若不满足则舍弃该笔交易,返回步骤S5;/nS7区块链在启动轮次开始时,选取牵头账户,被选中的牵头账户进入观察者协调模式,未被选中的牵头账户切换为等候接收交易指令的模式;/nS8等待时钟进入本区块的打块时间,牵头账户开始处理并行交易;/nS9牵头账户完成交易的并行处理后,将处理信息打入区块并广播到区块链网络中;/nS10牵头账户为协同账户计算并分配奖励。/n

【技术特征摘要】
1.一种区块链的多账户协同打块的方法,包括如下步骤:
S1启动区块链节点,在区块链网络中搜索区块链协同打块牵头账户列表;
S2选择一个准备加入牵头账户列表的牵头账户;
S3判断区块链网络中是否有能加入的牵头账户列表,若有,则牵头账户直接加入该牵头账户列表,若没有,则牵头账户自己创建牵头账户列表,并加入自己创建牵头账户列表;
S4牵头账户填写牵头发起信息,并将牵头发起信息转为区块链交易,区块链网络将该笔交易打入区块;
S5其它账户选择作为协同账户加入本次工作,并将申请加入的信息转为区块链交易;
S6区块链检查其他账户是否满足加入条件,若满足则将交易打入区块,若不满足则舍弃该笔交易,返回步骤S5;
S7区块链在启动轮次开始时,选取牵头账户,被选中的牵头账户进入观察者协调模式,未被选中的牵头账户切换为等候接收交易指令的模式;
S8等待时钟进入本区块的打块时间,牵头账户开始处理并行交易;
S9牵头账户完成交易的并行处理后,将处理信息打入区块并广播到区块链网络中;
S10牵头账户为协同账户计算并分配奖励。


2.根据权利要求1所述的一种区块链的多账户协同打块的方法,其特征在于,所述的步骤S8牵头账户处理并行交易的方法是:
S81牵头账户中的牵头节点从交易池中获取交易,接收交易信息;
S82牵头节点按交易相关性进行分组,并将分组中有交易顺序处理需要的交易进行上锁后将每组交易发送给参与协同打块的协同节点;
S83协同节点接收完交易后,牵头节点将有相关性的交易的解锁指令发给对应的协同节点;
S84处理无相关性交易的协同节点,不用等待解锁指令直接处理交易,处理有相关性交易的协同节点接收到解锁指令后开始处理该类交易;
S85各协同节点将自己计算完成后的结果发送回牵头节点;
S86牵头节点保存结果,并记录各协同节点贡献;
S87依次循环S21-S26,直到交易全部处理完毕,或当协同节点交易处理过程中遇到时钟指令本周期结束时,立即停止交易,结束打块;
S88牵头节点将所有已处理的交易汇总打入区块,并向网络广播区块,完成本地区快的并行处理,等待下一次交易的处理。


3.根据权利要求1所述的一种区块链的多账户协同打块的方法,其特征在于,所述步骤S10牵头账户计算并分配奖励的方法是:
S101牵头账户中的牵头节点计算本次打块处理的交易量;
S102牵头节点计算每个参与的协同账户处理交易的数量;
S103牵头节点计算各协同账户处理交易的数量与本区块交易总量的比例;
S104牵头节点创建从自己收奖账户转移奖励到各协同账户的交易;
S105牵头节点在下一个区块时将分配奖励的交易打入区块,完成分配奖励的计算与分配。


4.根...

【专利技术属性】
技术研发人员:杨税令
申请(专利权)人:厦门本能管家科技有限公司
类型:发明
国别省市:福建;35

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

1