CN110223069A - 基于区块链节点网络的打包方法及装置 - Google Patents
基于区块链节点网络的打包方法及装置 Download PDFInfo
- Publication number
- CN110223069A CN110223069A CN201910519297.5A CN201910519297A CN110223069A CN 110223069 A CN110223069 A CN 110223069A CN 201910519297 A CN201910519297 A CN 201910519297A CN 110223069 A CN110223069 A CN 110223069A
- Authority
- CN
- China
- Prior art keywords
- block
- node
- cryptographic hash
- block node
- sub
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3825—Use of electronic signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3827—Use of message hashing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例涉及一种基于区块链节点网络的打包方法及装置。包括:如果待打包的第一区块大于第一阈值,将所述第一区块分为第一子区块和至少一个第二子区块;根据所述第一区块进行第一哈希运算得到第一哈希值;通过对所述第一哈希值进行签名得到第一数字签名;对所述第一数字签名进行第二哈希运算,得到第二哈希值;根据所述第二哈希值以及预设的随机规则,在所述多个出块节点中选择至少一个第二出块节点,分别作为所述至少一个第二子区块的出块节点。以此,出块节点可以指定下一出块节点,该指定过程具有一定的随机性和可验证性,可以降低区块链被攻击成功的可能,并且提高了区块链节点网络的出块效率,进而提高了记账效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于区块链节点网络的打包方法及装置。
背景技术
区块链网络中的每一个节点,就相当于存储所有区块数据的每一台电脑或者服务器终端。所有新区块的生产,以及交易的验证与记帐,并将其广播给全网同步,都由节点来完成。
节点,就是我们俗称的矿工。每个矿工的不同算力,决定了它能分配到多少记帐权,收获多少奖励。
区块链第一代共识机制叫POW,就是工作量证明共识机制,俗称挖矿。要想生产新的区块,就必须进行成千上万次哈希碰撞的运算。而这些运算,会消耗很多电力,造成能源浪费,因此也倍受垢病。更让大家担心的是,一旦大部分算力被垄断,去中心化就受到威胁。
第二代共识机制叫POS,就是权益证明共识机制,它是根据持币数量与时间来决定谁拥有更多的记帐权。这种共识机制的优点是可以避免能源消耗,但缺点是话语权都被持币大户所掌控,形成中央集权的特征,也与区块链去中心化的初衷背道而驰。
第三代共识机制就是DPOS,其最大的特征,就是在POS权益证明的基础之上,加入了选举制度。经过所有持币用户投票选举诞生的最终获得记帐权的超级节点进行记账,可以极大地降低了能源的浪费,但是,由于运算都集中的超级节点上,对超级节点的算力要求较高,且超级节点的效率直接影响记账的效率,这就导致,该种方式应对大规模数据的能力不强,发展受到制约。
发明内容
基于上述问题,本发明实施例提供了一种基于区块链节点网络的打包方法及装置。
第一方面,提供了一种基于区块链节点网络的打包方法,所述区块链节点网络包括多个出块节点,所述方法适用于第一出块节点,所述第一出块节点为所述多个出块节点中的任意一个,所述方法包括:
如果待打包的第一区块大于第一阈值,将所述第一区块分为第一子区块和至少一个第二子区块,其中,所述第一出块节点作为第一子区块的出块节点;
根据所述第一区块进行第一哈希运算得到第一哈希值;
通过对所述第一哈希值进行签名得到第一数字签名;
对所述第一数字签名进行第二哈希运算,得到第二哈希值;
根据所述第二哈希值以及预设的随机规则,在所述多个出块节点中选择至少一个第二出块节点,分别作为所述至少一个第二子区块的出块节点。
在一些实施例中,所述第一哈希运算与所述第二哈希运算为相同或不同的哈希运算。
在一些实施例中,所述对所述第一数字签名进行第二哈希运算,得到第二哈希值,包括:
将所述第一数字签名和第一数值进行第二哈希运算得到第二哈希值,所述第一数值为1-n或者所述第一出块节点的序列号,所述n为任意值。
在一些实施例中,所述预设的随机规则包括:
将所述第二哈希值转换为10进制,并取第二数值的余数,所述第二数值根据所述多个验证节点的数量确定;
确定所述余数对应的验证节点为所述第二出块节点。
在一些实施例中,所述根据所述第二哈希值以及预设的随机规则,在所述多个出块节点中选择至少一个第二出块节点,分别作为所述至少一个第二子区块的出块节点,包括:
根据所述第二哈希值以及预设的随机规则,在所述多个出块节点中选择至少一个第二出块节点;
根据所述至少一个第二出块节点的序号的大小关系确定先后关系,按照所述先后关系分别作为所述至少一个第二子区块的出块节点。
在一些实施例中,还包括:
向所述多个出块节点发送所述第一数字签名。
在一些实施例中,还包括:
接收第三出块节点发送的第二数字签名,所述第二数字签名针对第二区块,所述第二区块分为第三子区块和至少一个第四子区块;
对所述第二数字签名进行第二哈希运算,得到第三哈希值;
根据所述第三哈希值以及预设的随机规则,判断所述第一出块节点是否为所述至少一个第四子区块的出块节点;
如果是,对所述至少一个第四子区块中的一个进行打包。
在一些实施例中,所述根据所述第三哈希值以及预设的随机规则,判断所述第一出块节点是否为所述至少一个第四子区块的出块节点包括:
根据所述第三哈希值以及预设的随机规则,确定所述至少一个第四子区块的出块节点的序号;
判断至少一个第四子区块的出块节点的序号是否为所述第一出块节点的序号。
在一些实施例中,还包括:
使用第三出块节点的公钥对所述第二数字签名进行验证,得到第四哈希值;
对所述第二区块进行第一哈希运算得到第五哈希值;
如果所述第四哈希值和所述第五哈希值相同,则对所述第二数字签名进行第二哈希运算,得到第三哈希值。
第二方面,提供了一种基于区块链节点网络的打包装置。所述区块链节点网络包括多个出块节点,所述方法适用于第一出块节点,所述第一出块节点为所述多个出块节点中的任意一个,所述装置包括:
分块单元,如果待打包的第一区块大于第一阈值,用于将所述第一区块分为第一子区块和至少一个第二子区块,其中,所述第一出块节点作为第一子区块的出块节点;
哈希单元,用于根据所述第一区块进行第一哈希运算得到第一哈希值;
签名单元,用于通过对所述第一哈希值进行签名得到第一数字签名;
所述哈希单元还用于,对所述第一数字签名进行第二哈希运算,得到第二哈希值;
选择单元,用于根据所述第二哈希值以及预设的随机规则,在所述多个出块节点中选择至少一个第二出块节点,分别作为所述至少一个第二子区块的出块节点。
在一些实施例中,所述第一哈希运算与所述第二哈希运算为相同或不同的哈希运算。
在一些实施例中,哈希单元具体用于:
将所述第一数字签名和第一数值进行第二哈希运算得到第二哈希值,所述第一数值为1-n或者所述第一出块节点的序列号,所述n为任意值。
在一些实施例中,所述预设的随机规则包括:
将所述第二哈希值转换为10进制,并取第二数值的余数,所述第二数值根据所述多个验证节点的数量确定;
确定所述余数对应的验证节点为所述第二出块节点。
在一些实施例中,选择单元具体用于:
根据所述第二哈希值以及预设的随机规则,在所述多个出块节点中选择至少一个第二出块节点;
根据所述至少一个第二出块节点的序号的大小关系确定先后关系,按照所述先后关系分别作为所述至少一个第二子区块的出块节点。
在一些实施例中,还包括:
发送单元,用于向所述多个出块节点发送所述第一数字签名。
在一些实施例中,还包括:
接收单元,用于接收第三出块节点发送的第二数字签名,所述第二数字签名针对第二区块,所述第二区块分为第三子区块和至少一个第四子区块;
哈希单元,用于对所述第二数字签名进行第二哈希运算,得到第三哈希值;
判断单元,用于根据所述第三哈希值以及预设的随机规则,判断所述第一出块节点是否为所述至少一个第四子区块的出块节点;
打包单元,如果是,用于对所述至少一个第四子区块中的一个进行打包。
在一些实施例中,判单元具体用于:
根据所述第三哈希值以及预设的随机规则,确定所述至少一个第四子区块的出块节点的序号;
判断所述第四区块的出块节点的序号是否为所述第一出块节点的序号。
在一些实施例中,还包括:
验证单元,用于使用第三出块节点的公钥对所述第二数字签名进行验证,得到第四哈希值;
哈希单元,用于对所述第二区块进行第一哈希运算得到第五哈希值;
判断单元,用于如果所述第四哈希值和所述第五哈希值相同,则对所述第二数字签名进行第二哈希运算,得到第三哈希值第三方面,本说明书实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现前述第一方面或第二方面中任意一方面或多方面的方法步骤。
第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述第一方面或第二方面中任意一方面或多方面所述的方法。
第五方面,提供了一种包含指令的计算机程序产品,当所述指令在计算机上运行时,使得计算机执行上述第一方面或第二方面中任意一方面或多方面所述的方法。
通过本发明实施例,出块节点可以指定下一出块节点,该指定过程具有一定的随机性和可验证性,可以降低区块链被攻击成功的可能,并且提高了区块链节点网络的出块效率,进而提高了记账效率,使得区块链节点网络可以应该数据规模更大的服务场景。
附图说明
图1应用本申请提供的实施例的示例性架构;
图2为本发明实施例提供的一种基于区块链节点网络的打包方法的流程图;
图3为本发明实施例提供的一种基于区块链的发布信息的装置的结构示意图;
图4示出了本说明书实施例所提供的一种计算机设备结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种基于区块链节点网络的打包方法及装置。图1示出了应用本申请提供的实施例的示例性架构。
如图1所示,该示例性架构可以包括多个区块链节点,该多个区块链节点可以包括多个出块节点101和多个验证节点102。在一个示例中,该出块节点可以为通过选举机制选择的多个超级节点,该超级节点的数量可以根据实际需要确定,该超级节点的数量可以为奇数个,例如21个。在另一个示例中,该多个验证节点可以为备选节点,其中,该超级节点可以为从备选节点中选取,该备选节点的数量也可以根据实际需要确定,例如,可以为100个,其中,备选节点可以根据预设的随机规则进行选择,例如,算力最高的指定数量个节点可以作为备选节点。在另一个示例中,验证节点还可以为除出块节点以外的全部或部分节点。其中,区块链节点可以以软件形式实现,也可以以硬件形式实现。当实现为硬件时,其可以是笔记本电脑,台式电脑以及移动终端等等。
出块节点主要用于基于共识机制,将***中指定时间段内的数据生产区块,也就是主要用于记账。验证节点主要用于基于共识机制,对出块节点产生的区块进行验证,通过验证的区块会被记录在区块链中。节点之间可以进行通信以便同步区块链等数据。例如,节点之间可以基于D2D协议进行通信。
为便于对本发明实施例的理解,下面将结合附图以具体实施例作进一步的解释说明,实施例并不构成对本发明实施例的限定。
图2为本发明提供的一种基于区块链节点网络的打包方法的流程图。该区块链节点网络包括多个出块节点,例如图1所示的示例性架构中的区块链节点网络,该方法适用于第一出块节点,该第一出块节点为多个出块节点中的任意一个。如图2所示,该方法具体包括:
S210,如果待打包的第一区块大于第一阈值,将所述第一区块分为第一子区块和至少一个第二子区块,其中,所述第一出块节点作为第一子区块的出块节点。
其中,区块链节点网络中的各个节点基于共识机制运行。该共识机制被预先定义,该共识机制可以包括出块共识机制、验证共识机制等等。
区块链节点网络中的出块节点可以根据出块共识机制确定第一出块节点,该第一出块节点可以将***中指定时间段内的数据生成区块。该指定时间段可以根据实际需要确定,例如可以为1秒、10秒、3分钟或10分钟等等。该***可以为该区块链节点网络对应的整个区块链***。其中,区块链是有多个区块构成的,每个区块可以携带有上一个区块的标识已形成链式的存储结构。
第一出块节点在确定第一区块后,如果确定第一区块大于第一阈值,则确定该第一区块过大,会影响出块效率,则可以将该第一区块划分为多个子区块,由不同的出块节点对该子区块进行打包,以提升打包效率。
其中,第一阈值可以根据实际需要确定。
对于子区块的划分规则,可以根据实际需要确定,例如,可以确定区块的数据小于第一阈值的最大时间间隔,则根据该最大时间间隔划分子区块。例如,最大时间间隔可以为1分钟,一个区块为3分钟,那么,可以分为三个1分钟的子区块。
S220,根据所述第一区块进行第一哈希运算得到第一哈希值。
当前区块链节点在生成区块需要确定下一个需要生成区块的节点,该当前区块链节点可以称为第一出块节点,该下一个需要生成区块的节点可以称为第二出块节点,该当前区块链节点生成的区块可以称为第一区块,该下一个需要生成区块的节点生成的区块可以称为第二区块。
为了增加节点的出块节点选择的效率、降低***的负担,在选择下一个出块节点时,,可以对第一区块进行第一哈希运算,得到第一哈希值。其中,验证共识机制可以包括预定义的第一哈希运算,该第一哈希运算可以根据实际需要确定,例如,第一哈希运算可以为SHA-256等。
S230,通过对所述第一哈希值进行签名得到第一数字签名。
每个区块链节点可以包括至少一个秘钥对,每个秘钥对包括一个公钥和一个私钥,该私钥可以存储在本地,该公钥可以发送给其他区块链节点。
当前区块链节点在确定第一哈希值后,可以对该哈希值进行签名,得到第一数字签名。该签名可以使用私钥进行签名,使用该私钥对应的公钥可以验证该签名。
S230,对第一数字签名进行第二哈希运算,得到第二哈希值。
在确定出块节点时,可以对第一数字签名进行第二哈希运算,得到第二哈希值。其中,出块共识机制可以包括预定义的第二哈希运算,该第二哈希运算可以根据实际需要确定,例如,第二哈希运算可以为SHA-256等。其中,第一哈希运算与第二哈希运算可以为相同的哈希运算可以为不同的哈希运算。
S240,根据所述第二哈希值以及预设的随机规则,在所述多个出块节点中选择至少一个第二出块节点,分别作为所述至少一个第二子区块的出块节点。
在一些实施例中,可以根据至少一个第二出块节点的序号的大小关系确定先后关系,按照先后关系分别作为至少一个第二子区块的出块节点。例如,各个出块子节点是按照时间划分的,可以根据出块子节点的时间先后关系,以及第二出块节点的先后关系进行匹配,确定各个出块子节点的第二出块节点。
在确定出块节点时,可以根据第二哈希值进行选择。其中,出块共识机制可以包括选择依据的预设的随机规则,该预设的随机规则具有一定的随机性和可验证性。
在一个示例中,该预设的随机规则可以包括:
将第二哈希值转换为10进制,并取第二数值的余数;
确定该余数对应的出块节点为第二出块节点。
其中,该第二数值可以根据出块节点的数量确定。例如,出块节点的数量可以为100,该第二数值可以为100。
其中,第二哈希值保证了随机性,第二哈希值的确定以及预设的随机规则,保证了该第二出块节点的可验证性。
第一出块节点可以将第一数字签名发送至第二出块节点,以便第二出块节点继续出块。例如,可以通过广播的方式,向多个出块节点发送第一数字签名。
还可以向第二出块节点发送第一区块和第一出块节点的公钥。其中,发送该公钥的形式可以包括多种。在一个示例中,可以根据该公钥生成该出块节点的地址,该地址可以作为交易的转出或转入地址,该第二出块节点可以根据该出块节点的地址确定该出块节点的公钥。在另一个示例中,该公钥可以携带在第一区块中进行发送。
第二出块节点在接收到第一数字签名后,首先可以验证第一出块节点的身份,该出块节点的身份可以通过出块节点的公钥对第一数字签名进行验证实现。在验证通过后,第二出块节点可以对自身的验证身份进行验证,该验证验证过程可以基于预设的随机规则进行验证,以验证第二子区块的出块节点是否包括其自身。在上述两个验证过程都通过后,第二出块节点再对第二子区块进行打包,并将打包的第二子区块进行全网同步。
在一些实施例中,上述步骤S230具体可以通过如下步骤实现:
将所述第一数字签名和第一数值进行第二哈希运算得到第二哈希值。
其中,第一数值为1-n等预定义的固定值,该n为任意值。
该第一数值还可以为第一出块节点的序列号,或者根据第一出块节点的序列号确定的数值。通过该第一值,可以进一步实现出块节点选择的随机性。
在一些实施例中,还可以包括如下步骤:
1)接收第三出块节点发送的第二数字签名,所述第二数字签名针对第二区块,所述第二区块分为第三子区块和至少一个第四子区块;
2)对所述第二数字签名进行第二哈希运算,得到第三哈希值;
3)根据所述第三哈希值以及预设的随机规则,判断所述第一出块节点是否为所述至少一个第四子区块的出块节点;
4)如果是,对所述至少一个第四子区块中的一个进行打包。
5)如果不是,则结束。
在步骤1)中,可以接收第三出块节点发送的第三区块、公钥和第二数字签名。
其中,第三区块可以为第三出块节点新生成的区块。该第二数字签名可以根据该第三区块确定。具体可以参见前述第一数字签名的获取过程,此处不再赘述。
第一出块节点还可以确定第三出块节点的公钥,该公钥可以根据该第三出块节点的地址确定,也可以获取携带在带第三区块中的公钥。
在步骤3)中,可以根据第三哈希值以及预设的随机规则,确定至少一个第四子区块的出块节点的序号;判断至少一个第四子区块的出块节点的序号是否包括第一出块节点的序号。
另外,第一出块节点在接收到第三区块后,首先可以验证第三出块节点的身份,该出块节点的身份可以通过下述步骤来实现。
步骤A,使用第三出块节点的公钥对所述第二数字签名进行验证,得到第四哈希值;
步骤B,对所述第二区块进行第一哈希运算得到第五哈希值;
如果所述第四哈希值和所述第五哈希值相同,则说明该第二数字签名为该第三出块节点的数字签名,也即验证通过。如果不同,则验证未通过。
通过本发明实施例,可以出块节点可以指定下一出块节点,该指定过程具有一定的随机性和可验证性,可以降低区块链被攻击成功的可能,并且提高了区块链节点网络的出块效率,进而提高了记账效率,使得区块链节点网络可以应该数据规模更大的服务场景。
图3为本发明实施例提供的一种基于区块链节点网络的打包装置结构示意图。该区块链节点网络包括多个出块节点,例如图1所示的示例性架构中的区块链节点网络,所述装置适用于第一出块节点,所述第一出块节点为所述多个出块节点中的任意一个,所述装置包括:
分块单元301,如果待打包的第一区块大于第一阈值,用于将所述第一区块分为第一子区块和至少一个第二子区块,其中,所述第一出块节点作为第一子区块的出块节点;
哈希单元302,用于根据所述第一区块进行第一哈希运算得到第一哈希值;
签名单元303,用于通过对所述第一哈希值进行签名得到第一数字签名;
所述哈希单元302还用于,对所述第一数字签名进行第二哈希运算,得到第二哈希值;
选择单元304,用于根据所述第二哈希值以及预设的随机规则,在所述多个出块节点中选择至少一个第二出块节点,分别作为所述至少一个第二子区块的出块节点。
在一些实施例中,所述第一哈希运算与所述第二哈希运算为相同或不同的哈希运算。
在一些实施例中,哈希单元具体用于:
将所述第一数字签名和第一数值进行第二哈希运算得到第二哈希值,所述第一数值为1-n或者所述第一出块节点的序列号,所述n为任意值。
在一些实施例中,所述预设的随机规则包括:
将所述第二哈希值转换为10进制,并取第二数值的余数,所述第二数值根据所述多个验证节点的数量确定;
确定所述余数对应的验证节点为所述第二出块节点。
在一些实施例中,选择单元具体用于:
根据所述第二哈希值以及预设的随机规则,在所述多个出块节点中选择至少一个第二出块节点;
根据所述至少一个第二出块节点的序号的大小关系确定先后关系,按照所述先后关系分别作为所述至少一个第二子区块的出块节点。
在一些实施例中,还包括:
发送单元,用于向所述多个出块节点发送所述第一数字签名。
在一些实施例中,还包括:
接收单元,用于接收第三出块节点发送的第二数字签名,所述第二数字签名针对第二区块,所述第二区块分为第三子区块和至少一个第四子区块;
哈希单元,用于对所述第二数字签名进行第二哈希运算,得到第三哈希值;
判断单元,用于根据所述第三哈希值以及预设的随机规则,判断所述第一出块节点是否为所述至少一个第四子区块的出块节点;
打包单元,如果是,用于对所述至少一个第四子区块中的一个进行打包。
在一些实施例中,判单元具体用于:
根据所述第三哈希值以及预设的随机规则,确定所述至少一个第四子区块的出块节点的序号;
判断所述第四区块的出块节点的序号是否为所述第一出块节点的序号。
在一些实施例中,还包括:
验证单元,用于使用第三出块节点的公钥对所述第二数字签名进行验证,得到第四哈希值;
哈希单元,用于对所述第二区块进行第一哈希运算得到第五哈希值;
判断单元,用于如果所述第四哈希值和所述第五哈希值相同,则对所述第二数字签名进行第二哈希运算,得到第三哈希值。
可以理解,本实施例的基于区块链节点网络的打包装置与图2所示的方法实施例相对应,因此,以上关于图2所示的方法实施例的描述同样适用于本实施例的装置,在此不再赘述。
图4示出了本说明书实施例所提供的一种计算机设备结构示意图,该计算机设备可以包括:处理器410、存储器420、输入/输出接口430、通信接口440和总线450。其中处理器440、存储器420、输入/输出接口430和通信接口440通过总线450实现彼此之间在设备内部的通信连接。
处理器410可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器420可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器420可以存储操作***和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器420中,并由处理器410来调用执行。
输入/输出接口430用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口440用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线450包括一通路,在设备的各个组件(例如处理器410、存储器420、输入/输出接口430和通信接口440)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器410、存储器420、输入/输出接口430、通信接口440以及总线450,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的范围之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于区块链节点网络的打包方法,其特征在于,所述区块链节点网络包括多个出块节点,所述方法适用于第一出块节点,所述第一出块节点为所述多个出块节点中的任意一个,所述方法包括:
如果待打包的第一区块大于第一阈值,将所述第一区块分为第一子区块和至少一个第二子区块,其中,所述第一出块节点作为第一子区块的出块节点;
根据所述第一区块进行第一哈希运算得到第一哈希值;
通过对所述第一哈希值进行签名得到第一数字签名;
对所述第一数字签名进行第二哈希运算,得到第二哈希值;
根据所述第二哈希值以及预设的随机规则,在所述多个出块节点中选择至少一个第二出块节点,分别作为所述至少一个第二子区块的出块节点。
2.根据权利要求1所述的方法,其特征在于,所述第一哈希运算与所述第二哈希运算为相同或不同的哈希运算。
3.根据权利要求1所述的方法,其特征在于,所述对所述第一数字签名进行第二哈希运算,得到第二哈希值,包括:
将所述第一数字签名和第一数值进行第二哈希运算得到第二哈希值,所述第一数值为1-n或者所述第一出块节点的序列号,所述n为任意值。
4.根据权利要求1所述的方法,其特征在于,所述预设的随机规则包括:
将所述第二哈希值转换为10进制,并取第二数值的余数,所述第二数值根据所述多个验证节点的数量确定;
确定所述余数对应的验证节点为所述第二出块节点。
5.根据权利要求1所述的方法,其特征在于,所述根据所述第二哈希值以及预设的随机规则,在所述多个出块节点中选择至少一个第二出块节点,分别作为所述至少一个第二子区块的出块节点,包括:
根据所述第二哈希值以及预设的随机规则,在所述多个出块节点中选择至少一个第二出块节点;
根据所述至少一个第二出块节点的序号的大小关系确定先后关系,按照所述先后关系分别作为所述至少一个第二子区块的出块节点。
6.根据权利要求1所述的方法,其特征在于,还包括:
向所述多个出块节点发送所述第一数字签名。
7.根据权利要求6所述的方法,其特征在于,还包括:
接收第三出块节点发送的第二数字签名,所述第二数字签名针对第二区块,所述第二区块分为第三子区块和至少一个第四子区块;
对所述第二数字签名进行第二哈希运算,得到第三哈希值;
根据所述第三哈希值以及预设的随机规则,判断所述第一出块节点是否为所述至少一个第四子区块的出块节点;
如果是,对所述至少一个第四子区块中的一个进行打包。
8.根据权利要求7所述的方法,其特征在于,所述根据所述第三哈希值以及预设的随机规则,判断所述第一出块节点是否为所述至少一个第四子区块的出块节点包括:
根据所述第三哈希值以及预设的随机规则,确定所述至少一个第四子区块的出块节点的序号;
判断至少一个第四子区块的出块节点的序号是否包括所述第一出块节点的序号。
9.根据权利要求7所述的方法,其特征在于,还包括:
使用第三出块节点的公钥对所述第二数字签名进行验证,得到第四哈希值;
对所述第二区块进行第一哈希运算得到第五哈希值;
如果所述第四哈希值和所述第五哈希值相同,则对所述第二数字签名进行第二哈希运算,得到第三哈希值。
10.一种基于区块链节点网络的打包装置,其特征在于,所述区块链节点网络包括多个出块节点,所述装置适用于第一出块节点,所述第一出块节点为所述多个出块节点中的任意一个,所述装置包括:
分块单元,如果待打包的第一区块大于第一阈值,用于将所述第一区块分为第一子区块和至少一个第二子区块,其中,所述第一出块节点作为第一子区块的出块节点;
哈希单元,用于根据所述第一区块进行第一哈希运算得到第一哈希值;
签名单元,用于通过对所述第一哈希值进行签名得到第一数字签名;
所述哈希单元还用于,对所述第一数字签名进行第二哈希运算,得到第二哈希值;
选择单元,用于根据所述第二哈希值以及预设的随机规则,在所述多个出块节点中选择至少一个第二出块节点,分别作为所述至少一个第二子区块的出块节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910519297.5A CN110223069A (zh) | 2019-06-17 | 2019-06-17 | 基于区块链节点网络的打包方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910519297.5A CN110223069A (zh) | 2019-06-17 | 2019-06-17 | 基于区块链节点网络的打包方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110223069A true CN110223069A (zh) | 2019-09-10 |
Family
ID=67817178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910519297.5A Pending CN110223069A (zh) | 2019-06-17 | 2019-06-17 | 基于区块链节点网络的打包方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110223069A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111815845A (zh) * | 2020-07-08 | 2020-10-23 | 中钞***产业发展有限公司杭州区块链技术研究院 | 基于异构区块链的摇号方法、装置、***、设备和介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107005574A (zh) * | 2016-12-23 | 2017-08-01 | 深圳前海达闼云端智能科技有限公司 | 区块生成方法、装置和区块链网络 |
CN107395403A (zh) * | 2017-07-07 | 2017-11-24 | 北京区块链云科技有限公司 | 一种适用于大规模电子商务的基于信用的区块链共识方法 |
CN107918666A (zh) * | 2017-11-24 | 2018-04-17 | 中钞***产业发展有限公司杭州区块链技术研究院 | 一种区块链上的数据同步方法和*** |
CN108596621A (zh) * | 2018-04-28 | 2018-09-28 | 深圳市优学链科技有限公司 | 区块链记账节点生成方法、装置、计算机设备及存储介质 |
CN108964879A (zh) * | 2018-07-20 | 2018-12-07 | 杭州复杂美科技有限公司 | 一种抽签方法、共识方法、设备和存储介质 |
CN109559122A (zh) * | 2018-12-07 | 2019-04-02 | 北京瑞卓喜投科技发展有限公司 | 区块链数据传输方法及区块链数据传输*** |
CN109743173A (zh) * | 2018-12-20 | 2019-05-10 | 弗洛格(武汉)信息科技有限公司 | 区块链中出块节点确定方法、区块验证方法及区块链*** |
-
2019
- 2019-06-17 CN CN201910519297.5A patent/CN110223069A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107005574A (zh) * | 2016-12-23 | 2017-08-01 | 深圳前海达闼云端智能科技有限公司 | 区块生成方法、装置和区块链网络 |
CN107395403A (zh) * | 2017-07-07 | 2017-11-24 | 北京区块链云科技有限公司 | 一种适用于大规模电子商务的基于信用的区块链共识方法 |
CN107918666A (zh) * | 2017-11-24 | 2018-04-17 | 中钞***产业发展有限公司杭州区块链技术研究院 | 一种区块链上的数据同步方法和*** |
CN108596621A (zh) * | 2018-04-28 | 2018-09-28 | 深圳市优学链科技有限公司 | 区块链记账节点生成方法、装置、计算机设备及存储介质 |
CN108964879A (zh) * | 2018-07-20 | 2018-12-07 | 杭州复杂美科技有限公司 | 一种抽签方法、共识方法、设备和存储介质 |
CN109559122A (zh) * | 2018-12-07 | 2019-04-02 | 北京瑞卓喜投科技发展有限公司 | 区块链数据传输方法及区块链数据传输*** |
CN109743173A (zh) * | 2018-12-20 | 2019-05-10 | 弗洛格(武汉)信息科技有限公司 | 区块链中出块节点确定方法、区块验证方法及区块链*** |
Non-Patent Citations (3)
Title |
---|
ITTAY EYAL 等: "Bitcoin-NG:A Scalable Blockchain Protocol", 《OPEN ACCESS TO THE PROCEEDINGS OF THE 13TH USENIX SYMPOSIUM ON NETWORK SYSTEMS DESIGN AND IMPLEMENT》 * |
RAFAEL PASS 等: "Thunderella:Blockchains with Optimistic Instant Confirmation", 《ANNUAL INTERNATIONAL CONFERENCE ON THE THEORY AND APPLICATIONS OF CRYPTOGRAPHIC TECHNIQUES》 * |
潘业达 等: "区块链吞吐率提升研究", 《通信技术》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111815845A (zh) * | 2020-07-08 | 2020-10-23 | 中钞***产业发展有限公司杭州区块链技术研究院 | 基于异构区块链的摇号方法、装置、***、设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110210865A (zh) | 基于区块链的打包方法及装置 | |
CN110247753A (zh) | 基于区块链节点网络的出块方法及装置 | |
CN110222537A (zh) | 应用于区块链节的验证方法及装置 | |
CN110223070A (zh) | 基于区块链节点网络的验证方法及装置 | |
CN108848148B (zh) | 基于区块链的交易信息确认方法及装置 | |
CN110225044A (zh) | 在区块链上的验证方法及装置 | |
CN110659905B (zh) | 交易验证方法、装置、终端设备以及存储介质 | |
CN111985007A (zh) | 一种基于区块链的合同签署与执行方法及装置 | |
CN109857810A (zh) | 基于区块链的数据同步装置及方法 | |
CN110233722A (zh) | 在区块链上的出块方法及装置 | |
CN110222538A (zh) | 涉及区块链的验证方法及装置 | |
CN111669434A (zh) | 一种通信群组的建立方法、***、装置及设备 | |
CN110223069A (zh) | 基于区块链节点网络的打包方法及装置 | |
CN109918445A (zh) | 基于区块链的挖矿装置及方法 | |
CN110224813A (zh) | 基于区块链的出块方法及装置 | |
CN110224839A (zh) | 应用于区块链上的验证方法及装置 | |
CN110298757B (zh) | 涉及DPoS的共识方法及其装置 | |
CN110224840A (zh) | 基于区块链的打包方法及装置 | |
CN110247773A (zh) | 在区块链上的打包方法及装置 | |
CN110245949A (zh) | 涉及区块链的打包方法及装置 | |
CN110245950A (zh) | 涉及区块链的出块方法及装置 | |
CN111831669A (zh) | 根据区块链上互联网投票数据的存储方法及其装置 | |
CN110445620A (zh) | 涉及区块链的结婚证存证方法及其装置 | |
CN110225043A (zh) | 应用于区块链的打包方法及装置 | |
CN109885258A (zh) | 基于区块链的数据删除装置及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
CB02 | Change of applicant information |
Address after: 100085 No. 108, 1st Floor, No. 9, Shangdi Jiujie, Haidian District, Beijing Applicant after: Beijing ruice Technology Co.,Ltd. Address before: 100085 No. 108, 1st Floor, No. 9, Shangdi Jiujie, Haidian District, Beijing Applicant before: BEIJING AIMO RUICE TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |