一种联盟链共识方法及系统技术方案

技术编号:15695096 阅读:55 留言:0更新日期:2017-06-24 10:28
本发明专利技术公开了一种联盟链共识系统,包括:共识节点管理合约模块,根据管理员发送的共识节点修改操作更新共识节点白名单;共识规则智能合约模块,获取更新后的共识节点白名单中各共识节点对应的hash值,按照预定排序规则对hash值进行排序得到记账次序,根据记账次序确定当前区块记账节点;其hash值为将共识节点的公钥地址利用hash算法进行计算得到数值;共识确认模块,在当前区块记账节点提交区块数据后对区块数据进行共识确认;该系统对共识节点的数量和记账次序进行共识,可以在共识节点变化时动态调整记账次序;本发明专利技术还公开了一种联盟链共识方法,具有上述有益效果。

Alliance chain consensus method and system

The invention discloses a chain alliance consensus system, including: node management module according to the contract agreement, the administrator sends consensus node operations update consensus node white list; consensus rule intelligent contract module, each node to obtain the corresponding consensus consensus white list updated in node hash values are sorted according to a predetermined collation in order to account for the hash value, according to the accounting order to determine the current block entry node; the hash value is the key node address consensus using hash algorithm for calculating; consensus confirmation module, when the former block of data entry node submit block data block of the system to the consensus consensus recognition; the number of nodes and accounting order by consensus, can change the dynamic adjustment of entry node consensus sequence; the invention also discloses a chain alliance consensus The method has the above beneficial effects.

【技术实现步骤摘要】
一种联盟链共识方法及系统
本专利技术涉及数据处理
,特别涉及一种联盟链共识方法及系统。
技术介绍
一般来说,当网络中多个主机通过异步通讯方式组成网络集群进行协作时,这种异步网络默认是不可靠的,那么在这些不可靠主机之间复制状态需要采取一种机制,以保证每个主机的状态最终达成相同一致性状态,取得共识。具体到区块链网络上,共识问题又引入了新的不确定因素,即恶意节点的问题。恶意节点可能故意发送错误数据、虚假数据(统称为伪数据)甚至联合多个恶意节点发送相同的伪数据。一旦恶意节点超过总节点的某个阈值(例如50%),系统可能就会达成错误的共识,从而导致重大错误。公有区块链一般采取POW共识算法,即工作量证明方案。该共识方案基本思路是每个需要共识的数据块(即区块)的共识达成需要附带一个工作量证明,该工作量证明通常是计算一个密码学上比较困难的问题,但是检验该答案的正确性却很简单。例如公有区块链节点上某节点A如果想对某个数据块b进行共识申请,它需要对b进行一系列密码学计算,最终得到一个结果h,它把(b,h)发送到区块链上。其他节点可能同时也会提交自己的(b,h)’,收到这些数据的节点只会认可计算难度最高的b,这样就达成了POW共识。POW共识产生了大量的计算浪费,每年消耗在比特币POW上的电费高达数千万美元。公有链采用POW的原因主要是参与节点进出没有监管,对于联盟链则不需要采用POW共识算法。联盟链中可以采用轮流记账方案,即参与节点是N个,规定好从第一个节点开始以某个确定的预定次序依次提交区块数据,只要轮到的节点出的区块,其他节点在检验区块中数据的真实性后都进行共识确认。但这样的问题在于参与节点N的个数可能随时发生变化,并且每个节点的在线时间是不稳定的,如何在节点变化时动态调整记账次序是一个难题。
技术实现思路
本专利技术的目的是提供一种联盟链共识系统及方法,能够对共识节点的数量和记账次序进行共识,可以在共识节点变化时动态调整记账次序。为解决上述技术问题,本专利技术提供一种联盟链共识系统,包括:共识节点管理合约模块,用于根据管理员发送的共识节点修改操作更新共识节点白名单;共识规则智能合约模块,用于获取更新后的共识节点白名单中各共识节点对应的hash值,按照预定排序规则对所述hash值进行排序得到记账次序,根据所述记账次序确定当前区块记账节点;其中,hash值为将共识节点的公钥地址利用hash算法进行计算得到数值;共识确认模块,用于在所述当前区块记账节点提交区块数据后对所述区块数据进行共识确认。可选的,所述共识规则智能合约模块,包括:当前区块记账节点确定单元,用于当前一个区块记账节点完成记账后,将所述前一个区块记账节点的记账次序加1确定当前区块记账节点;判断单元,用于利用超时规则判断所述当前区块记账节点是否在预定时间内开始记账,若未开始,则将所述当前区块记账节点的记账次序加1确定新的当前区块记账节点。可选的,所述共识规则智能合约模块,还包括:共识规则修改单元,用于修改共识规则智能合约中的规则,并在达成共识后同步到联盟链中各个参与方;其中,所述规则包括所述超时规则和所述预定排序规则。可选的,本方案还包括:初始化模块,用于确定初始管理员和预定数量的共识节点。可选的,所述共识节点管理合约模块,还包括:管理员白名单维护单元,用于根据所述初始管理员发送的管理员修改操作更新管理员白名单。可选的,本方案还包括:同步节点白名单生成模块,用于生成并发布的具有网络连接及数据同步权限的同步节点白名单。可选的,本方案还包括:节点白名单配置模块,用于根据管理员对所述同步节点白名单以及所述共识节点白名单的选择操作,确定节点白名单配置文件;其中,所述节点白名单配置文件用于记录允许连接的网络通信、数据同步以及联盟链记账的节点。可选的,所述共识确认模块具体为在所述当前区块记账节点提交区块数据后,根据更新后的共识节点白名单,利用动态PBFT共识算法对所述区块数据进行共识确认。本专利技术还提供一种联盟链共识方法,包括:根据管理员发送的共识节点修改操作更新共识节点白名单;获取更新后的共识节点白名单中各共识节点对应的hash值;其中,hash值为将共识节点的公钥地址利用hash算法进行计算得到数值;按照预定排序规则对所述hash值进行排序得到记账次序;根据所述记账次序确定当前区块记账节点;在所述当前区块记账节点提交区块数据后对所述区块数据进行共识确认。可选的,在所述当前区块记账节点提交区块数据后对所述区块数据进行共识确认,包括:在所述当前区块记账节点提交区块数据后,根据更新后的共识节点白名单,利用动态PBFT共识算法对所述区块数据进行共识确认。本专利技术所提供的一种联盟链共识系统,包括:共识节点管理合约模块,根据管理员发送的共识节点修改操作更新共识节点白名单;共识规则智能合约模块,获取更新后的共识节点白名单中各共识节点对应的hash值,按照预定排序规则对hash值进行排序得到记账次序,根据记账次序确定当前区块记账节点;其中,hash值为将共识节点的公钥地址利用hash算法进行计算得到数值;共识确认模块,在当前区块记账节点提交区块数据后对区块数据进行共识确认。可见,该系统对共识节点的数量和记账次序进行共识,可以在共识节点变化时动态调整记账次序,实现了系统的高灵活性和高可靠性;本专利技术还提供了一种联盟链共识方法,具有上述有益效果,在此不再赘述。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本专利技术实施例所提供的联盟链共识系统的结构框图;图2为本专利技术实施例所提供的联盟链共识方法的流程图。具体实施方式本专利技术的核心是提供一种联盟链共识系统及方法,能够对共识节点的数量和记账次序进行共识,可以在共识节点变化时动态调整记账次序。为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。下面对本实施例中出现的名词进行说明:区块链:分布式统一账本,由所有参与方共同决定记账内容,每个参与方都保存有全量数据,任何个体无法对数据进行篡改。共识:区块链专有名词。区块链上不存在单一的记账中心,账本是由全网共同记录的,这就出现一个问题,即如何确定一个交易是否合法。确定某交易是否合法以及某节点推荐的一个打包区块是否被大家认可的过程叫做共识。只有通过共识的区块才会被全网认可。联盟链:与公有链相对,是区块链的一种。特点是具有准入制度,只有获得批准的参与方才能加入。对应的,联盟链中会有监管方和普通参与方两种角色。区块链交易:或简称交易,特指参与方发出的一段信息并使用自己的私钥对其进行数字签名后发送到区块链上的内容。通常交易包括支付交易,或者智能合约创建、调用交易。智能合约:区块链上的一段程序代码,规定了合约相关人的权利与义务以及动作条款。合约相关人通过本文档来自技高网
...
一种联盟链共识方法及系统

