本发明专利技术公开了一种区块链的分组共识方法及系统,其中,方法包括:交易验证节点接收区块链网络中广播的交易,在验证交易合法后,对交易进行签名并发送到区块链网络中;由指定的交易打包节点接收签名后的交易,验证交易的签名是否为交易验证节点的签名,若是,将交易与签名关联存储;交易打包节点将交易池中满足预设标准的交易打包进区块;将区块加入交易打包节点自身的区块链副本中,并对区块进行签名,在区块链网络中广播签名后的区块;除交易打包节点外的其他节点在接收广播的签名后的区块后,将区块加入其他节点自身的区块链副本中。利用本方案,为节点进行分组,实现不同功能,从而实现权限控制。
【技术实现步骤摘要】
区块链的分组共识方法及系统
本专利技术涉及互联网软件领域,尤其涉及一种区块链的分组共识方法及系统。
技术介绍
区块链是一种新型去中心化分布式系统协议。信息不可伪造和篡改,无需任何中心化机构的审核。区块链技术解决了拜占庭将军问题,大大降低了现实社会的信任成本,重新定义互联网时代的信任机制。区块链本质上是一个去中心化,开放的数据库,同时作为比特币的底层技术。区块链是一串使用密码学方法相关联产生的数据块链,每一个区块中包含了一定数量的比特币网络交易信息。通过将需要信任背书的数据存入比特币交易账本中,实现可信的,去中心化的信用背书。在去中心化的情况下,区块链并不是一个中心机构创造的,而是由比特币网络中的所有节点各自竞争完成的。比特币网络依靠去中心化的自发共识机制来保证区块链受到各个节点的认可。比特币的去中心化共识包括以下部分:每个节点对每个交易进行独立验证;通过完成工作量证明算法的验算,挖矿节点将交易记录独立打包进新区块;每个节点独立对新区块进行校验并组装进区块链;每个节点对区块链进行独立选择,在工作量证明机制下选择累计工作量最大的区块链。目前的共识机制下,每个节点都可以对交易进行验证和打包,缺少了权限控制。
技术实现思路
本专利技术的专利技术目的是针对现有技术的缺陷,提供了一种区块链的分组共识方法及系统,用于解决现有技术中节点缺失权限控制等问题。根据本专利技术的一个方面,提供了一种区块链的分组共识方法,包括:交易验证节点接收区块链网络中广播的交易,在验证交易合法后,对交易进行签名并发送到区块链网络中;由指定的交易打包节点接收签名后的交易,验证交易的签名是否为交易验证节点的签名,若是,将交易与签名关联存储;交易打包节点将交易池中满足预设标准的交易打包进区块;将区块加入交易打包节点自身的区块链副本中,并对区块进行签名,在区块链网络中广播签名后的区块;除交易打包节点外的其他节点在接收广播的签名后的区块后,将区块加入其他节点自身的区块链副本中;其中,其他节点包括交易验证节点、未被指定的交易打包节点和常规节点。根据本专利技术的另一个方面,还提供了一种区块链的分组共识系统,包括:多个交易验证节点、多个交易打包节点以及多个常规节点;交易验证节点用于接收区块链网络中广播的交易,在验证交易合法后,对交易进行签名并发送到区块链网络中;交易打包节点用于接收签名后的交易,验证交易的签名是否为交易验证节点的签名,若是,将交易与签名关联存储;交易打包节点还用于将交易池中满足预设标准的交易打包进区块;将区块加入交易打包节点自身的区块链副本中,并对区块进行签名,在区块链网络中广播签名后的区块;常规节点用于在接收广播的签名后的区块后,将区块加入常规节点自身的区块链副本中;交易验证节点还用于在接收广播的签名后的区块后,将区块加入交易验证节点自身的区块链副本中;未被指定的交易打包节点还用于在接收广播的签名后的区块后,将区块加入未被指定的交易打包节点自身的区块链副本中。根据本专利技术提供的区块链的分组共识方法及系统,交易验证节点接收区块链网络中广播的交易,在验证交易合法后,对交易进行签名并发送到区块链网络中。由指定的交易打包节点接收签名后的交易,验证交易的签名是否为交易验证节点的签名,若是,将交易与签名关联存储。交易打包节点将交易池中满足预设标准的交易打包进区块,将区块加入交易打包节点自身的区块链副本中,并对区块进行签名,在区块链网络中广播签名后的区块。除交易打包节点外的其他节点在接收广播的签名后的区块后,将区块加入其他节点自身的区块链副本中。对区块链中各不同功能节点进行分类,处理不同的操作,实现对不同节点的权限控制。将操作委托给可信赖的节点如交易验证节点、交易打包节点,由于这些节点是受信任的节点,无需通过工作量证明对交易进行打包,减少了交易打包的时间,提高了区块形成速度。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了根据本专利技术一个实施例的区块链的分组共识方法的流程示意图;图2示出了根据本专利技术另一个实施例的区块链的分组共识方法的流程示意图;图3示出了根据本专利技术一个实施例的区块链的分组共识系统的功能结构示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。对区块链网络中存在的多个节点,进行分组。不同组的节点用于实现不同的功能,如交易验证节点用于对在区块链网络中广播的交易进行验证,将验证通过的交易加入自身的交易池并且再次广播到区块链;交易打包节点用于将验证通过的交易加入自身的交易池,将交易池中的交易打包进区块并在区块链网络中广播区块等。这些节点都是受信任的节点。除此之外,还有普通节点,用于广播交易。其中,可以通过如硬编码的方式对节点进行分组,每个节点都知道自己为哪种节点,也知道其他节点为哪种节点,以及节点的公钥,以便对节点的签名进行验证。所有的节点都可以广播交易,对广播的区块进行验证,将验证通过的区块加入自身的区块链副本。图1示出了根据本专利技术一个实施例的区块链的分组共识方法的流程示意图。如图1所示,本方法具体包括如下步骤:步骤S101,交易验证节点接收区块链网络中广播的交易,在验证交易合法后,对交易进行签名并发送到区块链网络中。通过如硬编码等方式设置区块链网络中的某些节点为交易验证节点。交易验证节点在接收到区块链网络中广播的交易后,对交易进行验证。验证时,交易验证节点通过对交易的格式、交易是否双重花费等多个方面验证交易是否为合法交易。交易的格式、交易是否双重花费等验证条件的设置可采用现有的交易验证条件,此处不做具体限定。交易验证节点通过多方面的验证条件验证交易为合法交易后,利用其本身的私钥对交易进行签名,将签名后的交易发送到区块链网络中。步骤S102,由指定的交易打包节点接收签名后的交易,验证所述交易的签名是否为所述交易验证节点的签名。通过如硬编码等方式设置区块链网络中的某些节点为交易打包节点。存在多个交易打包节点时,指定其中一个节点为本次的交易打包节点。由指定的交易打包节点接收签名后的交易,利用签名的交易验证节点的公钥对交易的签名进行验证,验证交易的签名是否为交易验证节点的签名。若是,执行步骤S103。步骤S103,若是,将交易与签名关联存储。在将交易与签名关联存储时,可选地,还可用在将交易与签名关联存储之前,判断交易是否已保存在交易池中。若交易未保存在交易池中,将交易保存在交易池中,并将交易的签名与交易关联存储;若交易已经保存在交易池中,进一步判断交易的签名是否与交易已关联存储的签名一致。若一致,不再再次保存。若不一致,将交易的签名与交易进行关联存储,即将交易当前与已关联存储的签名不一致的签名进行存储,存储时,将交易的签名与交易需关联存储。步骤S104,交易打包节点将交易池中满足预设标准的交易打包进区块。预设标准为拜占庭容错标准。拜占庭容错标准为交易池中保本文档来自技高网...
【技术保护点】
一种区块链的分组共识方法,其特征在于,包括:交易验证节点接收区块链网络中广播的交易,在验证所述交易合法后,对所述交易进行签名并发送到所述区块链网络中;由指定的交易打包节点接收签名后的交易,验证所述交易的签名是否为所述交易验证节点的签名,若是,将交易与签名关联存储;所述交易打包节点将交易池中满足预设标准的交易打包进区块;将所述区块加入所述交易打包节点自身的区块链副本中,并对区块进行签名,在区块链网络中广播签名后的区块;除所述交易打包节点外的其他节点在接收广播的签名后的区块后,将所述区块加入所述其他节点自身的区块链副本中;其中,所述其他节点包括交易验证节点、未被指定的交易打包节点和常规节点。
【技术特征摘要】
1.一种区块链的分组共识方法,其特征在于,包括:交易验证节点接收区块链网络中广播的交易,在验证所述交易合法后,对所述交易进行签名并发送到所述区块链网络中;由指定的交易打包节点接收签名后的交易,验证所述交易的签名是否为所述交易验证节点的签名,若是,将交易与签名关联存储;所述交易打包节点将交易池中满足预设标准的交易打包进区块;将所述区块加入所述交易打包节点自身的区块链副本中,并对区块进行签名,在区块链网络中广播签名后的区块;除所述交易打包节点外的其他节点在接收广播的签名后的区块后,将所述区块加入所述其他节点自身的区块链副本中;其中,所述其他节点包括交易验证节点、未被指定的交易打包节点和常规节点。2.根据权利要求1所述的方法,其特征在于,所述交易验证节点接收区块链网络中广播的交易,在验证所述交易合法后,对所述交易进行签名并发送到所述区块链网络中进一步包括:交易验证节点通过对交易的格式和/或验证交易是否双重花费验证所述交易是否为合法交易。3.根据权利要求1所述的方法,其特征在于,在交易验证节点接收区块链网络中广播的交易,在验证所述交易合法后,对所述交易进行签名并发送到所述区块链网络中之前,所述方法还包括:若所述交易为其他交易验证节点签名后的交易,交易验证节点对所述交易进行签名并发送到所述区块链网络中。4.根据权利要求3所述的方法,其特征在于,所述若所述交易为其他交易验证节点签名后的交易,对所述交易进行签名并发送到所述区块链网络中进一步包括:交易验证节点将其他交易验证节点的签名替换为该交易验证节点的签名并发送到所述区块链网络中。5.根据权利要求1所述的方法,其特征在于,在所述由指定的交易打包节点接收签名后的交易,判断所述交易是否已保存在交易池中之前,所述方法还包括:在多个交易打包节点中利用预设选举算法选举出一个交易打包节点作为指定的交易打包节点。6.根据权利要求1所述的方法,其特征在于,所述由指定的交易打包节点接收签名后的交易,验证所述交易的签名是否为所述交易验...
【专利技术属性】
技术研发人员:汪德嘉,郭宇,王少凡,
申请(专利权)人:江苏通付盾科技有限公司,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。