CN115208880B - 预期区块生成方法、装置、计算机设备和存储介质 - Google Patents
预期区块生成方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN115208880B CN115208880B CN202210321015.2A CN202210321015A CN115208880B CN 115208880 B CN115208880 B CN 115208880B CN 202210321015 A CN202210321015 A CN 202210321015A CN 115208880 B CN115208880 B CN 115208880B
- Authority
- CN
- China
- Prior art keywords
- transaction
- expected
- block
- transactions
- node
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000012216 screening Methods 0.000 claims abstract description 45
- 238000012795 verification Methods 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 15
- 230000001360 synchronised effect Effects 0.000 claims description 11
- 230000000644 propagated effect Effects 0.000 abstract description 5
- 238000004519 manufacturing process Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 230000009471 action Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000001914 filtration Methods 0.000 description 2
- 238000012856 packing Methods 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Classifications
-
- 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
-
- 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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/02—Details
- H04L12/16—Arrangements for providing special services to substations
- H04L12/18—Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
-
- 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/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种预期区块生成方法、装置、计算机设备和存储介质。所述方法包括:获取生产者节点生成待广播区块的事务筛选条件,目标节点按照该事务筛选条件生成相应的预期区块,即目标节点在接收到待广播区块之前按照事务筛选条件提前预测待广播区块中的待执行事务,确保预期区块包括的第一预期事务与待广播区块中的待执行事务相同,用于实现后续待广播区块在广播时无需传播待广播区块的区块体,仅传播区块头以降低区块传播时延,提升了区块链系统的性能。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及一种预期区块生成方法、装置、计算机设备和存储介质。
背景技术
现阶段,区块链系统面临的主要问题是:事务确认时延、网络规模较小、每秒事务量(TPS,Transactions Per Second)较少等。在公有区块链系统中,节点规模大,但TPS较少,无法满足大规模的用户需求。而在联盟链系统中,其TPS能达到上千级别,但节点规模较小,同样限制了联盟链被大规模应用。提升区块的事务容量、降低区块传播时延,可以从基础上提升区块链系统的性能。
区块传播时间主要由网络上的区块验证(Block Validation)时间和区块传输(Block Transmission)时间组成。区块验证时间和区块传输时间均与区块的事务容量成正比,简单提升区块的事务容量会导致区块传播时间的上升,从而影响区块链系统的安全性。因此,在保证系统安全性的前提下,典型的区块传播协议无法提升区块链的性能。
发明内容
为了解决上述技术问题,本申请提供了一种预期区块生成方法、装置、计算机设备和存储介质。
第一方面,本申请提供了一种预期区块生成方法,包括:
获取生产者节点广播的事务筛选条件,其中,所述事务筛选条件用于所述生产者节点生产生成待广播区块;
在接收到所述待广播区块之前,根据目标节点中符合所述事务筛选条件的存储事务,生成所述目标节点对应的预期区块,其中,所述目标节点为任意一个等待接收并传播所述待广播区块的区块头的共识节点,所述预期区块中的第一预期事务与所述待广播区块中的待执行事务相同。
第二方面,本申请提供了一种预期区块生成装置,包括:
获取单元,用于获取生产者节点广播的事务筛选条件,其中,所述事务筛选条件用于所述生产者节点生产生成待广播区块;
生成单元,用于在接收到所述待广播区块之前,根据目标节点中符合所述事务筛选条件的存储事务,生成所述目标节点对应的预期区块,其中,所述目标节点为任意一个等待接收并传播所述待广播区块的区块头的共识节点,所述预期区块中的第一预期事务与所述待广播区块中的待执行事务相同。
第三方面,本申请提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取生产者节点广播的事务筛选条件,其中,所述事务筛选条件用于所述生产者节点生产生成待广播区块;
在接收到所述待广播区块之前,根据目标节点中符合所述事务筛选条件的存储事务,生成所述目标节点对应的预期区块,其中,所述目标节点为任意一个等待接收并传播所述待广播区块的区块头的共识节点,所述预期区块中的第一预期事务与所述待广播区块中的待执行事务相同。
第四方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取生产者节点广播的事务筛选条件,其中,所述事务筛选条件用于所述生产者节点生产生成待广播区块;
在接收到所述待广播区块之前,根据目标节点中符合所述事务筛选条件的存储事务,生成所述目标节点对应的预期区块,其中,所述目标节点为任意一个等待接收并传播所述待广播区块的区块头的共识节点,所述预期区块中的第一预期事务与所述待广播区块中的待执行事务相同。
上述预期区块生成方法、装置、计算机设备和存储介质,所述方法包括:获取生产者节点广播的事务筛选条件,其中,所述事务筛选条件用于所述生产者节点生产生成待广播区块;在接收到所述待广播区块之前,根据目标节点中符合所述事务筛选条件的存储事务,生成所述目标节点对应的预期区块,其中,所述目标节点为任意一个等待接收并传播所述待广播区块的区块头的共识节点,所述预期区块中的第一预期事务与所述待广播区块中的待执行事务相同。获取生产者节点生成待广播区块的事务筛选条件,目标节点按照该事务筛选条件生成相应的预期区块,即目标节点在接收到待广播区块之前按照事务筛选条件提前预测待广播区块中的待执行事务,确保预期区块包括的第一预期事务与待广播区块中的待执行事务相同,用于实现后续待广播区块在广播时无需传播待广播区块的区块体,仅传播区块头以降低区块传播时延。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中区块链系统结构示意图;
图2为本申请实施例中共识节点之间的结构示意图;
图3为一个实施例中预期区块生成方法的流程示意图;
图4为一个实施例中预期区块生成装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在一个实施例中,图1为一个实施例中区块生成方法的应用环境图。参照图1,该区块验证方法应用于区块广播系统。该区块广播系统包括多个共识节点,即Node 0至Node N分别指示一个共识节点,其中Node 0用于指示生产者节点,Node 1至Node N用于指示非生产者节点,即100用于指示生产者节点生产生成的待广播区块,101用于指示待广播区块的区块头(Block Header),即区块广播是通过各个节点传播无区块体的区块头来实现的。参照图2,各个共识节点通过P2P网络进行通信连接,每个共识节点包括本地事务池(TxPool)、预打包模块(Pre-Packed Blockbody,PPB)、预验证模块(PPB Pre-Validation)和生产模块(Block Generating),本地事务池用于接收广播的事务,预打包模块用于拉取本地事务池中事务并打包生成预期区块,预验证模块用于在共识节点接收到待广播区块的区块头之前对预期区块进行提前校验处理,得到相应的第一校验信息,以便在接收到待广播区块的区块头时利用该第一校验信息进行校验处理,生产模块用于在共识节点作为生产者节点时基于预期区块生产输出待广播区块。
在校验成功后转发该待广播区块的区块头,以此形成区块的传播,无需传播完整的待广播区块,仅通过对待广播区块的区块头进行简单校验以确定预期区块与待广播区块是否一致,减少了完整区块在共识节点的验证时长,并在确认一致后仅转发待广播区块的区块头,以减少了区块的传播带宽,节约了区块的传播时长,从而从整体上缩短了区块传播时延。
在一个实施例中,图4为一个实施例中一种预期区块生成方法的流程示意图,参照图4,提供了一种预期区块生成方法。本实施例主要以该方法应用于共识节点来举例说明,该预期区块生成方法具体包括如下步骤:
步骤S210,获取生产者节点广播的事务筛选条件。
其中,所述事务筛选条件用于所述生产者节点生产生成待广播区块。
具体的,生产者节点为生产生成待广播区块的共识节点,并将待广播区块传播至其相邻的共识节点,各个共识节点依次传播待广播区块以完成共识过程。事务筛选条件用于指示生产者节点生成待广播区块时筛选事务的标准,生产者节点将自己生成待广播区块的标准广播至各个共识节点,以供各个共识节点掌握待广播区块中的组成事务。
步骤S220,在接收到所述待广播区块之前,根据目标节点中符合所述事务筛选条件的存储事务,生成所述目标节点对应的预期区块。
其中,所述目标节点为任意一个等待接收并传播所述待广播区块的区块头的共识节点,每个共识节点在生产生成待广播区块时作为生产者节点,在等待接收待广播区块时可作为目标节点。所述预期区块中的第一预期事务与所述待广播区块中的待执行事务相同。
具体的,目标节点按照事务筛选条件筛选相应的存储事务组成预期区块,由于目标节点与生产者节点是基于相同的事务筛选条件筛选事务,因此,目标节点生成的预期区块与待广播区块中的事务数量以及事务类型均相同。目标节点在接收到待广播区块之前按照事务筛选条件提前预测待广播区块中的待执行事务,确保预期区块包括的第一预期事务与待广播区块中的待执行事务相同,用于实现后续待广播区块在广播时无需传播待广播区块的区块体,仅传播区块头以降低区块传播时延。
在一个实施例中,所述在接收到所述待广播区块之前,根据目标节点中符合所述事务筛选条件的存储事务,生成所述目标节点对应的预期区块,包括:接收来自所述目标节点相邻节点的本地事务池中的存储事务,并存储至所述目标节点的目标事务池中;根据所述目标事务池中符合所述事务筛选条件的存储事务,生成所述目标节点对应的预期区块。
具体的,目标节点在生成预期区块之前,根据来自相邻节点本地事务池中的存储事务来更新自身本地事务池,以确保相邻的各个共识节点本地事务池中的事务保持一致,即确保生成预期区块的事务池与生成待广播区块的事务池保持一致,以避免事务池中的事务不一致,导致目标节点按照事务筛选条件会遗漏部分事务,使得生成的预期区块与待广播区块无法保持一致。
在各个共识节点的本地事务池中的事务保持统一后,生产者节点根据事务筛选条件生成的待广播区块中的待执行事务,与目标节点按照事务筛选条件生成的预期区块中的第一预期事务保持一致。
在一个实施例,所述事务筛选条件包括预设时间戳以及事务排序要求,所述根据所述目标事务池中符合所述事务筛选条件的存储事务,生成所述目标节点对应的预期区块,包括:根据所述目标事务池中时间戳早于所述预设时间戳的存储事务,组成事务子集,其中,所述事务子集包括多个第一预期事务;将所述多个第一预期事务按照各个所述第一预期事务的事务价格降序排列,得到第一事务序列;基于所述第一事务序列,生成所述目标节点对应的预期区块。
具体的,预设时间戳记为T,T值的设置需要考虑所有共识节点可以很容易地面对不同区块时达成一致,并且T值越小,表示T值相应时刻越早,距离当前时刻越远,有助于保证待广播区块所需的组成事务已经被广播到达所有共识节点,确保各个共识节点的本地事务池中都有待广播区块所需的组成事务,但将会延长时间戳在T值之后的事务等待执行时长,即导致时间戳在T值之后的事务确认延迟,因此需要综合考虑上述因素来设置T值。
在本实施例中,选择在待广播区块之前上一次进行广播的区块所携带的生产时间戳,也就是目标节点上一次接收到的广播区块所携带的生产时间戳作为预设时间戳,生产时间戳用于指示该广播区块的生产生成时刻。由于各个共识节点接收到相同的广播区块,所有接收到该广播区块的共识节点都知道该广播区块的生产时间戳,因此利用该广播区块的生产时间戳作为预设时间戳,可以令各个共识节点在接收到下一广播区块时达成一致。并且上一个广播区块的生产时间戳距离当前时刻不算太远,基于该生产时间戳所产生的事务确认延迟是可以接受的。
目标节点在接收到事务时根据接收到该事务的时刻为该事务标记上时间戳,即每个事务的时间戳用于指示进入事务池的时刻,在目标事务池中筛选时间戳早于T的存储事务作为第一预期事务,并组成事务子集,由于事务的执行顺序也将影响区块的全局状态,因此,需要对事务子集中各个第一预期事务进行排序。
在公有区块链中,即使不同共识节点将同一组事务选择到一个区块中,事务顺序也可能不同,因为不同的网络延迟可能会导致不同共识节点接收到同一事务的时间戳不同。因此为了统一各个共识节点中的事务以及事务顺序,将各个共识节点中的事务按照各个事务的事务价格降序排列,由于各个事务的事务价格为属性参数,同一事务即使到达不同共识节点的时间戳不同,但其事务价格是固定不变的,事务价格用于指示执行该事务所需要的成本,因此,在各个共识节点的事务子集中的事务相同的情况下,按照事务价格对各个事务进行排序,将会得到相同排序的事务序列,以解决网络延时导致事务排序不同的问题,在共识节点为目标节点时,基于该事务序列生成预期区块;在共识节点为生产者节点时,基于该事务序列生成待广播区块。
在一个实施例中,所述基于所述第一事务序列,生成所述目标节点对应的预期区块,包括:在所述第一事务序列中存在所述事务价格相同的多个所述第一预期事务时,将所述第一事务序列中所述事务价格相同的多个所述第一预期事务按照事务哈希降序排列,得到第二事务序列;基于所述第二事务序列生成所述目标节点对应的预期区块。
具体的,在对事务进行排序的过程中存在事务价格相同的两个事务时,再将事务价格相同的多个事务按照事务哈希降序排列,每个事务携带有各自唯一的事务哈希,即各个事务的事务哈希不同,可依据事务哈希对事务价格相同的事务进行排序。
在第一事务序列中各个第一预期事务排序的基础上,将事务价格相同的两个或多个第一预期事务按照各个第一预期事务的事务哈希进行排序,得到所有第一预期事务排序后的第二事务序列,基于第二事务序列生成预期区块。
在一个实施例中,所述基于所述第二事务序列生成所述目标节点对应的预期区块,包括:基于所述第二事务序列中全部所述第一预期事务,生成区块哈希;发送所述区块哈希至所述相邻节点;在接收到来自所述相邻节点相应预期区块中的多个第二预期事务时,根据所述多个第一预期事务与所述多个第二预期事务,生成同步区块。
其中,所述同步区块用于作为所述目标节点和所述相邻节点的预期区块。
具体的,将第二事务序列中全部第一预期事务作为输入参数代入哈希函数,输出用于指示预期区块的区块哈希,并将区块哈希发送至相邻节点,以此方式各个共识节点相互传递自己的区块哈希,用于校验各个共识节点生成的预期区块是否一致,并用于同步各个共识节点相应预期区块中的预期事务。每当预期区块发生变化后都将重新生成一个对应的区块哈希,并自动将新生成的区块哈希发送至相邻节点,即实时告知相邻节点目标节点的预期区块的变化,便于统一各个共识节点所生成的预期区块。
即相邻节点在接收到目标节点发送的区块哈希时,将自己的区块哈希与目标节点发送的区块哈希进行比对校验,用于校验自己生成的预期区块与目标节点生成的预期区块是否一致,在区块哈希校验失败时,即发现自己生成的预期区块与目标节点生成的预期区块不一致,可能是目标节点遗漏了部分事务,则将自己预期区块中的所有第二预期事务发送至目标节点进行事务同步。
目标节点在接收到相邻节点相应预期区块中的多个第二预期事务时,根据多个第一预期事务结合多个第二预期事务,生成同步区块,并将同步区块作为目标节点和相邻节点更新后的预期区块,避免目标节点或相邻节点遗漏互相存在的预期事务,结合两个节点的事务后生成统一的同步区块。
在一个实施例中,所述在接收到来自所述相邻节点相应预期区块中的多个第二预期事务时,根据所述多个第一预期事务与所述多个第二预期事务,生成同步区块,包括:在接收到来自所述相邻节点相应预期区块中的多个第二预期事务时,根据所述多个第一预期事务与所述多个第二预期事务,确定差异事务集合和相同事务集合;对所述差异事务集合中的差异事务进行合法校验,确定合法事务,其中,所述差异事务为所述第一预期事务或所述第二预期事务;根据所述差异集合中的所述合法事务与所述相同事务集合,生成同步区块。
具体的,差异事务集合包括多个差异事务,差异事务为仅存在于目标节点相应预期区块中的第一预期事务或仅存在于相邻节点相应预期区块中的第二预期事务,相同事务集合包括同时存在于目标节点相应预期区块中和相邻节点相应预期区块中的多个预期事务。
差异事务有可能是由于网络延时导致的,即差异事务的时间戳靠近预设时间戳T,目标节点接收到该事务的时间戳晚于预设时间戳T,但相邻节点接收到该事务的时间戳早于预设时间戳T,因此在进行事务筛选时相邻节点将该事务筛选至事务子集中,而目标节点并未将该事务筛选至事务子集中,从而导致目标节点相应预期区块中的多个第一预期事务与相邻相应预期区块中的多个第二预期事务存在差异。
但也可能是相邻节点故意修改了差异事务的时间戳,即该事务的真实时间戳远远晚于预设时间戳,但经过故意修改后从而使得该事务的时间戳早于预设时间戳,将该事务筛选至事务子集中并用于生成相邻节点对应的预期区块,但在目标节点中基于该事务的真实时间戳并未将该事务筛选至事务子集中,从而导致在相邻节点将其预期区块中的所有事务发送至目标节点后,目标节点相应预期区块中的多个第一预期事务与相邻相应预期区块中的多个第二预期事务存在差异。
因此目标节点需要对差异事务进行合法校验,以确定差异事务是由于网络延迟所遗漏的事务还是被恶意修改后的非法事务,以排除经过恶意修改的差异事务,在确定差异事务为合法事务后,根据差异事务中的合法事务以及相同事务集合中的多个预期事务生成同步区块。
在一个实施例中,所述对所述差异事务集合中的预期事务进行合法校验,确定合法事务,包括:确定所述差异事务集合中的预期事务到达所述目标节点的时间戳与到达所述相邻节点的时间戳之差,得到相应的延迟时长;将所述延迟时长小于预设时长的所述差异事务作为合法事务。
具体的,在对差异事务进行合法验证时,先确定差异事务到达目标节点的时间戳与达到相邻节点的时间戳之差,得到延迟时长,延迟时长记为δ,预设时长通常设定为广播刷新间隔,通常广播刷新间隔为1秒,即事务将花费不超过1秒的时间传播到大多数节点,通常网络延迟不会超过广播刷新间隔。在延迟时长小于预设时长时,表示该差异事务是由于网络延迟所导致的,将该差异事务判定为合法事务;在延迟时长大于预设时长时,表示该差异事务并非是由于网络延迟所导致的,而是经过时间戳的恶意修改后所产生的事务,将该差异事务判定为非法事务,非法事务将被丢弃,无法用于生成预期区块。
图3为一个实施例中预期区块生成方法的流程示意图。应该理解的是,虽然图3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种预期区块生成装置,预期区块生成装置包括预打包模块,预打包模块具体包括:
获取单元310,用于获取生产者节点广播的事务筛选条件,其中,所述事务筛选条件用于所述生产者节点生产生成待广播区块;
生成单元320,用于在接收到所述待广播区块之前,根据目标节点中符合所述事务筛选条件的存储事务,生成所述目标节点对应的预期区块,其中,所述目标节点为任意一个等待接收并传播所述待广播区块的区块头的共识节点,所述预期区块中的第一预期事务与所述待广播区块中的待执行事务相同。
在一个实施例中,所述生成单元320具体用于:
接收来自所述目标节点相邻节点的本地事务池中的存储事务,并存储至所述目标节点的目标事务池中;
根据所述目标事务池中符合所述事务筛选条件的存储事务,生成所述目标节点对应的预期区块。
在一个实施例中,所述生成单元320具体用于:
根据所述目标事务池中时间戳早于所述预设时间戳的存储事务,组成事务子集,其中,所述事务子集包括多个第一预期事务;
将所述多个第一预期事务按照各个所述第一预期事务的事务价格降序排列,得到第一事务序列;
基于所述第一事务序列,生成所述目标节点对应的预期区块。
在一个实施例中,所述生成单元320具体用于:
在所述第一事务序列中存在所述事务价格相同的多个所述第一预期事务时,将所述第一事务序列中所述事务价格相同的多个所述第一预期事务按照事务哈希降序排列,得到第二事务序列;
基于所述第二事务序列生成所述目标节点对应的预期区块。
在一个实施例中,所述生成单元320具体用于:
基于所述第二事务序列中全部所述第一预期事务,生成区块哈希;
发送所述区块哈希至所述相邻节点;
在接收到来自所述相邻节点相应预期区块中的多个第二预期事务时,根据所述多个第一预期事务与所述多个第二预期事务,生成同步区块,其中,所述同步区块用于作为所述目标节点和所述相邻节点的预期区块。
在一个实施例中,所述生成单元320具体用于:
在接收到来自所述相邻节点相应预期区块中的多个第二预期事务时,根据所述多个第一预期事务与所述多个第二预期事务,确定差异事务集合和相同事务集合;
对所述差异事务集合中的差异事务进行合法校验,确定合法事务,其中,所述差异事务为所述第一预期事务或所述第二预期事务;
根据所述差异集合中的所述合法事务与所述相同事务集合,生成同步区块。
在一个实施例中,所述生成单元320具体用于:
确定所述差异事务集合中的预期事务到达所述目标节点的时间戳与到达所述相邻节点的时间戳之差,得到相应的延迟时长;
将所述延迟时长小于预设时长的所述差异事务作为合法事务。
图5示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是服务器。如图5所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现预期区块生成方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行预期区块生成方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的预期区块生成装置可以实现为一种计算机程序的形式,计算机程序可在如图5所示的计算机设备上运行。计算机设备的存储器中可存储组成该预期区块生成装置的各个程序模块,比如,图4所示的获取单元310和生成单元320。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的预期区块生成方法中的步骤。
图5所示的计算机设备可以通过如图4所示的预期区块生成装置中的获取单元310执行获取生产者节点广播的事务筛选条件,其中,所述事务筛选条件用于所述生产者节点生产生成待广播区块。计算机设备可通过生成单元320执行在接收到所述待广播区块之前,根据目标节点中符合所述事务筛选条件的存储事务,生成所述目标节点对应的预期区块,其中,所述目标节点为任意一个等待接收并传播所述待广播区块的区块头的共识节点,所述预期区块中的第一预期事务与所述待广播区块中的待执行事务相同。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一项实施例所述的方法。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一项实施例所述的方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指示相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍速率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种预期区块生成方法,其特征在于,所述方法包括:
获取生产者节点广播的事务筛选条件,其中,所述事务筛选条件用于所述生产者节点生产生成待广播区块,所述事务筛选条件包括预设时间戳以及事务排序要求;
接收来自目标节点相邻节点的本地事务池中的存储事务,并存储至所述目标节点的目标事务池中;
根据所述目标事务池中时间戳早于所述预设时间戳的存储事务,组成事务子集,其中,所述事务子集包括多个第一预期事务;
将所述多个第一预期事务按照各个所述第一预期事务的事务价格降序排列,得到第一事务序列;
基于所述第一事务序列,生成所述目标节点对应的预期区块;
其中,所述目标节点为任意一个等待接收并传播所述待广播区块的区块头的共识节点,所述预期区块中的所述第一预期事务与所述待广播区块中的待执行事务相同。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一事务序列,生成所述目标节点对应的预期区块,包括:
在所述第一事务序列中存在所述事务价格相同的多个所述第一预期事务时,将所述第一事务序列中所述事务价格相同的多个所述第一预期事务按照事务哈希降序排列,得到第二事务序列;
基于所述第二事务序列生成所述目标节点对应的预期区块。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第二事务序列生成所述目标节点对应的预期区块,包括:
基于所述第二事务序列中全部所述第一预期事务,生成区块哈希;
发送所述区块哈希至所述相邻节点;
在接收到来自所述相邻节点相应预期区块中的多个第二预期事务时,根据所述多个第一预期事务与所述多个第二预期事务,生成同步区块,其中,所述同步区块用于作为所述目标节点和所述相邻节点的预期区块。
4.根据权利要求3所述的方法,其特征在于,所述在接收到来自所述相邻节点相应预期区块中的多个第二预期事务时,根据所述多个第一预期事务与所述多个第二预期事务,生成同步区块,包括:
在接收到来自所述相邻节点相应预期区块中的多个第二预期事务时,根据所述多个第一预期事务与所述多个第二预期事务,确定差异事务集合和相同事务集合;
对所述差异事务集合中的差异事务进行合法校验,确定合法事务,其中,所述差异事务为所述第一预期事务或所述第二预期事务;
根据所述差异事务集合中的所述合法事务与所述相同事务集合,生成同步区块。
5.根据权利要求4所述的方法,其特征在于,所述对所述差异事务集合中的预期事务进行合法校验,确定合法事务,包括:
确定所述差异事务集合中的预期事务到达所述目标节点的时间戳与到达所述相邻节点的时间戳之差,得到相应的延迟时长;
将所述延迟时长小于预设时长的所述差异事务作为合法事务。
6.一种预期区块生成装置,其特征在于,所述装置包括:
获取单元,用于获取生产者节点广播的事务筛选条件,其中,所述事务筛选条件用于所述生产者节点生产生成待广播区块;
生成单元,用于接收来自目标节点相邻节点的本地事务池中的存储事务,并存储至所述目标节点的目标事务池中,根据所述目标事务池中时间戳早于预设时间戳的存储事务,组成事务子集,其中,所述事务子集包括多个第一预期事务,将所述多个第一预期事务按照各个所述第一预期事务的事务价格降序排列,得到第一事务序列,根据所述目标事务池中符合所述事务筛选条件的存储事务,生成所述目标节点对应的预期区块;
其中,所述目标节点为任意一个等待接收并传播所述待广播区块的区块头的共识节点,所述预期区块中的第一预期事务与所述待广播区块中的待执行事务相同。
7.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210321015.2A CN115208880B (zh) | 2022-03-29 | 2022-03-29 | 预期区块生成方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210321015.2A CN115208880B (zh) | 2022-03-29 | 2022-03-29 | 预期区块生成方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115208880A CN115208880A (zh) | 2022-10-18 |
CN115208880B true CN115208880B (zh) | 2023-11-10 |
Family
ID=83574610
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210321015.2A Active CN115208880B (zh) | 2022-03-29 | 2022-03-29 | 预期区块生成方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115208880B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108900585A (zh) * | 2018-06-15 | 2018-11-27 | 浙江华信区块链科技服务有限公司 | 跨链事务一致性实现方法 |
CN109194669A (zh) * | 2018-09-18 | 2019-01-11 | 百度在线网络技术(北京)有限公司 | 一种轻量级节点的数据传输方法、装置、设备和介质 |
CN111224793A (zh) * | 2018-11-27 | 2020-06-02 | 华为技术有限公司 | 数据存储方法、装置、计算机设备及可读存储介质 |
CN111371905A (zh) * | 2020-03-27 | 2020-07-03 | 中国人民解放军国防科技大学 | 一种基于云计算的区块链分层共识证明体系结构与方法 |
CN112788527A (zh) * | 2021-01-07 | 2021-05-11 | 厦门大学 | 基于区块链技术的水声协作网络多移动设备身份验证方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10739997B2 (en) * | 2017-11-20 | 2020-08-11 | International Business Machines Corporation | Deletion of blocks in a blockchain |
US11271717B2 (en) * | 2018-02-21 | 2022-03-08 | Thunder Token Inc. | Blockchain consensus methods and systems |
MX2021015531A (es) * | 2019-06-13 | 2022-04-06 | Sheris Luis Eduardo Gutierrez | Sistema y metodo que utiliza un consenso de gradiente de idoneidad de la cadena de bloques y proporciona capacidades avanzadas de libro mayor distribuidas mediante registros de datos especializados. |
WO2021189219A1 (en) * | 2020-03-23 | 2021-09-30 | Dora Network Limited | Blockchain consensus method and system, and computer-readable storage medium |
-
2022
- 2022-03-29 CN CN202210321015.2A patent/CN115208880B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108900585A (zh) * | 2018-06-15 | 2018-11-27 | 浙江华信区块链科技服务有限公司 | 跨链事务一致性实现方法 |
CN109194669A (zh) * | 2018-09-18 | 2019-01-11 | 百度在线网络技术(北京)有限公司 | 一种轻量级节点的数据传输方法、装置、设备和介质 |
CN111224793A (zh) * | 2018-11-27 | 2020-06-02 | 华为技术有限公司 | 数据存储方法、装置、计算机设备及可读存储介质 |
CN111371905A (zh) * | 2020-03-27 | 2020-07-03 | 中国人民解放军国防科技大学 | 一种基于云计算的区块链分层共识证明体系结构与方法 |
CN112788527A (zh) * | 2021-01-07 | 2021-05-11 | 厦门大学 | 基于区块链技术的水声协作网络多移动设备身份验证方法 |
Non-Patent Citations (1)
Title |
---|
LightBlock: Reducing Bandwidth Required to Synchronize Blocks in Ethereum Network;Chonghe Zhao等;2021 International Conference on Communications, Information System and Computer Engineering (CISCE);正文摘要以及第Ⅱ、Ⅲ部分 * |
Also Published As
Publication number | Publication date |
---|---|
CN115208880A (zh) | 2022-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12073400B2 (en) | Method and system for an efficient consensus mechanism for permissioned blockchains using audit guarantees | |
US11663090B2 (en) | Method and system for desynchronization recovery for permissioned blockchains using bloom filters | |
CN110543788B (zh) | 数据存储方法、装置、计算机可读存储介质和计算机设备 | |
CN109542979B (zh) | 一种区块链系统快速同步及简精数据存储的方式 | |
JP7098007B2 (ja) | データベースのための遠隔データ同期方法及び装置 | |
CN110263035A (zh) | 基于区块链的数据存储、查询方法及装置和电子设备 | |
CN111291000B (zh) | 基于区块链的文件获取方法、设备及存储介质 | |
CN112800129B (zh) | 区块状态更新方法、装置、系统和电子设备 | |
CN107748790B (zh) | 一种线上服务系统、数据加载方法、装置及设备 | |
US10474185B2 (en) | Timestamp alignment across a plurality of computing devices | |
CN111899097B (zh) | 一种受理区块链存证交易的方法及系统 | |
CN113888164A (zh) | 区块链交易池实现方法、装置、计算机设备和存储介质 | |
CN110598452B (zh) | 基于区块链的证据信息处理方法、装置、存储介质和设备 | |
CN110597820B (zh) | 基于区块链的信息处理方法、装置、存储介质和设备 | |
CN115208880B (zh) | 预期区块生成方法、装置、计算机设备和存储介质 | |
CN114416883A (zh) | 区块链轻节点数据同步方法、装置、设备及可读存储介质 | |
CN115208898B (zh) | 区块广播方法、装置、计算机设备和存储介质 | |
CN110598477A (zh) | 基于区块链的信息处理方法、装置、存储介质和设备 | |
CN111464254A (zh) | 一种时钟同步方法、装置及电子设备 | |
CN117010889A (zh) | 数据处理方法、装置及设备、介质、产品 | |
CN115146321A (zh) | 区块验证方法、装置、计算机设备和存储介质 | |
NL2026435B1 (en) | Public chain-based blockchain information storage method and system | |
CN112398885B (zh) | 数据传输方法和装置 | |
CN117014451A (zh) | 区块头信息同步方法、装置、电子设备及存储介质 | |
CN117294752A (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 |