CN110474846A - 一种区块链中区块传播的方法及装置 - Google Patents
一种区块链中区块传播的方法及装置 Download PDFInfo
- Publication number
- CN110474846A CN110474846A CN201910880129.9A CN201910880129A CN110474846A CN 110474846 A CN110474846 A CN 110474846A CN 201910880129 A CN201910880129 A CN 201910880129A CN 110474846 A CN110474846 A CN 110474846A
- Authority
- CN
- China
- Prior art keywords
- block
- fritter
- block chain
- head
- newly
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/16—Multipoint routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/24—Multipath
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1074—Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
- H04L67/1078—Resource delivery mechanisms
- H04L67/108—Resource delivery mechanisms characterised by resources being split in blocks or fragments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
Abstract
本发明公开了一种区块链中区块传播的方法及装置,该方法包括获取新生成的区块,将新生成的区块划分为区块头部和多个小块,小块包括生成者的签名,将区块头部和多个小块以不同的路径进行随机广播,以使其它区块链节点接收区块头部和多个小块并将区块头部和多个小块组装为新生成的区块。由于将区块切割为多个独立的小块,并且将每个小块随机选择相邻的区块链节点进行传播,从而保证了整个区块的不同部分在不同路径上传播,避免出现完整数据包按照固定路径传播所引起的网络等待。同时,小块通过不同的路径进行传播保证了所有节点间的网络均有数据传输,带宽的时间利用率高。
Description
技术领域
本发明实施例涉及区块链技术领域,尤其涉及一种区块链中区块传播的方法及装置。
背景技术
区块链(blockchain)的基本组成单元是区块(block),区块由交易数据、前一区块的哈希值、矿工信息等数据构成,其中区块的主要字段为交易数据。在区块链系统中,每一个区块通过P2P网络广播传播到所有的共识节点,最终实现数据的共识。在高吞吐率应用中,用户每秒将产生大量的交易数据。交易数据的增加将会引起区块大小的增加。比特币等区块链系统通过限制区块的出块间隔以及单个区块的大小限定了区块链系统的吞吐率。
目前提高吞吐率方案主要有以下两种:一是直接增加区块大小或缩小出块时延。这种技术由于区块产生时间间隔应该大于区块在全网中传播的时延,并留有一定的安全间隔,因此不能无限缩小出块时延。同时,增加区块大小会进一步加重网络的传播时延,因此这种方法不能够提供比以太坊更高的吞吐率。二是采用分片技术。但是分片技术目前尚不够成熟,尤其跨链交易的数据一致性难以保证。并且分片后全网数据同步与查询也存在困难。
因此,目前提高吞吐率的方案都有一定的限制,无法应用在各种区块链系统中。
发明内容
本发明实施例提供一种区块链中区块传播的方法及装置,用以实现有效减少区块传播时延,提高区块链的吞吐率。
第一方面,本发明实施例提供一种区块链中区块传播的方法,包括:
获取新生成的区块;
将所述新生成的区块划分为区块头部和多个小块,所述小块包括生成者的签名;
将所述区块头部和所述多个小块以不同的路径进行随机广播,以使其它区块链节点接收所述区块头部和所述多个小块并将所述区块头部和所述多个小块组装为所述新生成的区块。
上述技术方案中,由于将区块切割为多个独立的小块,并且将每个小块随机选择相邻的区块链节点进行传播,从而保证了整个区块的不同部分在不同路径上传播,避免出现完整数据包按照固定路径传播所引起的网络等待。同时,小块通过不同的路径进行传播保证了所有节点间的网络均有数据传输,带宽的时间利用率高。
可选的,所述将所述区块头部和所述多个小块以不同的路径进行随机广播,包括:
将所述区块头部和所述多个小块中的每一个小块随机选择一个或者多个相邻的区块链节点进行广播。
上述技术方案中,由于要求每个小片传播选择相邻的区块链节点的随机性,从而保证了整个区块的不同部分在不同路径上传播。
可选的,所述将所述区块头部和所述多个小块中的每一个小块随机选择一个或者多个相邻的区块链节点进行广播,包括:
将所述区块头部优先于所述多个小块中的每一个小块随机选择一个或者多个相邻的区块链节点进行广播。
可选的,所述方法还包括:
接收第一区块链节点发送的第一小块,所述第一区块链节点为其它相邻的区块链节点中的任意一个;所述第一小块为所述第一区块链节点广播的或所述第一区块链节点转发的;
对所述第一小块中的生成者的签名进行验证,验证通过后确定所述第一小块是否符合区块的格式,若符合,则将所述第一小块随机选择一个或多个相邻的区块链节点进行转发。
可选的,在所述将所述第一小块随机选择一个或多个相邻的区块链节点进行转发之后,还包括:
在确定接收到第一区块的区块头部以及接收完所述第一区块的多个第一小块时,将所述第一区块的区块头部以及所述多个第一小块拼装为第一区块。
可选的,所述多个小块具有相同大小。
可选的,所述小块还包括所述小块的序号。
第二方面,本发明实施例提供一种区块链中区块传播的方法,包括:
接收其它区块链节点发送的新生成的区块的小块;所述小块为所述其它区块链节点广播的或所述其它区块链节点转发的;所述小块包括生成者的签名;
对所述小块中的生成者的签名以及所述小块的区块格式的有效性进行验证,验证通过后记录所述小块,并将所述小块随机选择一个或多个相邻的区块链节点进行转发。
可选的,所述小块包括序号;
所述方法还包括:
根据所述小块中的序号,确定是否接收完所述新生成的区块的多个小块,若是,则将所述多个小块以及区块头部拼接为所述新生成的区块并验证数字签名,在验证成功后确认所述新生成的区块接收完成。
第三方面,本发明实施例提供一种区块链中区块传播的装置,包括:
获取单元,用于获取新生成的区块;
处理单元,用于将所述新生成的区块划分为区块头部和多个小块,所述小块包括生成者的签名;
发送单元,用于将所述区块头部和所述多个小块以不同的路径进行随机广播,以使其它区块链节点接收所述区块头部和所述多个小块并将所述区块头部和所述多个小块组装为所述新生成的区块。
可选的,所述处理单元具体用于:
控制所述发送单元将所述区块头部和所述多个小块中的每一个小块随机选择一个或者多个相邻的区块链节点进行广播。
可选的,所述处理单元具体用于:
控制所述发送单元将所述区块头部优先于所述多个小块中的每一个小块随机选择一个或者多个相邻的区块链节点进行广播。
可选的,所述处理单元还用于:
控制所述获取单元接收第一区块链节点发送的第一小块,所述第一区块链节点为其它相邻的区块链节点中的任意一个;所述第一小块为所述第一区块链节点广播的或所述第一区块链节点转发的;
对所述第一小块中的生成者的签名进行验证,验证通过后确定所述第一小块是否符合区块的格式,若符合,则控制所述发送单元将所述第一小块随机选择一个或多个相邻的区块链节点进行转发。
可选的,所述处理单元还用于:
在控制所述发送单元将所述第一小块随机选择一个或多个相邻的区块链节点进行转发之后,确定接收到第一区块的区块头部以及接收完所述第一区块的多个第一小块时,将所述第一区块的区块头部以及所述多个第一小块拼装为第一区块。
可选的,所述多个小块具有相同大小。
可选的,所述小块还包括所述小块的序号。
第四方面,本发明实施例提供一种区块链中区块传播的装置,包括:
接收单元,用于接收其它区块链节点发送的新生成的区块的小块;所述小块为所述其它区块链节点广播的或所述其它区块链节点转发的;所述小块包括生成者的签名;
处理单元,用于对所述小块中的生成者的签名以及所述小块的区块格式的有效性进行验证,验证通过后记录所述小块,并将所述小块随机选择一个或多个相邻的区块链节点进行转发。
可选的,所述小块包括序号;
所述处理单元还用于:
根据所述小块中的序号,确定是否接收完所述新生成的区块的多个小块,若是,则将所述多个小块以及区块头部拼接为所述新生成的区块并验证数字签名,在验证成功后确认所述新生成的区块接收完成。
第五方面,本发明实施例还提供一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述区块链中区块传播的方法。
第六方面,本发明实施例还提供一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述区块链中区块传播的方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种系统架构的示意图;
图2为本发明实施例提供的一种区块链中区块传播的方法的流程示意图;
图3为本发明实施例提供的一种区块链中区块传播的方法的流程示意图;
图4为本发明实施例提供的一种区块链中区块传播的装置的结构示意图;
图5为本发明实施例提供的一种区块链中区块传播的装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1示例性的示出了本发明实施例所适用的一种系统架构,该系统架构可以包括多个客户端100和区块链系统200。
其中,客户端100用于与区块链系统200进行通信,将交易数据发送给区块链系统200进行处理并上链。
区块链系统200由多个区块链节点210,与客户端100进行通信,用于处理和存储客户端100发送的交易数据。该多个区块链节点210可以相互连接通信,每个区块链节点中包括多个区块,区块用于存储客户端100发送的交易数据。
需要说明的是,上述图1所示的结构仅是一种示例,本发明实施例对此不做限定。
基于上述描述,图2示例性的示出了本发明实施例提供的一种区块链中区块传播的方法的流程,该流程可以由区块链中区块传播的装置执行,该装置可以位于如图1所示的区块链节点210内,也可以是该区块链节点210。
如图2所示,该流程具体包括:
步骤201,获取新生成的区块。
区块链节点在接收到客户端发送的交易数据之后就会新生成区块,该新生成的区块中包括交易数据,前一区块的哈希值、矿工信息等数据。
步骤202,将所述新生成的区块划分为区块头部和多个小块。
在区块生产者产生新的区块后,就可以将新生成的区块划分为相同大小的多个小块,每个小块都包含有生成者的数字签名以及便于其它的区块链节点验证小块的来源。每个小块都设有序号,为了便于其它区块链节点进行组装。
步骤203,将所述区块头部和所述多个小块以不同的路径进行随机广播。
将区块头部和多个小块以不同的路径随机广播是为了使得其它区块链节点接收区块头部和多个小块并将区块头部和多个小块组装为所述新生成的区块后。具体的,可以将该区块头部和多个小块中的每一个小块随机选择一个或者多个相邻的区块链节点进行广播,其中,区块头部可以优先多个小块中的每一个小块随机选择一个或者多个相邻的区块链节点进行广播。
若区块链节点接收到其它区块链节点发送的小块,就可以对该小块进行验证,此时该区块链节点为中间节点。具体的,可以先接收第一区块链节点发送的第一小块,其中,第一区块链节点为其它相邻的区块链节点中的任意一个;第一小块为第一区块链节点广播的或第一区块链节点转发的。然后对第一小块中的生成者的签名进行验证,验证通过后确定第一小块是否符合区块的格式,若符合,则将第一小块随机选择一个或多个相邻的区块链节点进行转发。也就是说,中间节点收到小块后,检验其包含的数字签名是否有效,是否符合区块的格式要求,如果数字签名有效且符合区块的格式要求,则应随机选择相邻的其它区块链节点进行转发。并且每个小块所选择的相邻的其它区块链节点应保证随机性。
进一步的,在确定接收到第一区块的区块头部以及接收完第一区块的多个第一小块时,将第一区块的区块头部以及多个第一小块拼装为第一区块。也就是说,区块链节点收到某一区块的区块头部以及所有的小块后,将其拼装成为完整的区块并检验执行。
每个小块都具有相应序号,区块链节点可以通过小块的序号来确定是否接收完所有的小块。
此外,其它区块链节点可以接收新生成的区块的小块和区块头部进行拼装,具体的可以如图3所示的流程,具体包括:
步骤301,接收其它区块链节点发送的新生成的区块的小块。
在本发明实施例中,该小块为所述其它区块链节点广播的或其它区块链节点转发的。小块包括生成者的签名和小块的序号。
步骤302,对所述小块中的生成者的签名以及所述小块的区块格式的有效性进行验证,验证通过后记录所述小块,并将所述小块随机选择一个或多个相邻的区块链节点进行转发。
在接收到该新生成的区块的小块之后,还需要根据小块中的序号,确定是否接收完新生成的区块的多个小块,若是,则将多个小块以及区块头部拼接为新生成的区块并验证数字签名,在验证成功后确认新生成的区块接收完成。
若确定未接收完新生成的区块的多个小块,则可以继续接收下一个小块,直到确定接收完新生成的区块的所有小块为止。
本发明实施例具有以下有益效果:
网络利用率高:
本发明实施例将区块切割为独立小块传播,并且要求每个小块传播选择邻居节点的随机性,从而保证了整个区块的不同部分在不同路径上传播。避免了完整数据包按照固定路径传播所引起的网络等待。小块通过不同的路径进行传播保证了所有节点间的网络均有数据传输,带宽的时间利用率高。
区块传播速度快:
由于小数据包的传播可以很快蔓延到所有网络节点,使得小数据包传播至全网的整体时延小于完整大数据包广播的时延。当数据包增大后,区块的广播速度接近单个小数据包的广播速度。
为了更好的解释本发明实施例,下面将以具体的实施例来描述区块传播的过程。
实施例一:新区块广播。
某一矿工或者区块生成者(区块链节点)按照区块链算法规则生成一个新的区块。
该区块划分成128K字节大小的多个小块,小块以默克树的形式组织。每个小块以及整个区块均包含生成者的数字签名。
将整个区块的基础信息与数字签名广播给邻居节点(相邻的其它区块链节点)。
假设小块的编号从1-n,区块生成者随机选择一个邻居节点传输小块1,然后再随机选择一个邻居节点传输小块2,以此类推。完成n个子区块的传输后,可以从1号小块再做若干轮。
中间节点接收到一个小块后,随机选择一个邻居节点继续向前转发,以此类推。
实施例二:新区块接收。
中间节点接收到编号为n的小块,对小块的签名及区块格式有效性进行验证,验证通过即对当前小块进行记录;
中间节点对接收到的小块进行转发;
节点根据整个区块基础信息判定是否已接收所有小块,若未全部接收,则继续接收下一小块;
若节点已接收到所有小块,则将小块进行拼接并验证数字签名,验证成功即完成新区块的接收。
上述实施例表明,获取新生成的区块,将新生成的区块划分为区块头部和多个小块,小块包括生成者的签名,将区块头部和多个小块以不同的路径进行随机广播,以使其它区块链节点接收区块头部和多个小块并将区块头部和多个小块组装为新生成的区块。由于将区块切割为多个独立的小块,并且将每个小块随机选择相邻的区块链节点进行传播,从而保证了整个区块的不同部分在不同路径上传播,避免出现完整数据包按照固定路径传播所引起的网络等待。同时,小块通过不同的路径进行传播保证了所有节点间的网络均有数据传输,带宽的时间利用率高。
基于相同的技术构思,图4示例性的示出了本发明实施例提供的一种区块链中区块传播的装置的结构,该装置可以执行区块链中区块传播的流程,该装置可以位于图1所示的区块链节点210内,也可以是该区块链节点210。
如图4所示,该装置具体包括:
获取单元401,用于获取新生成的区块;
处理单元402,用于将所述新生成的区块划分为区块头部和多个小块,所述小块包括生成者的签名;
发送单元403,用于将所述区块头部和所述多个小块以不同的路径进行随机广播,以使其它区块链节点接收所述区块头部和所述多个小块并将所述区块头部和所述多个小块组装为所述新生成的区块。
可选的,所述处理单元402具体用于:
控制所述发送单元403将所述区块头部和所述多个小块中的每一个小块随机选择一个或者多个相邻的区块链节点进行广播。
可选的,所述处理单元402具体用于:
控制所述发送单元403将所述区块头部优先于所述多个小块中的每一个小块随机选择一个或者多个相邻的区块链节点进行广播。
可选的,所述处理单元402还用于:
控制所述获取单元401接收第一区块链节点发送的第一小块,所述第一区块链节点为其它相邻的区块链节点中的任意一个;所述第一小块为所述第一区块链节点广播的或所述第一区块链节点转发的;
对所述第一小块中的生成者的签名进行验证,验证通过后确定所述第一小块是否符合区块的格式,若符合,则控制所述发送单元403将所述第一小块随机选择一个或多个相邻的区块链节点进行转发。
可选的,所述处理单元402还用于:
在控制所述发送单元403将所述第一小块随机选择一个或多个相邻的区块链节点进行转发之后,确定接收到第一区块的区块头部以及接收完所述第一区块的多个第一小块时,将所述第一区块的区块头部以及所述多个第一小块拼装为第一区块。
可选的,所述多个小块具有相同大小。
可选的,所述小块还包括所述小块的序号。
基于相同的技术构思,图5示例性的示出了本发明实施例还提供了一种区块链中区块传播的装置的结构,该装置可以执行区块链中区块传播的流程。
如图5所示,该装置包括:
接收单元501,用于接收其它区块链节点发送的新生成的区块的小块;所述小块为所述其它区块链节点广播的或所述其它区块链节点转发的;所述小块包括生成者的签名;
处理单元502,用于对所述小块中的生成者的签名以及所述小块的区块格式的有效性进行验证,验证通过后记录所述小块,并将所述小块随机选择一个或多个相邻的区块链节点进行转发。
可选的,所述小块包括序号;
所述处理单元502还用于:
根据所述小块中的序号,确定是否接收完所述新生成的区块的多个小块,若是,则将所述多个小块以及区块头部拼接为所述新生成的区块并验证数字签名,在验证成功后确认所述新生成的区块接收完成。
基于相同的技术构思,本发明实施例还提供了一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述区块链中区块传播的方法。
基于相同的技术构思,本发明实施例还提供了一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述区块链中区块传播的方法。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (20)
1.一种区块链中区块传播的方法,其特征在于,包括:
获取新生成的区块;
将所述新生成的区块划分为区块头部和多个小块,所述小块包括生成者的签名;
将所述区块头部和所述多个小块以不同的路径进行随机广播,以使其它区块链节点接收所述区块头部和所述多个小块并将所述区块头部和所述多个小块组装为所述新生成的区块。
2.如权利要求1所述的方法,其特征在于,所述将所述区块头部和所述多个小块以不同的路径进行随机广播,包括:
将所述区块头部和所述多个小块中的每一个小块随机选择一个或者多个相邻的区块链节点进行广播。
3.如权利要求2所述的方法,其特征在于,所述将所述区块头部和所述多个小块中的每一个小块随机选择一个或者多个相邻的区块链节点进行广播,包括:
将所述区块头部优先于所述多个小块中的每一个小块随机选择一个或者多个相邻的区块链节点进行广播。
4.如权利要求1所述的方法,其特征在于,所述方法还包括:
接收第一区块链节点发送的第一小块,所述第一区块链节点为其它相邻的区块链节点中的任意一个;所述第一小块为所述第一区块链节点广播的或所述第一区块链节点转发的;
对所述第一小块中的生成者的签名进行验证,验证通过后确定所述第一小块是否符合区块的格式,若符合,则将所述第一小块随机选择一个或多个相邻的区块链节点进行转发。
5.如权利要求4所述的方法,其特征在于,在所述将所述第一小块随机选择一个或多个相邻的区块链节点进行转发之后,还包括:
在确定接收到第一区块的区块头部以及接收完所述第一区块的多个第一小块时,将所述第一区块的区块头部以及所述多个第一小块拼装为第一区块。
6.如权利要求1至5任一项所述的方法,其特征在于,所述多个小块具有相同大小。
7.如权利要求1至5任一项所述的方法,其特征在于,所述小块还包括所述小块的序号。
8.一种区块链中区块传播的方法,其特征在于,包括:接收其它区块链节点发送的新生成的区块的小块;所述小块为所述其它区块链节点广播的或所述其它区块链节点转发的;所述小块包括生成者的签名;
对所述小块中的生成者的签名进行验证,验证通过后记录所述小块,并将所述小块随机选择一个或多个相邻的区块链节点进行转发。
9.如权利要求8所述的方法,其特征在于,所述小块包括序号;
所述方法还包括:
根据所述小块中的序号,确定是否接收完所述新生成的区块的多个小块,若是,则将所述多个小块以及区块头部拼接为所述新生成的区块。
10.一种区块链中区块传播的装置,其特征在于,包括:
获取单元,用于获取新生成的区块;
处理单元,用于将所述新生成的区块划分为区块头部和多个小块,所述小块包括生成者的签名;
发送单元,用于将所述区块头部和所述多个小块以不同的路径进行随机广播,以使其它区块链节点接收所述区块头部和所述多个小块并将所述区块头部和所述多个小块组装为所述新生成的区块。
11.如权利要求10所述的装置,其特征在于,所述处理单元具体用于:
控制所述发送单元将所述区块头部和所述多个小块中的每一个小块随机选择一个或者多个相邻的区块链节点进行广播。
12.如权利要求10所述的装置,其特征在于,所述处理单元具体用于:
控制所述发送单元将所述区块头部优先于所述多个小块中的每一个小块随机选择一个或者多个相邻的区块链节点进行广播。
13.如权利要求10所述的装置,其特征在于,所述处理单元还用于:
控制所述获取单元接收第一区块链节点发送的第一小块,所述第一区块链节点为其它相邻的区块链节点中的任意一个;所述第一小块为所述第一区块链节点广播的或所述第一区块链节点转发的;
对所述第一小块中的生成者的签名进行验证,验证通过后确定所述第一小块是否符合区块的格式,若符合,则控制所述发送单元将所述第一小块随机选择一个或多个相邻的区块链节点进行转发。
14.如权利要求13所述的装置,其特征在于,所述处理单元还用于:
在控制所述发送单元将所述第一小块随机选择一个或多个相邻的区块链节点进行转发之后,在确定接收到第一区块的区块头部以及接收完所述第一区块的多个第一小块时,将所述第一区块的区块头部以及所述多个第一小块拼装为第一区块。
15.如权利要求10至14任一项所述的装置,其特征在于,所述多个小块具有相同大小。
16.如权利要求10至14任一项所述的装置,其特征在于,所述小块还包括所述小块的序号。
17.一种区块链中区块传播的装置,其特征在于,包括:
接收单元,用于接收其它区块链节点发送的新生成的区块的小块;所述小块为所述其它区块链节点广播的或所述其它区块链节点转发的;所述小块包括生成者的签名;
处理单元,用于对所述小块中的生成者的签名以及所述小块的区块格式的有效性进行验证,验证通过后记录所述小块,并将所述小块随机选择一个或多个相邻的区块链节点进行转发。
18.如权利要求17所述的装置,其特征在于,所述小块包括序号;
所述处理单元还用于:
根据所述小块中的序号,确定是否接收完所述新生成的区块的多个小块,若是,则将所述多个小块以及区块头部拼接为所述新生成的区块并验证数字签名,在验证成功后确认所述新生成的区块接收完成。
19.一种计算设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行权利要求1至9任一项所述的方法。
20.一种计算机可读非易失性存储介质,其特征在于,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行如权利要求1至9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910880129.9A CN110474846B (zh) | 2019-09-18 | 2019-09-18 | 一种区块链中区块传播的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910880129.9A CN110474846B (zh) | 2019-09-18 | 2019-09-18 | 一种区块链中区块传播的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110474846A true CN110474846A (zh) | 2019-11-19 |
CN110474846B CN110474846B (zh) | 2022-04-08 |
Family
ID=68516136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910880129.9A Active CN110474846B (zh) | 2019-09-18 | 2019-09-18 | 一种区块链中区块传播的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110474846B (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111538791A (zh) * | 2020-05-07 | 2020-08-14 | 深圳创客区块链技术有限公司 | 区块链多重跨链相互保护方法、装置及存储介质 |
CN111598567A (zh) * | 2020-05-07 | 2020-08-28 | 深圳创客区块链技术有限公司 | 防止区块链大算力攻击的方法、装置及存储介质 |
CN111934998A (zh) * | 2020-09-25 | 2020-11-13 | 支付宝(杭州)信息技术有限公司 | 消息传输方法及装置 |
US11218402B2 (en) | 2020-09-25 | 2022-01-04 | Alipay (Hangzhou) Information Technology Co., Ltd. | Blockchain systems, and message transmission methods and apparatuses |
US11233849B2 (en) | 2020-09-25 | 2022-01-25 | Alipay (Hangzhou) Information Technology Co., Ltd. | Message transmission methods and apparatuses |
US11316921B2 (en) | 2020-09-25 | 2022-04-26 | Alipay (Hangzhou) Information Technology Co., Ltd. | Block synchronization methods and apparatuses |
US11336558B2 (en) | 2020-09-25 | 2022-05-17 | Alipay (Hangzhou) Information Technology Co., Ltd. | Message transmission methods and apparatuses |
US11388229B2 (en) | 2020-09-25 | 2022-07-12 | Alipay (Hangzhou) Information Technology Co., Ltd. | Methods and apparatuses for transmitting messages |
US11445016B2 (en) | 2020-09-25 | 2022-09-13 | Alipay (Hangzhou) Information Technology Co., Ltd. | Methods and apparatuses for transmitting messages |
CN115221558A (zh) * | 2022-07-29 | 2022-10-21 | 北京大学 | 一种面向多主体科技资源的数字对象高效存证方法和系统 |
US11722318B2 (en) | 2020-09-25 | 2023-08-08 | Alipay (Hangzhou) Information Technology Co., Ltd. | Message transmission methods and apparatuses |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697553A (zh) * | 2009-10-12 | 2010-04-21 | 中国科学院计算技术研究所 | P2p环境下的数据传输方法 |
US20160358253A1 (en) * | 2015-06-05 | 2016-12-08 | DiQi, Inc | Electronic currency management method and electronic currency system |
CN107809484A (zh) * | 2017-10-30 | 2018-03-16 | 中国联合网络通信集团有限公司 | 区块链交易信息处理方法及区块链节点 |
US20190158272A1 (en) * | 2017-11-17 | 2019-05-23 | International Business Machines Corporation | Peer voting on a blockchain |
CN110166220A (zh) * | 2019-05-06 | 2019-08-23 | 山东公链信息科技有限公司 | 一种根据分区键的散列值进行切分的分片方法 |
CN110163609A (zh) * | 2019-05-28 | 2019-08-23 | 深圳前海微众银行股份有限公司 | 一种区块链中数据处理方法及装置 |
CN110233722A (zh) * | 2019-06-17 | 2019-09-13 | 北京艾摩瑞策科技有限公司 | 在区块链上的出块方法及装置 |
-
2019
- 2019-09-18 CN CN201910880129.9A patent/CN110474846B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697553A (zh) * | 2009-10-12 | 2010-04-21 | 中国科学院计算技术研究所 | P2p环境下的数据传输方法 |
US20160358253A1 (en) * | 2015-06-05 | 2016-12-08 | DiQi, Inc | Electronic currency management method and electronic currency system |
CN107809484A (zh) * | 2017-10-30 | 2018-03-16 | 中国联合网络通信集团有限公司 | 区块链交易信息处理方法及区块链节点 |
US20190158272A1 (en) * | 2017-11-17 | 2019-05-23 | International Business Machines Corporation | Peer voting on a blockchain |
CN110166220A (zh) * | 2019-05-06 | 2019-08-23 | 山东公链信息科技有限公司 | 一种根据分区键的散列值进行切分的分片方法 |
CN110163609A (zh) * | 2019-05-28 | 2019-08-23 | 深圳前海微众银行股份有限公司 | 一种区块链中数据处理方法及装置 |
CN110233722A (zh) * | 2019-06-17 | 2019-09-13 | 北京艾摩瑞策科技有限公司 | 在区块链上的出块方法及装置 |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111538791A (zh) * | 2020-05-07 | 2020-08-14 | 深圳创客区块链技术有限公司 | 区块链多重跨链相互保护方法、装置及存储介质 |
CN111598567A (zh) * | 2020-05-07 | 2020-08-28 | 深圳创客区块链技术有限公司 | 防止区块链大算力攻击的方法、装置及存储介质 |
CN111598567B (zh) * | 2020-05-07 | 2023-11-10 | 深圳创客区块链技术有限公司 | 防止区块链大算力攻击的方法、装置及存储介质 |
CN111538791B (zh) * | 2020-05-07 | 2023-09-22 | 深圳创客区块链技术有限公司 | 区块链多重跨链相互保护方法、装置及存储介质 |
US11388229B2 (en) | 2020-09-25 | 2022-07-12 | Alipay (Hangzhou) Information Technology Co., Ltd. | Methods and apparatuses for transmitting messages |
US11233849B2 (en) | 2020-09-25 | 2022-01-25 | Alipay (Hangzhou) Information Technology Co., Ltd. | Message transmission methods and apparatuses |
US11316921B2 (en) | 2020-09-25 | 2022-04-26 | Alipay (Hangzhou) Information Technology Co., Ltd. | Block synchronization methods and apparatuses |
US11336558B2 (en) | 2020-09-25 | 2022-05-17 | Alipay (Hangzhou) Information Technology Co., Ltd. | Message transmission methods and apparatuses |
US11218402B2 (en) | 2020-09-25 | 2022-01-04 | Alipay (Hangzhou) Information Technology Co., Ltd. | Blockchain systems, and message transmission methods and apparatuses |
US11445016B2 (en) | 2020-09-25 | 2022-09-13 | Alipay (Hangzhou) Information Technology Co., Ltd. | Methods and apparatuses for transmitting messages |
US11463278B2 (en) | 2020-09-25 | 2022-10-04 | Alipay (Hangzhou) Information Technology Co., Ltd. | Message transmission methods and apparatuses |
US11722318B2 (en) | 2020-09-25 | 2023-08-08 | Alipay (Hangzhou) Information Technology Co., Ltd. | Message transmission methods and apparatuses |
CN111934998B (zh) * | 2020-09-25 | 2021-02-09 | 支付宝(杭州)信息技术有限公司 | 消息传输方法及装置 |
CN111934998A (zh) * | 2020-09-25 | 2020-11-13 | 支付宝(杭州)信息技术有限公司 | 消息传输方法及装置 |
US11924276B2 (en) | 2020-09-25 | 2024-03-05 | Alipay (Hangzhou) Information Technology Co., Ltd. | Methods and apparatuses for transmitting messages |
CN115221558A (zh) * | 2022-07-29 | 2022-10-21 | 北京大学 | 一种面向多主体科技资源的数字对象高效存证方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110474846B (zh) | 2022-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110474846A (zh) | 一种区块链中区块传播的方法及装置 | |
Pahlevani et al. | Novel concepts for device-to-device communication using network coding | |
CN108269090B (zh) | 基于无协商随机抽签的用于区块链系统的共识方法和装置 | |
Natoli et al. | The balance attack or why forkable blockchains are ill-suited for consortium | |
US7158637B2 (en) | Security communication packet processing apparatus and the method thereof | |
CN108769150A (zh) | 区块链网络的数据处理方法、装置、集群节点和存储介质 | |
CN110866825A (zh) | 基于公链的区块链信息存储方法及系统 | |
Asheralieva et al. | Reputation-based coalition formation for secure self-organized and scalable sharding in iot blockchains with mobile-edge computing | |
CN111899002B (zh) | 一种区块链中高效进行跨链信息交易交互的方法 | |
JP2023071805A (ja) | ブロックチェーン・ネットワークにおける高速伝搬のための方法及び特殊ネットワーク・ノード | |
CN109361740A (zh) | 一种区块链的区块生成方法、装置、设备和介质 | |
CN105827397A (zh) | 基于可信中继的量子密钥分发系统、方法及装置 | |
CN108990002A (zh) | 一种区块链数据处理方法、装置、终端及存储介质 | |
CN110581763A (zh) | 一种量子密钥服务区块链网络系统 | |
CN105359113B (zh) | 用于异构系统的分布式存储分配 | |
Yu et al. | Efficient link scheduling in wireless networks under Rayleigh-fading and multiuser interference | |
CN104618253B (zh) | 一种动态变更的传输报文处理方法和装置 | |
CN113516557A (zh) | 一种有向无环图结构的区块链及其实现方法 | |
CN111401904B (zh) | 联盟链中的共识方法和系统 | |
CN115361395A (zh) | 一种基于区块链支付通道网络的物联网数据共享方法 | |
Asfia et al. | A blockchain construct for energy trading against sybil attacks | |
Bonomi et al. | Multi-hop byzantine reliable broadcast with honest dealer made practical | |
Uddin et al. | Joint routing and scheduling in WMNs with variable-width spectrum allocation | |
CN113645278A (zh) | 一种区块链的跨链消息传输方法、设备、存储介质 | |
CN117082054A (zh) | 一种数据传输方法、装置、系统和介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |