CN113872923B - 基于区块链系统的交易方法、更新方法、装置、设备及存储介质 - Google Patents

基于区块链系统的交易方法、更新方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113872923B
CN113872923B CN202010621984.0A CN202010621984A CN113872923B CN 113872923 B CN113872923 B CN 113872923B CN 202010621984 A CN202010621984 A CN 202010621984A CN 113872923 B CN113872923 B CN 113872923B
Authority
CN
China
Prior art keywords
version
blockchain system
node
transaction
version information
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
Application number
CN202010621984.0A
Other languages
English (en)
Other versions
CN113872923A (zh
Inventor
刘昱
李成才
高勇
邓柯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Quality Starker Technology Co Ltd
Original Assignee
Chengdu Quality Starker Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Chengdu Quality Starker Technology Co Ltd filed Critical Chengdu Quality Starker Technology Co Ltd
Priority to CN202010621984.0A priority Critical patent/CN113872923B/zh
Publication of CN113872923A publication Critical patent/CN113872923A/zh
Application granted granted Critical
Publication of CN113872923B publication Critical patent/CN113872923B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0442Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply asymmetric encryption, i.e. different keys for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

本发明实施例提供一种基于区块链系统的交易方法、更新方法、装置、设备及存储介质,旨在克服区块链分叉问题。其中,所述基于区块链系统的交易方法应用于区块链系统中的节点,所述方法包括:获得交易任务,所述交易任务携带有交易版本信息;根据所述交易版本信息和所述区块链系统的版本信息,判断所述区块链系统的版本是否不低于所述交易任务的版本,其中,所述区块链系统的版本与所述区块链系统中的最低节点版本相对应;在所述区块链系统的版本不低于所述交易任务的版本的情况下,执行所述交易任务。

Description

基于区块链系统的交易方法、更新方法、装置、设备及存储 介质
技术领域
本发明涉及通信技术领域,特别是涉及一种基于区块链系统的交易方法、更新方法、装置、设备及存储介质。
背景技术
区块链技术,也可以称为分布式账本技术,是一种由若干个分布式节点共同参与“记账”,共同维护一份完整的分布式数据库的新兴技术。区块链系统中包括多个分布式节点(下文简称节点),每个节点中运行有节点程序。实际上,区块链系统依靠多个节点程序各自的运行和相互之间的通信,实现对分布式数据库的维护。
区块链系统在运行期间,通常需要面临区块链分叉的问题,而分叉产生的主要原因之一在于区块链系统中各个节点的节点程序版本互不统一。然而由于区块链系统中通常包括很多节点,当软件开发人员发布最新版本的节点程序后,每个节点的管理者有权决定是否对其节点程序进行更新,因此区块链系统中各个节点的节点程序很难持续地保持统一,导致区块链分叉问题总是难以克服。
发明内容
本发明实施例的目的在于提供一种基于区块链系统的交易方法、更新方法、装置、设备及存储介质,旨在克服区块链分叉问题。具体技术方案如下:
在本发明实施例的第一方面,提供一种基于区块链系统的交易方法,所述方法应用于区块链系统中的节点,所述方法包括:
获得交易任务,所述交易任务携带有交易版本信息;
根据所述交易版本信息和所述区块链系统的版本信息,判断所述区块链系统的版本是否不低于所述交易任务的版本,其中,所述区块链系统的版本与所述区块链系统中的最低节点版本相对应;
在所述区块链系统的版本不低于所述交易任务的版本的情况下,执行所述交易任务。
在本发明实施例的第二方面,提供一种区块链系统更新方法,所述方法包括:
获得所述区块链系统中多个节点各自的版本信息;
根据所获得的多个版本信息,判断所述多个节点各自的版本是否均高于所述区块链系统的版本;
在所述多个节点各自的版本均高于所述区块链系统的版本的情况下,控制所述区块链系统的版本信息更新。
可选地,所述在所述多个节点各自的版本均高于所述区块链系统的版本的情况下,控制所述区块链系统的版本信息更新,包括:
在所述多个节点各自的版本均高于所述区块链系统的版本的情况下,从所述多个节点的多个版本中确定最低版本,并控制所述区块链系统的版本信息更新,使得更新后的版本信息与所述最低版本对应。
可选地,所述区块链系统的多个节点中包括第一节点,所述方法应用于所述第一节点。
可选地,所述第一节点是所述多个节点通过共识算法所选举出的主节点。
可选地,所述区块链系统的多个节点中还包括多个第二节点;
所述获得所述区块链系统中多个节点各自的版本信息,包括:
所述第一节点获取其自身的版本信息,以及获取多个第二节点各自的签名后的版本信息;
所述根据所获得的多个版本信息,判断所述多个节点各自的版本是否均高于所述区块链系统的版本,包括:
所述第一节点针对每个签名后的版本信息,利用该签名后的版本信息所对应的公钥,对该签名后的版本信息进行验签;
在多个签名后的版本信息均通过验签的情况下,所述第一节点根据其自身的版本信息和所述多个第二节点各自的版本信息,判断所述多个节点各自的版本是否均高于所述区块链系统的版本。
可选地,所述控制所述区块链系统的版本信息更新,包括:
所述第一节点将其自身的签名后的版本信息和所述多个第二节点各自的签名后的版本信息,封装成版本更新交易;
所述第一节点将封装成的版本更新交易发送给各个第二节点执行,以使得每个第二节点在对版本更新交易中的多个签名后的版本信息经过验签后,更新所述区块链系统的版本信息。
可选地,所述方法还包括:
所述第一节点获得交易任务,所述交易任务携带有交易版本信息;
所述第一节点根据所述交易版本信息和所述区块链系统的版本信息,判断所述区块链系统的版本是否不低于所述交易任务的版本;
所述第一节点在所述区块链系统的版本不低于所述交易任务的版本的情况下,执行所述交易任务。
在本发明实施例的第三方面,提供另一种区块链系统更新方法,所述区块链系统包括多个节点,所述方法应用于所述节点,所述方法包括:
将自身的版本信息发送给目标设备;
接收所述目标设备返回的版本更新交易,其中,所述版本更新交易用于指示所述节点对区块链系统的版本信息进行更新,所述版本更新交易是在所述多个节点各自的版本均高于所述区块链系统的版本的情况下,由所述目标设备所生成的交易;
根据所述版本更新交易,对所述区块链系统的版本信息进行更新。
可选地,所述目标设备是所述多个节点中的一个节点。
可选地,所述目标设备是所述多个节点通过共识算法所选举出的主节点。
可选地,所述将自身的版本信息发送给目标设备,包括:
利用自身的私钥,对自身的版本信息进行签名,得到签名后的版本信息;
将所述签名后的版本信息发送给所述目标设备。
可选地,所述版本更新交易中包括所述多个节点各自的签名后的版本信息;
所述根据所述版本更新交易,对所述区块链系统的版本信息进行更新,包括:
针对所述版本更新交易中的每个签名后的版本信息,根据该签名后的版本信息所对应的公钥,对该签名后的版本信息进行验签;
在多个签名后的版本信息均通过验签的情况下,根据所述多个签名后的版本信息,对所述区块链系统的版本信息进行更新。
可选地,所述根据所述多个签名后的版本信息,对所述区块链系统的版本信息进行更新,包括:
根据所述多个签名后的版本信息和所述区块链系统的版本信息,判断所述多个节点各自的版本是否均高于所述区块链系统的版本;
在所述多个节点各自的版本均高于所述区块链系统的版本的情况下,更新所述块链系统的版本信息,使得更新后的版本信息与所述多个节点的多个版本中的最低版本对应。
可选地,所述方法还包括:
获得交易任务,所述交易任务携带有交易版本信息;
根据所述交易版本信息和所述区块链系统的版本信息,判断所述区块链系统的版本是否不低于所述交易任务的版本;
在所述区块链系统的版本不低于所述交易任务的版本的情况下,执行所述交易任务。
在本发明实施例的第四方面,提供一种基于区块链系统的交易装置,所述装置设置于区块链系统中的节点,所述装置包括:
任务获得模块,用于获得交易任务,所述交易任务携带有交易版本信息;
版本高低判断模块,用于根据所述交易版本信息和所述区块链系统的版本信息,判断所述区块链系统的版本是否不低于所述交易任务的版本,其中,所述区块链系统的版本与所述区块链系统中的最低节点版本相对应;
任务执行模块,用于在所述区块链系统的版本不低于所述交易任务的版本的情况下,执行所述交易任务。
在本发明实施例的第五方面,提供一种区块链系统更新装置,所述装置包括:
版本信息获得模块,用于获得所述区块链系统中多个节点各自的版本信息;
版本高低判断模块,用于根据所获得的多个版本信息,判断所述多个节点各自的版本是否均高于所述区块链系统的版本;
更新控制模块,用于在所述多个节点各自的版本均高于所述区块链系统的版本的情况下,控制所述区块链系统的版本信息更新。
在本发明实施例的第六方面,提供另一种区块链系统更新装置,所述区块链系统包括多个节点,所述装置设置于所述节点,所述装置包括:
版本信息发送模块,用于将自身的版本信息发送给目标设备;
交易接收模块,用于接收所述目标设备返回的版本更新交易,其中,所述版本更新交易用于指示所述节点对区块链系统的版本信息进行更新,所述版本更新交易是在所述多个节点各自的版本均高于所述区块链系统的版本的情况下,由所述目标设备所生成的交易;
版本信息更新模块,用于根据所述版本更新交易,对所述区块链系统的版本信息进行更新。
在本发明实施例的第七方面,提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现本发明任一实施例所提供的区块链系统更新方法或基于区块链系统的交易方法。
在本发明实施例的第八方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任一实施例所提供的区块链系统更新方法或基于区块链系统的交易方法。
本发明为区块链系统引入了版本的概念,并且区块链系统的版本与区块链系统中的最低节点版本相对应。换言之,区块链系统的版本反应了区块链系统中多个节点版本中的最低节点版本。此外,本发明还为交易任务引入了版本概念,交易任务会携带其交易版本信息。如此,当区块链系统中的节点获得交易任务后,根据该交易任务的交易版本信息和区块链系统的版本信息,判断区块链系统的版本是否不低于交易任务的版本,相当于判断区块链系统中的最低节点版本是否不低于交易任务的版本。
如果区块链系统的版本不低于交易任务的版本,换言之,区块链系统中最低节点版本不低于交易任务的版本,则区块链系统中的所有节点均有能力处理该交易任务,因此该交易任务可以被区块链系统中的所有节点顺利执行,从而所有节点在执行该交易任务时,可以输出相同的执行结果。如此,可以有效避免因节点版本不统一而导致的区块链分叉问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,以下描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1是本发明一实施例提出的基于区块链系统的交易方法的流程图;
图2是本发明一实施例提出的区块链系统更新方法的流程图;
图3是本发明一实施例提出的区块链系统更新方法的示意图;
图4是本发明另一实施例提出的区块链系统更新方法的流程图;
图5是本发明一实施例提出的基于区块链系统的交易装置的示意图;
图6是本发明一实施例提出的区块链系统更新装置的示意图;
图7是本发明另一实施例提出的区块链系统更新装置的示意图;
图8是本发明一实施例提出的电子设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
相关技术中,区块链系统中包括多个分布式节点(以下简称节点),每个节点中运行有节点程序。通常情况下,多个节点各自运行的节点程序基本相同但版本不一定统一。以联盟链为例,在联盟链系统应用期间,当软件开发人员发布了最新版本的节点程序后,联盟链系统的多个节点中的部分节点可能会及时将节点程序更新为最新版本的节点程序,而另一部分节点可能不会及时将节点程序更新为最新版本的节点程序,而沿用旧版本的节点程序。可见,区块链系统中多个节点的节点版本(也即节点程序的版本)很难持续地保持统一。
然而节点版本的不统一,是导致区块链分叉问题的主要原因之一。为便于理解,假设整个区块链系统中包括多个节点,这些节点中的部分节点运行新版本的节点程序,而另一部分节点运行旧版本的节点程序。当各个节点获得交易任务时,如果新版本的节点程序能顺利处理该交易任务,而旧版本的节点程序不能处理该交易任务,则不同版本的节点程序在处理该交易任务时,将会产生不同的处理结果。例如,新版本的节点程序可以成功执行该交易任务,并将产生正确的处理结果,而旧版本的节点程序将对该交易任务执行失败,并将产生错误的处理结果,或者不产生处理结果。如此,由于区块链系统中各个节点产生两种或多种不同的处理结果,导致区块链产生分叉。
又由于区块链系统中通常包括很多节点,当软件开发人员发布最新版本的节点程序后,每个节点的管理者有权决定是否对其节点程序进行更新,因此区块链系统中各个节点的节点程序很难持续地保持统一,导致区块链分叉问题始终难以克服。
有鉴于此,本发明通过以下多个实施例提出基于区块链系统的交易方法、更新方法、装置、设备及存储介质,旨在克服区块链分叉问题。
参考图1,图1是本发明一实施例提出的基于区块链系统的交易方法的流程图,该方法应用于区块链系统中的节点。如图1所示,该方法包括以下步骤:
步骤S11:获得交易任务,所述交易任务携带有交易版本信息。
在本发明的一些具体实施方式中,执行本方法的节点可以从用户侧获得交易任务,具体地,用户程序向该节点发送交易任务,该节点接收到该交易任务。
在本发明的另一些具体实施方式中,执行本方法的节点也可以从其他节点处获得交易任务,具体地,区块链系统中的其他节点向该节点发送交易任务,该节点接收到该交易任务。
需要说明的是,对于节点如何获得交易任务,本发明不做限定。
本发明中,交易任务携带交易版本信息,交易版本信息用于表征该交易任务的版本。示例地,交易版本信息的形式可以是版本号。例如某一交易任务的版本号为3.0,则该交易任务携带的交易版本信息为“3.0”。需要说明的是,本发明对交易版本信息的具体形式不做限定。
在本发明的一些具体实施方式中,交易任务携带的交易版本信息,由发出该交易任务的用户程序所确定。具体地,用户程序与区块链系统中的节点通信连接,如果节点中的节点程序被更新,则与该节点通信连接的用户程序也会进行相应的更新。例如节点的节点程序更新至版本3.0,则与该节点通信连接的用户程序也会相应地更新至3.0版本。如此,当3.0版本的用户程序发出交易任务后,该交易任务携带的交易版本信息为“3.0”。
步骤S12:根据所述交易版本信息和所述区块链系统的版本信息,判断所述区块链系统的版本是否不低于所述交易任务的版本,其中,所述区块链系统的版本与所述区块链系统中的最低节点版本相对应。
其中,区块链系统的版本与区块链系统中的最低节点版本相对应,具体是指:区块链系统的版本不高于区块链系统中的最低节点版本。如后续一些实施例中介绍的,区块链系统更新方法被周期性地执行。如果区块链系统更新方法执行地越频繁,和/或,各个节点程序的更新的频率越低,则区块链系统的版本与区块链系统中的最低节点版本通常相等。反之,如果区块链系统更新方法执行地越不频繁,和/或,各个节点程序的更新的频率越高,则区块链系统的版本可能低于区块链系统中的最低节点版本。
本发明中,为区块链系统引入了版本的概念,并且区块链系统的版本与区块链系统中的最低节点版本相对应。换言之,区块链系统的版本反应了区块链系统中多个节点版本中的最低节点版本。其中,节点版本是指节点中运行的节点程序的版本。为便于理解,假设区块链系统中包括多个节点,多个节点的多个节点程序中,部分节点程序的版本为2.0,部分节点程序的版本为3.0。可见,该区块链系统中的最低节点版本为2.0。如此,区块链系统的版本与节点版本2.0对应。示例地,区块链系统的版本信息可以表示为“2.0”。
或者假设区块链系统中包括多个节点,多个节点的多个节点程序中,所有节点程序的版本均为2.0,则该区块链系统中的最低节点版本为2.0。如此,区块链系统的版本与节点版本2.0对应。示例地,区块链系统的版本信息可以表示为“2.0”。
本发明中,由于述区块链系统的版本与该区块链系统中的最低节点版本相对应,因此判断区块链系统的版本是否不低于交易任务的版本,相当于判断区块链系统中的最低节点版本是否不低于交易任务的版本,也即判断区块链系统中的最低节点版本是否有能力处理该交易任务。
在本发明的一些具体实施方式中,区块链系统的版本信息本身或版本信息的哈希值,存储在区块链的区块中,使得区块链系统的版本信息可以视为一种可信数据,有利于确保本发明的实施具有更高的可信度和安全性。
步骤S13:在所述区块链系统的版本不低于所述交易任务的版本的情况下,执行所述交易任务。
如前所述,如果该区块链系统的版本不低于交易任务的版本,则相当于该区块链系统中最低节点版本不低于该交易任务的版本,也即相当于该区块链系统中的最低节点版本有能力处理该交易任务。并且本发明中,高节点版本向下兼容低节点版本,因此该区块链系统中,不仅最低节点版本能处理该交易任务,其他更高的节点版本也能处理该交易任务。
可见,在区块链系统的版本不低于该交易任务的版本的情况下,相当于整个区块链系统的各个节点版本均有能力处理该交易任务。在这种情况下,区块链系统的节点才执行该交易任务,各节点在执行该交易任务后所获得的执行结果相同。如此,可以有效避免因节点版本不统一而导致的区块链分叉问题。
此外,本发明中,在所述区块链系统的版本低于所述交易任务的版本的情况下,不执行所述交易任务。换言之,如果区块链系统中的最低节点版本低于交易任务的版本,则节点不执行交易任务。
在本发明的一些具体实施方式中,如果区块链系统中的最低节点版本低于交易任务的版本,则一方面,节点实际不执行该交易任务;另一方面,节点还可以将该交易任务标记为执行失败,并将该执行失败的结果存入区块,从而在区块链上保存。
为便于理解,区块链系统中的每个节点对应一个节点版本,也即节点程序的版本。区块链系统对应一个区块链版本,该区块链版本与最低节点版本相对应。示例地,部分节点程序的版本为2.0,部分节点程序的版本为3.0。可见,该区块链系统中的最低节点版本为2.0。如此,区块链系统的区块链版本与节点版本2.0对应,则区块链系统的版本信息可以表示为“2.0”。
当区块链系统中的各个节点获得第一交易任务后,判断区块链系统的版本是否不低于第一交易任务的版本。由于区块链系统的版本为2.0,第一交易任务的版本为2.0,区块链系统的版本不低于第一交易任务的版本,因此各个节点均会处理第一交易任务。各个节点各自在处理第一交易任务期间,由于各个节点的节点版本均不低于2.0,因此各个节点均有能力处理第一交易任务,且各个节点在处理第一交易任务后所获得的执行结果相同。如此,整个区块链不会产生分叉。
当区块链系统中的各个节点获得第二交易任务后,判断区块链系统的版本是否不低于第二交易任务的版本。由于区块链系统的版本为2.0,第二交易任务的版本为3.0,区块链系统的版本低于第二交易任务的版本,因此各个节点实际不会处理第二交易任务,各个节点可以将第二交易任务标记为执行失败,并将该执行失败的结果存入区块。换言之,各个节点对第二交易任务的执行结果均为执行失败。如此,整个区块链也不会产生分叉。
可见本发明中,在区块链系统的多个节点中,当某一或某些节点版本不能胜任对交易任务的处理时,整个区块链系统的所有节点均不会处理该交易任务,可以避免所有节点强行处理该交易任务,而导致出现两种或多种不同的处理结果,进而导致区块链分叉。
参考图2,图2是本发明一实施例提出的区块链系统更新方法的流程图。如图2所示,该方法包括以下步骤:
步骤S21:获得所述区块链系统中多个节点各自的版本信息。
如前所述,区块链系统中的每个节点均运行有节点程序,节点的版本信息即是该节点的节点程序的版本。为便于理解,假设某一节点的节点程序为3.0版本,则该节点的版本信息可以表示为“3.0”。
在本发明的一些具体实施方式中,执行所述区块链系统更新方法的执行设备,可以是区块链系统外的设备,该设备与区块链系统中的每个节点均通信连接,或者该设备与区块链系统中的某一节点通信连接。
如果该设备与区块链系统中的每个节点均通信连接,则该设备可以直接从每个节点处获得该节点的版本信息。如果该设备与区块链系统中的某一节点通信连接,则该设备可以向该节点发送版本信息获取请求,该节点响应该版本信息获取请求,向其他节点广播该版本信息获取请求,其他节点收到广播后向该节点返回各自的版本信息,该节点将其自身的版本信息和其他节点各自的版本信息,一并返回给上述设备。
在本发明的另一些具体实施方式中,所述区块链系统的多个节点中包括第一节点,所述方法应用于所述第一节点。换言之,执行所述区块链系统更新方法的执行设备,可以是区块链系统中的某一节点。
本发明中,由于节点本身位于区块链系统中,而本发明又通过该节点执行所述区块链系统更新方法,因此该节点在与其他节点传输数据时(例如接收其他节点发送的版本信息),可以有效减少数据传输的网络开销,也可以进一步提高区块链系统更新方法的执行可信度。
进一步地,执行所述区块链系统更新方法的第一节点,具体可以是区块链系统的多个节点(包括所述第一节点和其他节点)通过共识算法所选举出的主节点。
步骤S22:根据所获得的多个版本信息,判断所述多个节点各自的版本是否均高于所述区块链系统的版本。
如前所述,本发明为区块链系统引入了版本的概念。执行所述区块链系统更新方法的执行设备在获得各个节点的版本信息后,可以根据各个节点的版本信息,以及区块链系统的版本信息,判断多个节点各自的版本是否均高于区块链系统的版本。为便于理解,例如多个节点各自的版本信息中,一部分节点的版本信息为“2.0”,另一部分节点的版本信息为“3.0”,则说明一部分节点的版本为2.0,另一部分节点的版本为3.0。例如区块链系统的版本信息为“2.0”,则说明区块链系统的版本为2.0。可见,一部分节点的版本与区块链系统的版本相同,因此并非所有节点各自的版本均高于区块链系统的版本。
或者例如多个节点各自的版本信息中,所有节点的版本信息均为“3.0”,说明所有节点的版本为3.0。例如区块链系统的版本信息为“2.0”,则说明区块链系统的版本为2.0。可见,所有节点各自的版本均高于区块链系统的版本。
步骤S23:在所述多个节点各自的版本均高于所述区块链系统的版本的情况下,控制所述区块链系统的版本信息更新。
本发明中,如果多个节点各自的版本均高于区块链系统的版本,则需要控制区块链系统的版本信息更新,使得更新后的版本信息与区块链系统中最低节点版本对应。如果并非所有节点各自的版本均高于区块链系统的版本,则区块链系统的版本信息可以不更新。
需要说明的是,由于区块链系统主要由多个节点所组成,因此本发明中区块链系统的版本与多个节点的节点版本相关,具体地,区块链系统的版本等于最低节点版本。相应地,区块链系统的版本信息应当与最低节点版本对应。
执行所述区块链系统更新方法的执行设备在执行上述步骤S23时,具体地,可以在所述多个节点各自的版本均高于所述区块链系统的版本的情况下,从所述多个节点的多个版本中确定最低版本,并控制所述区块链系统的版本信息更新,使得更新后的版本信息与所述最低版本对应。
为便于理解,例如多个节点中一部分节点的版本为2.0,另一部分节点的版本为3.0,而区块链系统的版本为1.0。则在执行上述步骤S23时,可以首先从确定最低版本为2.0版本。然后控制区块链系统的版本信息更新,使得更新后的版本信息与2.0版本对应。例如可以将区块链系统的版本信息更新为“2.0”。
或者例如多个节点中所有节点的版本均为2.0,而区块链系统的版本为1.0。则在执行上述步骤S23时,可以首先从确定最低版本为2.0版本。然后控制区块链系统的版本信息更新,使得更新后的版本信息与2.0版本对应。例如可以将区块链系统的版本信息更新为“2.0”。
通过执行上述步骤S21至步骤S23,可以实现对区块链系统的版本信息的更新,使得区块链系统的版本信息与区块链系统中的最低节点版本对应。如此,区块链系统的版本信息可以应用于上述实施例提出的交易方法,以克服区块链分叉问题。
此外,为了进一步提高整个区块链系统更新方法的执行可信度,也即在执行该区块链系统更新方法期间,提高网络攻击者的攻击难度。在本发明的一些具体实施方式中,如前所述,执行所述区块链系统更新方法的执行设备,可以是区块链系统中的某一节点。换言之,可以利用区块链系统中的某一节点(下文简称为第一节点)来执行所述区块链系统更新方法。具体地,第一节点可以是区块链系统中的多个节点通过共识算法所选举出的主节点。
参考图3,图3是本发明一实施例提出的区块链系统更新方法的示意图,图3中多个节点的分布位置仅作为示例,便于技术人员阅读本附图,本发明对各节点分布位置不做限定。如图3所示,区块链系统中的其他节点(以下简称为第二节点)向第一节点发送版本信息前,可以对版本信息进行签名。
如图3所示,第一节点在执行上述步骤S21时,第一节点一方面获取其自身的版本信息,另一方面获取多个第二节点各自的签名后的版本信息。具体实现时,第一节点可以周期性地(例如每隔12小时)向各个第二节点广播版本信息获取请求。每个第二节点在接收到版本信息获取请求后,对自身的版本信息进行签名,并将签名后的版本信息发送给第一节点。如此,第一节点接收到多个第二节点各自的签名后的版本信息。同时,第一节点还会获得其自身的版本信息。
第一节点在执行上述步骤S22时,第一节点可以针对每个签名后的版本信息,利用该签名后的版本信息所对应的公钥,对该签名后的版本信息进行验签;在多个签名后的版本信息均通过验签的情况下,第一节点根据其自身的版本信息和多个第二节点各自的版本信息,判断多个节点(包括第一节点和多个第二节点)各自的版本是否均高于区块链系统的版本。
为便于理解,例如每个第二节点发送的签名后的版本信息中包括:版本信息、该第二节点的公钥、以及该第二节点利用其私钥对版本信息的签名。第一节点针对每个签名后的版本信息,利用其中的公钥对其中的签名进行解密,得到解密后的版本信息,然后比较解密后的版本信息与接收的版本信息,在两者相一致的情况下,确定该签名后的版本信息通过验签。需要说明的是,以上本本发明给出的一种验签示例,该验签示例仅作为示例,不应理解为是对本发明的限定。
本发明中,第一节点需要在多个签名后的版本信息均通过验签的情况下,才继续执行后续步骤,也即根据其自身的版本信息和多个第二节点各自的版本信息,判断多个节点各自的版本是否均高于区块链系统的版本。
而在某一或某些签名后的版本信息未通过验签的情况下,则说明第二节点向第一节点传递的版本信息,受到了网络攻击者的篡改。本发明为了进一步提升区块链系统更新方法在执行期间的可信度与安全性,在某一或某些签名后的版本信息未通过验签的情况下,第一节点可以终止整个区块链系统更新方法。
如图3所示,如果多个签名后的版本信息均通过验签,则第一节点在执行上述步骤S23时,具体地,第一节点可以将其自身的签名后的版本信息和多个第二节点各自的签名后的版本信息,封装成版本更新交易;第一节点将封装成的版本更新交易发送给各个第二节点执行,以使得每个第二节点在对版本更新交易中的多个签名后的版本信息经过验签后,更新所述区块链系统的版本信息。
其中,第一节点发出的版本更新交易中包括:第一节点的签名后的版本信息和多个第二节点各自的签名后的版本信息。换言之,第一节点发出的版本更新交易中包括区块链系统中的每个节点的签名后的版本信息。每个第二节点在接收到该版本更新交易后,可以针对该版本更新交易中的每个签名后的版本信息,利用该签名后的版本信息所对应的公钥,对该签名后的版本信息进行验签。在所有签名后的版本信息均通过验签的情况下,该第二节点可以继续执行后续步骤以更新区块链系统的版本信息。在某一或某些签名后的版本信息未通过验签的情况下,该第二节点可以终止执行后续步骤,也即不更新区块链系统的版本信息。
此外,第一节点在实施区块链系统更新方法之前,或者在实施区块链系统更新方法期间,或者在实施区块链系统更新方法之后。第一节点还可以获得交易任务,所述交易任务携带有交易版本信息;第一节点根据所述交易版本信息和所述区块链系统的版本信息,判断所述区块链系统的版本是否不低于所述交易任务的版本;第一节点在所述区块链系统的版本不低于所述交易任务的版本的情况下,执行所述交易任务。
换言之,第一节点在实施区块链系统更新方法之前,或者在实施区块链系统更新方法期间,或者在实施区块链系统更新方法之后,还可以实施上述实施例中提出的交易方法。第一节点实施交易方法的具体方式,请参见上述实施例,本发明在此不做赘述。
参考图4,图4是本发明另一实施例提出的区块链系统更新方法的流程图,该区块链系统包括多个节点,该方法应用于该区块链系统中的节点(也即上述实施例中的第二节点)。如图4所示,该方法包括以下步骤:
步骤S41:将自身的版本信息发送给目标设备。
如前所述,在一些具体实施方式中,目标设备可以是区块链系统外的设备,该设备与区块链系统中的每个节点均通信连接,或者该设备与区块链系统中的某一节点通信连接。
如前所述,在另一些具体实施方式中,目标设备可以是区块链系统的多个节点中的某一节点,例如可以是区块链系统的多个节点通过共识算法所选举出的主节点。
节点在执行上述步骤S41时,可以首先利用自身的私钥,对自身的版本信息进行签名,得到签名后的版本信息;然后将所述签名后的版本信息发送给所述目标设备。
步骤S42:接收所述目标设备返回的版本更新交易,其中,所述版本更新交易用于指示所述节点对区块链系统的版本信息进行更新,所述版本更新交易是在所述多个节点各自的版本均高于所述区块链系统的版本的情况下,由所述目标设备所生成的交易。
其中,对于目标设备生成版本更新交易的过程,可参考上述实施例,本发明在此不赘述。
步骤S43:根据所述版本更新交易,对所述区块链系统的版本信息进行更新。
此外,区块链系统中的每个节点执行完上述步骤S41至步骤43之后,可以将区块链系统的更新后的版本信息存入区块中,使得区块链系统的更新后的版本信息最终可以存入区块链中,作为一种不可更改的可信数据。
如前所述,在本发明的一些具体实施方式中,版本更新交易中包括所述多个节点各自的签名后的版本信息。节点在执行步骤S43时,可以针对所述版本更新交易中的每个签名后的版本信息,根据该签名后的版本信息所对应的公钥,对该签名后的版本信息进行验签;在多个签名后的版本信息均通过验签的情况下,根据所述多个签名后的版本信息,对所述区块链系统的版本信息进行更新。此外,在某一或某些签名后的版本信息未通过验签的情况下,节点可以终止执行后续步骤,也即不更新区块链系统的版本信息。
其中,节点在根据所述多个签名后的版本信息,对所述区块链系统的版本信息进行更新时,具体地,可以根据所述多个签名后的版本信息和所述区块链系统的版本信息,判断所述多个节点各自的版本是否均高于所述区块链系统的版本。在所述多个节点各自的版本均高于所述区块链系统的版本的情况下,更新所述块链系统的版本信息,使得更新后的版本信息与所述多个节点的多个版本中的最低版本对应。
此外,节点在实施区块链系统更新方法之前,或者在实施区块链系统更新方法期间,或者在实施区块链系统更新方法之后。节点还可以获得交易任务,所述交易任务携带有交易版本信息;根据所述交易版本信息和所述区块链系统的版本信息,判断所述区块链系统的版本是否不低于所述交易任务的版本;在所述区块链系统的版本不低于所述交易任务的版本的情况下,执行所述交易任务。
换言之,节点在实施区块链系统更新方法之前,或者在实施区块链系统更新方法期间,或者在实施区块链系统更新方法之后,还可以实施上述实施例中提出的交易方法。节点实施交易方法的具体方式,请参见上述实施例,本发明在此不做赘述。
基于同一发明构思,本发明实施例还提供一种基于区块链系统的交易装置。参考图5,图5是本发明一实施例提出的基于区块链系统的交易装置的示意图,所述装置设置于所述区块链系统中的节点。如图5所示,该装置包括:
任务获得模块51,用于获得交易任务,所述交易任务携带有交易版本信息;
版本高低判断模块52,用于根据所述交易版本信息和所述区块链系统的版本信息,判断所述区块链系统的版本是否不低于所述交易任务的版本,其中,所述区块链系统的版本与所述区块链系统中的最低节点版本相对应;
任务执行模块53,用于在所述区块链系统的版本不低于所述交易任务的版本的情况下,执行所述交易任务。
基于同一发明构思,本发明实施例还提供一种区块链系统更新装置。参考图6,图6是本发明一实施例提出的区块链系统更新装置的示意图。如图6所示,该装置包括:
版本信息获得模块61,用于获得所述区块链系统中多个节点各自的版本信息;
版本高低判断模块62,用于根据所获得的多个版本信息,判断所述多个节点各自的版本是否均高于所述区块链系统的版本;
更新控制模块63,用于在所述多个节点各自的版本均高于所述区块链系统的版本的情况下,控制所述区块链系统的版本信息更新。
可选地,所述更新控制模块,具体用于,在所述多个节点各自的版本均高于所述区块链系统的版本的情况下,从所述多个节点的多个版本中确定最低版本,并控制所述区块链系统的版本信息更新,使得更新后的版本信息与所述最低版本对应。
可选地,所述区块链系统的多个节点中包括第一节点,所述装置设置于所述第一节点。
可选地,所述第一节点是所述多个节点通过共识算法所选举出的主节点。
可选地,所述区块链系统的多个节点中还包括多个第二节点;
所述版本信息获得模块,具体用于,使所述第一节点获取其自身的版本信息,以及获取多个第二节点各自的签名后的版本信息;
所述版本高低性判断模块,具体用于,使所述第一节点针对每个签名后的版本信息,利用该签名后的版本信息所对应的公钥,对该签名后的版本信息进行验签;在多个签名后的版本信息均通过验签的情况下,使所述第一节点根据其自身的版本信息和所述多个第二节点各自的版本信息,判断所述多个节点各自的版本是否均高于所述区块链系统的版本。
可选地,所述更新控制模块在控制所述区块链系统的版本信息更新时,具体用于,使所述第一节点将其自身的签名后的版本信息和所述多个第二节点各自的签名后的版本信息,封装成版本更新交易;使所述第一节点将封装成的版本更新交易发送给各个第二节点执行,以使得每个第二节点在对版本更新交易中的多个签名后的版本信息经过验签后,更新所述区块链系统的版本信息。
可选地,所述装置还包括:
任务获得模块,用于使所述第一节点获得交易任务,所述交易任务携带有交易版本信息;
版本高低判断模块,用于使所述第一节点根据所述交易版本信息和所述区块链系统的版本信息,判断所述区块链系统的版本是否不低于所述交易任务的版本;
任务执行模块,用于使所述第一节点在所述区块链系统的版本不低于所述交易任务的版本的情况下,执行所述交易任务。
基于同一发明构思,本发明实施例还提供另一种区块链系统更新装置。参考图7,图7是本发明另一实施例提出的区块链系统更新装置的示意图,所述区块链系统包括多个节点,所述装置设置于所述节点。如图7所示,该装置包括:
版本信息发送模块71,用于将节点自身的版本信息发送给目标设备;
交易接收模块72,用于接收所述目标设备返回的版本更新交易,其中,所述版本更新交易用于指示所述节点对区块链系统的版本信息进行更新,所述版本更新交易是在所述多个节点各自的版本均高于所述区块链系统的版本的情况下,由所述目标设备所生成的交易;
版本信息更新模块73,用于根据所述版本更新交易,对所述区块链系统的版本信息进行更新。
可选地,所述目标设备是所述多个节点中的一个节点。
可选地,所述目标设备是所述多个节点通过共识算法所选举出的主节点。
可选地,所述版本信息发送模块包括:
签名单元,用于利用节点自身的私钥,对自身的版本信息进行签名,得到签名后的版本信息;
版本信息发送单元,用于将所述签名后的版本信息发送给所述目标设备。
可选地,所述版本更新交易中包括所述多个节点各自的签名后的版本信息;
所述版本信息更新模块包括:
验签单元,用于针对所述版本更新交易中的每个签名后的版本信息,根据该签名后的版本信息所对应的公钥,对该签名后的版本信息进行验签;
版本信息更新单元,用于在多个签名后的版本信息均通过验签的情况下,根据所述多个签名后的版本信息,对所述区块链系统的版本信息进行更新。
可选地,所述版本信息更新单元,具体用于,根据所述多个签名后的版本信息和所述区块链系统的版本信息,判断所述多个节点各自的版本是否均高于所述区块链系统的版本;在所述多个节点各自的版本均高于所述区块链系统的版本的情况下,更新所述块链系统的版本信息,使得更新后的版本信息与所述多个节点的多个版本中的最低版本对应。
可选地,所述装置还包括:
任务获得模块,用于获得交易任务,所述交易任务携带有交易版本信息;
版本高低判断模块,用于根据所述交易版本信息和所述区块链系统的版本信息,判断所述区块链系统的版本是否不低于所述交易任务的版本;
任务执行模块,用于在所述区块链系统的版本不低于所述交易任务的版本的情况下,执行所述交易任务。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
基于同一发明构思,本发明实施例还提供了一种电子设备,如图8所示,包括处理器801、通信接口802、存储器803和通信总线804,其中,处理器801,通信接口802,存储器803通过通信总线804完成相互间的通信。
所述存储器803,用于存放计算机程序;
所述处理器801,用于执行存储器803上所存放的程序时,实现如下步骤:
获得交易任务,所述交易任务携带有交易版本信息;
根据所述交易版本信息和所述区块链系统的版本信息,判断所述区块链系统的版本是否不低于所述交易任务的版本,其中,所述区块链系统的版本与所述区块链系统中的最低节点版本相对应;
在所述区块链系统的版本不低于所述交易任务的版本的情况下,执行所述交易任务。
或者,处理器801用于执行存储器803上所存放的程序时,实现如下步骤:
获得所述区块链系统中多个节点各自的版本信息;
根据所获得的多个版本信息,判断所述多个节点各自的版本是否均高于所述区块链系统的版本;
在所述多个节点各自的版本均高于所述区块链系统的版本的情况下,控制所述区块链系统的版本信息更新。
或者,处理器801用于执行存储器803上所存放的程序时,实现如下步骤:
将自身的版本信息发送给目标设备;
接收所述目标设备返回的版本更新交易,其中,所述版本更新交易用于指示所述节点对区块链系统的版本信息进行更新,所述版本更新交易是在所述多个节点各自的版本均高于所述区块链系统的版本的情况下,由所述目标设备所生成的交易;
根据所述版本更新交易,对所述区块链系统的版本信息进行更新。
或者,处理器801用于执行存储器803上所存放的程序时,实现本发明以上其他方法实施例所提供的基于区块链系统的交易方法步骤,或区块链系统更新方法步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的基于区块链系统的交易方法或区块链系统更新方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的基于区块链系统的交易方法或区块链系统更新方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (9)

1.一种基于区块链系统的交易方法,其特征在于,所述方法应用于区块链系统中的节点,所述方法包括:
获得交易任务,所述交易任务携带有交易版本信息,其中,所述交易版本信息为发出该交易任务对应的节点运行的节点程序的版本;
根据所述交易版本信息和所述区块链系统的版本信息,判断所述区块链系统的版本是否不低于所述交易任务的版本,其中,所述区块链系统的版本与所述区块链系统多个节点运行的节点程序版本中版本最低的最低节点版本相对应;
在所述区块链系统的版本不低于所述交易任务的版本的情况下,执行所述交易任务。
2.根据权利要求1所述的方法,其特征在于,所述方法包括:
获得所述区块链系统中多个节点运行的节点程序的版本信息;
根据所获得的多个版本信息,判断所述多个节点运行的节点程序的版本是否均高于所述区块链系统的版本;
在所述多个节点运行的节点程序的版本均高于所述区块链系统的版本的情况下,控制所述区块链系统的版本信息更新。
3.根据权利要求2所述的方法,其特征在于,所述在所述多个节点运行的节点程序的版本均高于所述区块链系统的版本的情况下,控制所述区块链系统的版本信息更新,包括:
在所述多个节点运行的节点程序的版本均高于所述区块链系统的版本的情况下,从所述多个节点运行的多个节点程序的版本中确定最低版本,并控制所述区块链系统的版本信息更新,使得更新后的版本信息与所述最低版本对应。
4.根据权利要求1所述的方法,其特征在于,所述区块链系统包括多个节点,所述方法应用于所述节点,所述方法包括:
将节点运行的节点程序的版本信息发送给目标设备;
接收所述目标设备返回的版本更新交易,其中,所述版本更新交易用于指示所述节点对区块链系统的版本信息进行更新,所述版本更新交易是在所述多个节点运行的节点程序的版本均高于所述区块链系统的版本的情况下,由所述目标设备所生成的交易;
根据所述版本更新交易,对所述区块链系统的版本信息进行更新。
5.一种基于区块链系统的交易装置,其特征在于,所述装置设置于区块链系统中的节点,所述装置包括:
任务获得模块,用于获得交易任务,所述交易任务携带有交易版本信息,其中,所述交易版本信息为发出该交易任务对应的节点运行的节点程序的版本;
版本高低判断模块,用于根据所述交易版本信息和所述区块链系统的版本信息,判断所述区块链系统的版本是否不低于所述交易任务的版本,其中,所述区块链系统的版本与所述区块链系统多个节点运行的节点程序版本中版本最低的最低节点版本相对应;
任务执行模块,用于在所述区块链系统的版本不低于所述交易任务的版本的情况下,执行所述交易任务。
6.根据权利要求5所述的装置,其特征在于,所述装置包括:
版本信息获得模块,用于获得所述区块链系统中多个节点各自的版本信息;
版本高低判断模块,用于根据所获得的多个版本信息,判断所述多个节点运行的节点程序的版本是否均高于所述区块链系统的版本;
更新控制模块,用于在所述多个节点运行的节点程序的版本均高于所述区块链系统的版本的情况下,控制所述区块链系统的版本信息更新。
7.根据权利要求5所述的装置,其特征在于,所述区块链系统包括多个节点,所述装置设置于所述节点,所述装置包括:
版本信息发送模块,用于将节点运行的节点程序的版本信息发送给目标设备;
交易接收模块,用于接收所述目标设备返回的版本更新交易,其中,所述版本更新交易用于指示所述节点对区块链系统的版本信息进行更新,所述版本更新交易是在所述多个节点运行的节点程序的版本均高于所述区块链系统的版本的情况下,由所述目标设备所生成的交易;
版本信息更新模块,用于根据所述版本更新交易,对所述区块链系统的版本信息进行更新。
8.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行存储器上所存放的程序时,实现权利要求1至4任一项所述的方法步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时,实现权利要求1至4任一项所述的方法步骤。
CN202010621984.0A 2020-06-30 2020-06-30 基于区块链系统的交易方法、更新方法、装置、设备及存储介质 Active CN113872923B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010621984.0A CN113872923B (zh) 2020-06-30 2020-06-30 基于区块链系统的交易方法、更新方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010621984.0A CN113872923B (zh) 2020-06-30 2020-06-30 基于区块链系统的交易方法、更新方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN113872923A CN113872923A (zh) 2021-12-31
CN113872923B true CN113872923B (zh) 2023-06-06

Family

ID=78980840

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010621984.0A Active CN113872923B (zh) 2020-06-30 2020-06-30 基于区块链系统的交易方法、更新方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113872923B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109408108A (zh) * 2018-10-12 2019-03-01 天津理工大学 一种基于区块链的软件版本数据管理系统及建立方法
WO2019058340A1 (en) * 2017-09-25 2019-03-28 Shared S.R.L. METHOD FOR EXECUTING INTELLIGENT CONTRACTS VIA ELECTRONIC PROCESSING MEANS USING BLOCK CHAIN TECHNOLOGY
CN110413304A (zh) * 2019-07-31 2019-11-05 中国工商银行股份有限公司 基于区块链网络的智能合约热升级方法及装置
CN110557452A (zh) * 2019-09-04 2019-12-10 腾讯科技(深圳)有限公司 区块链的节点管理方法、装置、存储介质和计算机设备
CN110572450A (zh) * 2019-09-05 2019-12-13 腾讯科技(深圳)有限公司 数据同步方法、装置、计算机可读存储介质和计算机设备
CN111290776A (zh) * 2018-12-10 2020-06-16 航天信息股份有限公司 一种用于管理区块链节点的管理装置及方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019058340A1 (en) * 2017-09-25 2019-03-28 Shared S.R.L. METHOD FOR EXECUTING INTELLIGENT CONTRACTS VIA ELECTRONIC PROCESSING MEANS USING BLOCK CHAIN TECHNOLOGY
CN109408108A (zh) * 2018-10-12 2019-03-01 天津理工大学 一种基于区块链的软件版本数据管理系统及建立方法
CN111290776A (zh) * 2018-12-10 2020-06-16 航天信息股份有限公司 一种用于管理区块链节点的管理装置及方法
CN110413304A (zh) * 2019-07-31 2019-11-05 中国工商银行股份有限公司 基于区块链网络的智能合约热升级方法及装置
CN110557452A (zh) * 2019-09-04 2019-12-10 腾讯科技(深圳)有限公司 区块链的节点管理方法、装置、存储介质和计算机设备
CN110572450A (zh) * 2019-09-05 2019-12-13 腾讯科技(深圳)有限公司 数据同步方法、装置、计算机可读存储介质和计算机设备

Also Published As

Publication number Publication date
CN113872923A (zh) 2021-12-31

Similar Documents

Publication Publication Date Title
CN108683539B (zh) 区块链网络的管理方法、装置、介质及电子设备
US10698675B2 (en) Decentralized automated software updates via blockchain
CN102904927B (zh) 具有时间相关证书的分布式计算机系统
US8869264B2 (en) Attesting a component of a system during a boot process
EP3178011B1 (en) Method and system for facilitating terminal identifiers
US11729007B2 (en) Methods and apparatus to manage timing in a blockchain network
US9135409B2 (en) Distributing update information based on validated license information
US20060156129A1 (en) System for maintaining data
CN111294390B (zh) 一种区块数据快速同步方法、装置、设备及存储介质
JP6385842B2 (ja) 情報処理端末、情報処理方法、及び情報処理システム
CN110543448A (zh) 数据同步方法、装置、设备及计算机可读存储介质
US20190146774A1 (en) Deployment routing of clients by analytics
CN112970020A (zh) 使用分布式账本监视设备部件
CN110597918A (zh) 一种账户管理方法、装置及计算机可读存储介质
CN101636964B (zh) 以最大密钥更新率分配密钥更新的系统和方法
CN109829282B (zh) 基于数字证书认证系统的数字证书处理方法及装置
CN112184436B (zh) 数据同步方法、电子设备及可读存储介质
CN111431908B (zh) 一种访问处理方法、装置,管理服务器及可读存储介质
US20220100493A1 (en) METHOD FOR UPGRADING IoT TERMINAL DEVICE AND ELECTRONIC DEVICE THEREOF
CN112037055B (zh) 交易处理方法、装置、电子设备及可读存储介质
CN113872923B (zh) 基于区块链系统的交易方法、更新方法、装置、设备及存储介质
US20210382872A1 (en) Blockchain-based Data Storage Method, Related Device and Storage Medium
CN111475225A (zh) 微服务配置方法、系统、装置和计算机可读存储介质
CN112181599B (zh) 模型训练方法、装置及存储介质
CN114490135A (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