【技术保护点】
一种联盟链共识系统,其特征在于,包括:共识节点管理合约模块,用于根据管理员发送的共识节点修改操作更新共识节点白名单;共识规则智能合约模块,用于获取更新后的共识节点白名单中各共识节点对应的hash值,按照预定排序规则对所述hash值进行排序得到记账次序,根据所述记账次序确定当前区块记账节点;其中,hash值为将共识节点的公钥地址利用hash算法进行计算得到数值;共识确认模块,用于在所述当前区块记账节点提交区块数据后对所述区块数据进行共识确认。

【技术特征摘要】
1.一种联盟链共识系统,其特征在于,包括:共识节点管理合约模块,用于根据管理员发送的共识节点修改操作更新共识节点白名单;共识规则智能合约模块,用于获取更新后的共识节点白名单中各共识节点对应的hash值,按照预定排序规则对所述hash值进行排序得到记账次序,根据所述记账次序确定当前区块记账节点;其中,hash值为将共识节点的公钥地址利用hash算法进行计算得到数值;共识确认模块,用于在所述当前区块记账节点提交区块数据后对所述区块数据进行共识确认。2.根据权利要求1所述的联盟链共识系统,其特征在于,所述共识规则智能合约模块,包括:当前区块记账节点确定单元,用于当前一个区块记账节点完成记账后,将所述前一个区块记账节点的记账次序加1确定当前区块记账节点;判断单元,用于利用超时规则判断所述当前区块记账节点是否在预定时间内开始记账,若未开始,则将所述当前区块记账节点的记账次序加1确定新的当前区块记账节点。3.根据权利要求2所述的联盟链共识系统,其特征在于,所述共识规则智能合约模块,还包括:共识规则修改单元,用于修改共识规则智能合约中的规则,并在达成共识后同步到联盟链中各个参与方;其中,所述规则包括所述超时规则和所述预定排序规则。4.根据权利要求1所述的联盟链共识系统,其特征在于,还包括:初始化模块,用于确定初始管理员和预定数量的共识节点。5.根据权利要求4所述的联盟链共识系统,其特征在于,所述共识节点管理合约模块,还包括:管理员白名单维护单元,用于根据所述初...

【专利技术属性】
技术研发人员:张一锋
申请(专利权)人:中钞信用卡产业发展有限公司北京智能卡技术研究院
类型:发明
国别省市:北京,11

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

1