CN112070610B - 验证区块合法性的方法及节点、系统、电子设备、介质 - Google Patents
验证区块合法性的方法及节点、系统、电子设备、介质 Download PDFInfo
- Publication number
- CN112070610B CN112070610B CN202010904278.7A CN202010904278A CN112070610B CN 112070610 B CN112070610 B CN 112070610B CN 202010904278 A CN202010904278 A CN 202010904278A CN 112070610 B CN112070610 B CN 112070610B
- Authority
- CN
- China
- Prior art keywords
- block
- packaged
- transaction
- judging
- newly generated
- 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
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
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Accounting & Taxation (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Economics (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Development Economics (AREA)
- General Engineering & Computer Science (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- General Business, Economics & Management (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开提供了一种验证区块合法性的方法,包括:判断区块链网络中新生成的区块的存储空间是否被写满;在所述区块的存储空间未被写满的情形下,判断在所述区块的生成时间戳之前所述区块链网络产生的所有待打包交易的数量与所述区块中已打包交易的数量是否一致;若判断结果为一致,则判定所述新生成的区块为合法区块;若判断结果为不一致,则判定所述新生成的区块为非法区块。本公开还提供了一种区块链节点、区块链网络系统、电子设备和计算机可读介质。
Description
技术领域
本公开涉及通信技术领域,特别涉及一种验证区块合法性的方法及区块链节点、区块链网络系统、电子设备、计算机可读介质。
背景技术
随着区块链技术的飞速发展,区块链的相关应用也越来越多。区块链网络在生成新的区块时,通常需要进行合法性验证。
目前通常仅通过验证新的区块中的交易的合法性,来判定区块的合法性,但这种验证方法并不准确,且缺乏合理性和科学性,大大影响了整个区块链的使用满意度。
发明内容
本公开实施例旨在至少解决现有技术中存在的技术问题之一,提供一种验证区块合法性的方法及区块链节点、区块链网络系统、电子设备、计算机可读介质。
第一方面,本公开实施例提供一种验证区块合法性的方法,包括:
判断区块链网络中新生成的区块的存储空间是否被写满;
在所述区块的存储空间未被写满的情形下,判断在所述区块的生成时间戳之前所述区块链网络产生的所有待打包交易的数量与所述区块中已打包交易的数量是否一致;
若判断结果为一致,则判定所述新生成的区块为合法区块;若判断结果为不一致,则判定所述新生成的区块为非法区块。
在一些实施例中,所述方法还包括:
在所述区块的存储空间被写满的情形下,判断所述区块中交易时间最晚的已打包交易的交易时间,是否不晚于任一所述待打包交易的交易时间;
若判断结果为不晚于,则判定所述新生成的区块为合法区块;若判断结果为晚于,则判定所述新生成的区块为非法区块。
在一些实施例中,所述判断区块链网络中新生成的区块的存储空间是否被写满之前,还包括:
获取区块链网络中新生成的区块的区块内容,所述区块内容包括所述已打包交易的交易信息,所述已打包交易为已写入该区块的交易;
针对所述区块中的每个已打包交易,验证该已打包交易的合法性;
在所有已打包交易的合法性验证通过之后,执行所述判断区块链网络中新生成的区块的存储空间是否被写满的步骤;
若存在一个或多个已打包交易的合法性验证不通过时,则判定所述新生成的区块为非法区块。
第二方面,本公开实施例提供一种区块链节点,包括:
容量判断模块,用于判断区块链网络中新生成的区块的存储空间是否被写满;
合法性判断模块,用于在所述容量判断模块判断出所述区块的存储空间未被写满的情形下,判断在所述区块的生成时间戳之前所述区块链网络产生的所有待打包交易的数量与所述区块中已打包交易的数量是否一致;若判断结果为一致,则判定所述新生成的区块为合法区块;若判断结果为不一致,则判定所述新生成的区块为非法区块。
在一些实施例中,所述合法性判断模块还用于在所述容量判断模块判断出所述区块的存储空间被写满的情形下,判断所述区块中交易时间最晚的已打包交易的交易时间,是否不晚于任一所述待打包交易的交易时间;若判断结果为不晚于,则判定所述新生成的区块为合法区块;若判断结果为晚于,则判定所述新生成的区块为非法区块。
在一些实施例中,该节点还包括获取模块和交易验证模块;
所述获取模块用于获取区块链网络中新生成的区块的区块内容,所述区块内容包括所述已打包交易的交易信息,所述已打包交易为已写入该区块的交易;
所述交易验证模块用于针对所述区块中的每个已打包交易,验证该已打包交易的合法性;在所有已打包交易的合法性验证通过之后,触发所述容量判断模块执行所述判断区块链网络中新生成的区块的存储空间是否被写满的步骤;若存在一个或多个已打包交易的合法性验证不通过时,则判定所述新生成的区块为非法区块。
第三方面,本公开实施例提供一种区块链网络系统,包括多个区块链节点,所述区块链节点包括前述任一实施例所提供的区块链节点。
在一些实施例中,该系统还包括区块合法性验证决策平台,区块合法性验证决策平台用于获取各所述区块链节点对区块链网络中新生成的区块的合法性的验证结果;根据多个区块链节点的验证结果,判定所述新生成的区块是否为合法区块。
第四方面,本公开实施例提供一种电子设备,其包括:一个或多个处理器;存储器,其上存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一实施例所提供的验证区块合法性的方法;一个或多个I/O接口,连接在所述处理器与存储器之间,配置为实现所述处理器与所述存储器的信息交互。
第五方面,本公开实施例提供一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序被执行时实现上述任一实施例所提供的验证区块合法性的方法。
本公开实施例所提供的验证区块合法性的方法及区块链节点、区块链网络系统、电子设备、计算机可读介质,首先判断区块链网络中新生成的区块的存储空间是否被写满,在区块的存储空间未被写满的情形下,判断在区块的生成时间戳之前区块链网络产生的所有待打包交易的数量与区块中已打包交易的数量是否一致,若判断结果为一致则判定新生成的区块为合法区块,若判断结果为不一致则判定新生成的区块为非法区块。从而实现了区块的合法性验证,能够有效提高区块的合法性验证的准确性,从而能够有效避免节点生成的区块缺乏合理性和科学性的现象发生,增强了区块链的使用效率和使用满意度。
附图说明
附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开,并不构成对本公开的限制。通过参考附图对详细示例实施例进行描述,以上和其他特征和优点对本领域技术人员将变得更加显而易见,在附图中:
图1为本公开实施例提供的一种验证区块合法性的方法的流程图;
图2为本公开实施例提供的另一种验证区块合法性的方法的流程图;
图3为本公开实施例提供的一种区块链节点的组成框图;
图4为本公开实施例提供的一种区块链网络系统的组成框图;
图5为本公开实施例提供的一种电子设备的组成框图。
具体实施方式
为使本领域的技术人员更好地理解本公开的技术方案,下面结合附图对本公开提供的验证区块合法性的方法及区块链节点、区块链网络系统、电子设备、计算机可读介质进行详细描述。
在下文中将参考附图更充分地描述示例实施例,但是所述示例实施例可以以不同形式来体现且不应当被解释为限于本文阐述的实施例。反之,提供这些实施例的目的在于使本公开透彻和完整,并将使本领域技术人员充分理解本公开的范围。
在不冲突的情况下,本公开各实施例及实施例中的各特征可相互组合。
如本文所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。
本文所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本文所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。还将理解的是,当本说明书中使用术语“包括”和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其他特征、整体、步骤、操作、元件、组件和/或其群组。
除非另外限定,否则本文所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本文明确如此限定。
本公开实施例所提供的验证区块合法性的方法,可以适用于通信系统,通信系统包括区块链网络系统,区块链网络系统包括多个区块链节点,区块链节点的实现形式可以是终端、设备、服务器、平台等。该方法基于区块链网络实现,且可以由区块链节点执行。具体而言,当区块链网络中任一区块链节点生成新的区块时,其他区块链节点在区块链网络中通过本公开实施例所提供的验证区块合法性的方法,实现对区块链网络中新生成的区块的合法性进行验证。
图1为本公开实施例提供的一种验证区块合法性的方法的流程图,如图1所示,该方法可以由区块链节点来执行,该区块链节点可以通过软件和/或硬件的方式实现,该区块链节点可以集成在如服务器等电子设备中。该验证区块合法性的方法包括步骤S1至步骤S6。
步骤S1、判断区块链网络中新生成的区块的存储空间是否被写满,若是,执行步骤S2、否则执行步骤S6。
具体地,在区块链网络中,任一区块链节点生成新的区块后,将新生成的区块的区块内容广播至区块链网络中,其他区块链节点中每个区块链节点获取到区块链网络中新生成的区块的区块内容之后,根据该区块的区块内容,获知该区块的存储空间大小及存储空间状态,并由此判断该区块的存储空间是否被写满,即该区块的剩余存储空间是否为0。在区块的存储空间未被写满的情形下,执行步骤S2,在区块的存储空间被写满的情形下,执行步骤S6。
在区块链网络中,每一个区块都有它的最大容量(即存储空间),例如一个区块的最大容量是1MB,若该区块的存储空间被写满,表明该区块已无法再写入数据,若该区块的存储空间未被写满,则表明该区块仍然有容量写入数据。
在一些区块链的应用场景中,某些恶意、非法矿工(节点)为了能够更早地挖到矿,以获取更多的奖励,故意在区块内打包(记录)较少的交易,或者故意不将部分账户的交易打包记录到区块等,导致区块处于未被写满的状态。因此,在判断出该新生成的区块的存储空间未被写满的情形下,为了进一步验证区块链网络中新生成的区块的合法性,执行步骤S2。
在一些区块链的应用场景中,某些恶意、非法矿工(节点)为了能够更早地挖到矿,以获取更多的奖励,虽然其已将区块写满,但也可能存在故意不将部分账户的交易打包记录到区块等行为。因此,在判断出该新生成的区块的存储空间被写满的情形下,为了进一步验证区块链网络中新生成的区块的合法性,执行步骤S6。
步骤S2、判断在该区块的生成时间戳之前区块链网络产生的所有待打包交易的数量与区块中已打包交易的数量是否一致,若是,执行步骤S3,否则执行步骤S4。
在区块链网络中,每产生一笔交易,在交易被节点记录入区块之前,该交易将被保存至区块链网络中的待打包交易池,以供区块链节点进行记录。其中,待打包交易池是保留在区块链网络中等待被处理的交易的集合,其包括多个待打包交易,本公开实施例中待打包交易是指待打包交易池中待打包、待处理的合法交易。
其他区块链节点中每个区块链节点(除生成新的区块的节点以外的每个节点)在判断出该新生成的区块的存储空间未被写满的情形下,为了进一步验证区块链网络中新生成的区块的合法性,判断在该区块的生成时间戳之前区块链网络产生的所有待打包交易的数量与区块中已打包交易的数量是否一致,若判断结果为一致,则执行步骤S3,若判断结果为不一致,则执行步骤S4。例如,假设该区块当前已写入99个交易,即已打包交易的数量为99个,若在该区块生成的时间戳之前,区块链网络中实际存在150个待打包交易,则判断出生成该区块的节点存在非法挖矿的行为,由此判定该区块为非法区块,跳转至步骤S4;若在该区块生成的时间戳之前,区块链网络中实际也只存在99个待打包交易,则判断出生成该区块的节点属于正常的挖矿行为,由此判定该区块为合法区块,跳转至步骤S3。
步骤S3、判定新生成的区块为合法区块,并跳转至步骤S5。
在判定出新生成的区块为合法区块后,区块链节点需要告知区块链网络中的其他区块链节点其进行区块合法性验证的验证结果,故跳转至步骤S5。
步骤S4、判定新生成的区块为非法区块,并跳转至步骤S5。
在判定出新生成的区块为非法区块后,区块链节点需要告知区块链网络中的其他区块链节点其进行区块合法性验证的验证结果,故跳转至步骤S5。
步骤S5、在区块链网络中广播对该区块的合法性的验证结果,并结束流程。
若判定新生成的区块为合法区块,则验证结果包括该区块为合法区块的信息;若判定新生成的区块为非法区块,则验证结果包括该区块为非法区块的信息。
步骤S6、判断区块中交易时间最晚的已打包交易的交易时间,是否不晚于任一待打包交易的交易时间,若是,执行步骤S3,否则执行步骤S4。
其他区块链节点中每个区块链节点(除生成新的区块的节点以外的每个节点)在判断出该新生成的区块的存储空间被写满的情形下,为了进一步验证区块链网络中新生成的区块的合法性,判断区块中交易时间最晚的已打包交易的交易时间,是否不晚于任一待打包交易的交易时间,若判断结果为不晚于,则执行步骤S3,若判断结果为晚于,则执行步骤S4。
例如,新生成的区块中所有已打包交易中最晚的交易时间为2020年6月15日13时20分05秒,若所有待打包交易中,存在一个或多个待打包交易的交易时间早于2020年6月15日13时20分05秒,如一待打包交易的交易时间为2020年6月14日14时25分55秒,则上述步骤S6的判断结果为晚于;若所有待打包交易中,所有的待打包交易的交易时间均晚于2020年6月15日13时20分05秒,则上述步骤S6的判断结果为不晚于。
若判断出所有待打包交易中存在一个或多个待打包交易的交易时间早于区块中所有已打包交易中最晚的交易时间,表明矿工(节点)存在故意不将部分账户的交易打包记录到区块或者故意选择部分交易打包记录等的异常行为,由此判定该区块为非法区块,跳转至步骤S4。若判断出所有待打包交易中所有待打包交易的交易时间均晚于区块中所有已打包交易中最晚的交易时间,则判断出生成该区块的节点属于正常的挖矿行为,由此判定该区块为合法区块,跳转至步骤S3。
图2为本公开实施例提供的另一种验证区块合法性的方法的流程图,如图2所示,在一些实施例中,在步骤S1之前,该方法还包括:
步骤S01、获取区块链网络中新生成的区块的区块内容,区块内容包括已打包交易的交易信息,已打包交易为已写入该区块的交易。
如前所述,在区块链网络中,任一区块链节点生成新的区块后,将新生成的区块的区块内容广播至区块链网络中,因此,其他区块链节点中每个区块链节点均能够从区块链网络中获取区块链网络中新生成的区块及其区块内容。其中,区块内容包括但不限于该区块中已打包交易的交易信息(包含交易内容、数量、时间、金额等)、区块头、生成该区块的节点地址、哈希值等。
步骤S02、针对区块中的每个已打包交易,验证该已打包交易的合法性,若所有已打包交易的合法性验证均通过,则执行步骤S1,若存在一个或多个已打包交易的合法性验证不通过时,则执行步骤S4。
在步骤S02中,针对区块中的每个已打包交易,验证该已打包交易的合法性,即验证该已打包交易是否为合法交易,例如,可以通过验证该已打包交易的签名是否正确、该已打包交易是否存在、账户是否能够发起交易转账等,交易的合法性验证可以采用任何合适的验证方式验证,本公开实施例对此不作具体限制。
在步骤S02中,若所有已打包交易的合法性验证均通过,则可以初步判定该区块为合法区块,为了进一步验证该区块的合法性,因此执行步骤S1。若存在一个或多个已打包交易的合法性验证不通过时,表明该区块的已打包交易中存在非法交易,因此判定该区块为非法区块。
在一些实施例中,在区块链网络中,各区块链节点从区块链网络中获取到其他区块链节点对新生成的区块的验证结果之后,可以采用少数服从多数的决策机制,若所有验证结果(包括该区块链节点自身生成的验证结果)中超过一半的验证结果为该区块是合法区块,则该区块链节点最终可以判定该区块确实为合法区块,并保存该区块。若所有验证结果中超过一半的验证结果为该区块是非法区块,则该区块链节点最终可以判定该区块确实为非法区块,并不保存该区块。
本公开实施例所提供的验证区块合法性的方法,首先判断区块链网络中新生成的区块的存储空间是否被写满,在区块的存储空间未被写满的情形下,判断在区块的生成时间戳之前区块链网络产生的所有待打包交易的数量与区块中已打包交易的数量是否一致,若判断结果为一致则判定新生成的区块为合法区块,若判断结果为不一致则判定新生成的区块为非法区块。从而实现了区块的合法性验证,能够有效提高区块的合法性验证的准确性,从而能够有效避免节点生成的区块缺乏合理性和科学性的现象发生,增强了区块链的使用效率和使用满意度。
图3为本公开实施例提供的一种区块链节点的组成框图,如图3所示,该区块链节点包括:容量判断模块201和合法性判断模块202。
其中,容量判断模块201用于判断区块链网络中新生成的区块的存储空间是否被写满。
合法性判断模块202用于在容量判断模块201判断出区块的存储空间未被写满的情形下,判断在区块的生成时间戳之前区块链网络产生的所有待打包交易的数量与所述区块中已打包交易的数量是否一致;若判断结果为一致,则判定新生成的区块为合法区块;若判断结果为不一致,则判定新生成的区块为非法区块。
在一些实施例中,合法性判断模块202还用于在容量判断模块201判断出区块的存储空间被写满的情形下,判断区块中交易时间最晚的已打包交易的交易时间,是否不晚于任一所述待打包交易的交易时间;若判断结果为不晚于,则判定新生成的区块为合法区块;若判断结果为晚于,则判定新生成的区块为非法区块。
在一些实施例中,该区块链节点还包括获取模块2001和交易验证模块2002。
其中,获取模块2001用于获取区块链网络中新生成的区块的区块内容,区块内容包括所述已打包交易的交易信息,已打包交易为已写入该区块的交易。
交易验证模块2002用于针对区块中的每个已打包交易,验证该已打包交易的合法性;在所有已打包交易的合法性验证通过之后,触发容量判断模块201执行判断区块链网络中新生成的区块的存储空间是否被写满的步骤;若存在一个或多个已打包交易的合法性验证不通过时,则判定新生成的区块为非法区块。
此外,本实施例所提供的区块链节点,用于实现上述任一实施例所提供的验证区块合法性的方法,具体描述可参见上述实施例中相关的描述,此处不再赘述。
图4为本公开实施例提供的一种区块链网络系统的组成框图,如图4所示,该区块链网络系统包括:位于区块链网络301中的多个区块链节点302,区块链节点302包括上述实施例所提供的区块链节点,关于该区块链节点的具体描述可参见前述实施例的描述,此处不再赘述。
该系统还包括区块合法性验证决策平台303,区块合法性验证决策平台303用于获取各区块链节点对区块链网络中新生成的区块的合法性的验证结果;根据多个区块链节点的验证结果,判定新生成的区块是否为合法区块。例如,区块合法性验证决策平台303采用少数服从多数的决策机制,若超过50%(除生成区块的节点以外的其他区块链节点的总数量的一半)的区块链节点认为该区块为合法区块,则判定该区块为合法区块,若超过50%的区块链节点认为该区块为非法区块,则判定该区块为非法区块。区块合法性验证决策平台303还用于将最终的区块合法性判定结果广播至区块链网络中,以供各区块链节点根据该最终的区块合法性判定结果,决定是否保存该新生成的区块,若最终的区块合法性判定结果为合法区块,则可以保存该区块,否则不保存。
图5为本公开实施例提供的一种电子设备的组成框图,如图5所示,该电子设备包括:一个或多个处理器401;存储器402,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器401执行,使得一个或多个处理器401实现上述的验证区块合法性的方法;一个或多个I/O接口403,连接在处理器401与存储器402之间,配置为实现处理器401与存储器402的信息交互。
本公开实施例还提供了一计算机可读存储介质,其上存储有计算机程序,其中,该计算机程序被执行时实现前述的验证区块合法性的方法。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
本文已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其他实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。
Claims (8)
1.一种验证区块合法性的方法,其特征在于,包括:
判断区块链网络中新生成的区块的存储空间是否被写满;
在所述区块的存储空间未被写满的情形下,判断在所述区块的生成时间戳之前所述区块链网络产生的所有待打包交易的数量与所述区块中已打包交易的数量是否一致;
若判断结果为一致,则判定所述新生成的区块为合法区块;若判断结果为不一致,则判定所述新生成的区块为非法区块;
所述方法还包括:
在所述区块的存储空间被写满的情形下,判断所述区块中交易时间最晚的已打包交易的交易时间,是否不晚于任一所述待打包交易的交易时间;
若判断结果为不晚于,则判定所述新生成的区块为合法区块;若判断结果为晚于,则判定所述新生成的区块为非法区块。
2.根据权利要求1所述的方法,其特征在于,所述判断区块链网络中新生成的区块的存储空间是否被写满之前,还包括:
获取区块链网络中新生成的区块的区块内容,所述区块内容包括所述已打包交易的交易信息,所述已打包交易为已写入该区块的交易;
针对所述区块中的每个已打包交易,验证该已打包交易的合法性;
在所有已打包交易的合法性验证通过之后,执行所述判断区块链网络中新生成的区块的存储空间是否被写满的步骤;
若存在一个或多个已打包交易的合法性验证不通过时,则判定所述新生成的区块为非法区块。
3.一种区块链节点装置,其特征在于,包括:
容量判断模块,用于判断区块链网络中新生成的区块的存储空间是否被写满;
合法性判断模块,用于在所述容量判断模块判断出所述区块的存储空间未被写满的情形下,判断在所述区块的生成时间戳之前所述区块链网络产生的所有待打包交易的数量与所述区块中已打包交易的数量是否一致;若判断结果为一致,则判定所述新生成的区块为合法区块;若判断结果为不一致,则判定所述新生成的区块为非法区块;
所述合法性判断模块还用于在所述容量判断模块判断出所述区块的存储空间被写满的情形下,判断所述区块中交易时间最晚的已打包交易的交易时间,是否不晚于任一所述待打包交易的交易时间;若判断结果为不晚于,则判定所述新生成的区块为合法区块;若判断结果为晚于,则判定所述新生成的区块为非法区块。
4.根据权利要求3所述的区块链节点装置,其特征在于,还包括获取模块和交易验证模块;
所述获取模块用于获取区块链网络中新生成的区块的区块内容,所述区块内容包括所述已打包交易的交易信息,所述已打包交易为已写入该区块的交易;
所述交易验证模块用于针对所述区块中的每个已打包交易,验证该已打包交易的合法性;在所有已打包交易的合法性验证通过之后,触发所述容量判断模块执行所述判断区块链网络中新生成的区块的存储空间是否被写满的步骤;若存在一个或多个已打包交易的合法性验证不通过时,则判定所述新生成的区块为非法区块。
5.一种区块链网络系统,其特征在于,多个区块链节点装置,所述区块链节点装置包括权利要求3或4所述的区块链节点装置。
6.根据权利要求5所述的系统,其特征在于,还包括区块合法性验证决策平台,区块合法性验证决策平台用于获取各所述区块链节点对区块链网络中新生成的区块的合法性的验证结果;根据多个区块链节点的验证结果,判定所述新生成的区块是否为合法区块。
7.一种电子设备,其包括:
一个或多个处理器;
存储器,其上存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1或2所述的验证区块合法性的方法;
一个或多个I/O接口,连接在所述处理器与存储器之间,配置为实现所述处理器与所述存储器的信息交互。
8.一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序被执行时实现如权利要求1或2所述的验证区块合法性的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010904278.7A CN112070610B (zh) | 2020-09-01 | 2020-09-01 | 验证区块合法性的方法及节点、系统、电子设备、介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010904278.7A CN112070610B (zh) | 2020-09-01 | 2020-09-01 | 验证区块合法性的方法及节点、系统、电子设备、介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112070610A CN112070610A (zh) | 2020-12-11 |
CN112070610B true CN112070610B (zh) | 2023-08-29 |
Family
ID=73666261
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010904278.7A Active CN112070610B (zh) | 2020-09-01 | 2020-09-01 | 验证区块合法性的方法及节点、系统、电子设备、介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112070610B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113673996A (zh) * | 2021-08-06 | 2021-11-19 | 深圳前海微众银行股份有限公司 | 一种基于区块链的检测出块节点的方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103117933A (zh) * | 2013-03-04 | 2013-05-22 | 中国科学院高能物理研究所 | 在多点通信网络中传送数据的方法和系统 |
CN106341421A (zh) * | 2016-10-31 | 2017-01-18 | 杭州云象网络技术有限公司 | 一种基于区块链技术的数据交换方法 |
CN106656974A (zh) * | 2016-10-17 | 2017-05-10 | 江苏通付盾科技有限公司 | 区块链的分组共识方法及系统 |
CN109660601A (zh) * | 2018-11-26 | 2019-04-19 | 北京瑞卓喜投科技发展有限公司 | 一种区块链共识方法及区块链共识装置 |
CN109949157A (zh) * | 2019-03-08 | 2019-06-28 | 矩阵元技术(深圳)有限公司 | 一种区块链共识的处理方法、装置及系统 |
CN110309230A (zh) * | 2019-05-22 | 2019-10-08 | 深圳壹账通智能科技有限公司 | 基于区块链的区块生成方法、装置、设备及存储介质 |
CN111242784A (zh) * | 2020-01-16 | 2020-06-05 | 深圳大学 | 区块预打包方法、区块节点、装置及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11138827B2 (en) * | 2016-09-15 | 2021-10-05 | Simpsx Technologies Llc | Implementations of a computerized business transaction exchange for various users |
-
2020
- 2020-09-01 CN CN202010904278.7A patent/CN112070610B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103117933A (zh) * | 2013-03-04 | 2013-05-22 | 中国科学院高能物理研究所 | 在多点通信网络中传送数据的方法和系统 |
CN106656974A (zh) * | 2016-10-17 | 2017-05-10 | 江苏通付盾科技有限公司 | 区块链的分组共识方法及系统 |
CN106341421A (zh) * | 2016-10-31 | 2017-01-18 | 杭州云象网络技术有限公司 | 一种基于区块链技术的数据交换方法 |
CN109660601A (zh) * | 2018-11-26 | 2019-04-19 | 北京瑞卓喜投科技发展有限公司 | 一种区块链共识方法及区块链共识装置 |
CN109949157A (zh) * | 2019-03-08 | 2019-06-28 | 矩阵元技术(深圳)有限公司 | 一种区块链共识的处理方法、装置及系统 |
CN110309230A (zh) * | 2019-05-22 | 2019-10-08 | 深圳壹账通智能科技有限公司 | 基于区块链的区块生成方法、装置、设备及存储介质 |
CN111242784A (zh) * | 2020-01-16 | 2020-06-05 | 深圳大学 | 区块预打包方法、区块节点、装置及存储介质 |
Non-Patent Citations (1)
Title |
---|
基于区块链的可信仓单系统设计;周元健 等;《信息网络安全》(第6期);84-90 * |
Also Published As
Publication number | Publication date |
---|---|
CN112070610A (zh) | 2020-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110058873B (zh) | 应用页面更新方法、装置、设备和存储介质 | |
CN111259078B (zh) | 区块链共识方法、装置、计算机设备和存储介质 | |
CN113840012B (zh) | 基于区块链的录屏取证方法、系统和电子设备 | |
CN108710681B (zh) | 文件获取方法、装置、设备及存储介质 | |
CN110022315B (zh) | 一种块链式账本中的权重管理方法、装置及设备 | |
US20040073846A1 (en) | Memory device, terminal apparatus, and data repair system | |
CN111767226B (zh) | 一种云计算平台资源的测试方法、系统及设备 | |
TWI762851B (zh) | 塊鏈式帳本中的資料驗證方法、系統、裝置及設備 | |
CN112070610B (zh) | 验证区块合法性的方法及节点、系统、电子设备、介质 | |
CN111245897B (zh) | 数据处理方法、装置、系统、存储介质及处理器 | |
CN107609874B (zh) | 一种交易日志数据验证方法及验证系统 | |
CN107368330B (zh) | 客户端补丁修复方法、装置和系统 | |
CN111459948A (zh) | 一种基于中心化块链式账本的数据块删除方法 | |
CN111444216A (zh) | 一种基于中心化块链式账本的数据块删除方法 | |
CN110059088B (zh) | 一种块链式账本中的数据属性标识方法、装置及设备 | |
CN110727679A (zh) | 法院案卷的协同追踪方法、系统、装置及设备 | |
CN102523205A (zh) | 内容校验和的确定方法及装置 | |
CN110059087B (zh) | 一种块链式账本中的数据属性标识方法、装置及设备 | |
CN111242649A (zh) | 一种基于区块链的企业资质检测方法、装置及存储介质 | |
CN111176567A (zh) | 分布式云存储的存储供应量验证方法及装置 | |
CN112910936B (zh) | 数据处理方法、装置、系统、电子设备及可读存储介质 | |
CN110321133B (zh) | H5应用部署方法及装置 | |
CN112114824A (zh) | 一种基于Linux的软件部署方法及设备 | |
CN111460436A (zh) | 一种基于区块链的非结构化数据操作方法和系统 | |
CN112364010B (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 |