CN113783839B - 区块链数据更新方法、装置、计算机设备及存储介质 - Google Patents
区块链数据更新方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN113783839B CN113783839B CN202110902385.0A CN202110902385A CN113783839B CN 113783839 B CN113783839 B CN 113783839B CN 202110902385 A CN202110902385 A CN 202110902385A CN 113783839 B CN113783839 B CN 113783839B
- Authority
- CN
- China
- Prior art keywords
- block
- node
- verification
- request
- update
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5682—Policies or rules for updating, deleting or replacing the stored data
-
- 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
-
- 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)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
Abstract
本申请实施例属于区块链技术,涉及一种区块链数据更新方法、装置、计算机设备及存储介质,方法包括:向各节点发送链上数据更新请求,链上数据更新请求中包含针对待更新区块的链上数据更新信息;当根据返回的请求验证结果确定验证通过时,基于链上数据更新信息和请求验证结果生成更新事件信息以及替换区块,替换区块中包含更新节点签名和验证通过节点签名;向各节点广播更新事件信息;当检测到最新区块包含更新事件信息时,将最新区块的区块号存储到替换区块中;向各节点发送针对替换区块的区块验证请求;当根据返回的区块验证结果确定验证通过时,将替换区块替换待更新区块,完成区块链数据更新。本申请实现了区块链链上数据的更新。
Description
技术领域
本申请涉及区块链技术领域,尤其涉及一种区块链数据更新方法、装置、计算机设备及存储介质。
背景技术
区块链是一种分布式的共享账本和数据库,其特点是去中心化、公开透明,而且具有不可修改的特点。区块链的不可修改性虽然可以保证数据安全,但是也存在滥用的风险。有些数据,例如一些隐私数据、商业秘密、非法消息、异常信息等,并不适合被发送至区块链上。如果这些数据被发送到了区块链上,由于传统区块链的不可修改性,想要更新、修正链上的数据会变得非常困难,而这些链上的数据也可能会造成严重的影响。
发明内容
本申请实施例的目的在于提出一种区块链数据更新方法、装置、计算机设备及存储介质,以实现区块链数据的更新。
为了解决上述技术问题,本申请实施例提供一种区块链数据更新方法,采用了如下所述的技术方案:
向各节点发送链上数据更新请求,所述链上数据更新请求中包含针对待更新区块的链上数据更新信息;
获取各节点根据所述链上数据更新请求返回的请求验证结果;
当根据所述请求验证结果确定验证通过时,基于所述链上数据更新信息和所述请求验证结果生成针对所述待更新区块的更新事件信息以及替换区块,所述替换区块中包含更新节点签名和验证通过节点签名;
向各节点广播所述更新事件信息;
当检测到区块链中的最新区块包含所述更新事件信息时,将所述最新区块的区块号作为记录区块号存储到所述替换区块中;
向各节点发送针对所述替换区块的区块验证请求,并接收各节点根据所述区块验证请求返回的区块验证结果;
当根据所述区块验证结果确定验证通过时,将所述替换区块替换所述待更新区块,完成区块链数据更新。
为了解决上述技术问题,本申请实施例还提供一种区块链数据更新装置,采用了如下所述的技术方案:
请求发送模块,用于向各节点发送链上数据更新请求,所述链上数据更新请求中包含针对待更新区块的链上数据更新信息;
请求结果获取模块,用于获取各节点根据所述链上数据更新请求返回的请求验证结果;
生成模块,用于当根据所述请求验证结果确定验证通过时,基于所述链上数据更新信息和所述请求验证结果生成针对所述待更新区块的更新事件信息以及替换区块,所述替换区块中包含更新节点签名和验证通过节点签名;
信息发送模块,用于向各节点广播所述更新事件信息;
区块号记录模块,用于当检测到区块链中的最新区块包含所述更新事件信息时,将所述最新区块的区块号作为记录区块号存储到所述替换区块中;
验证结果获取模块,用于向各节点发送针对所述替换区块的区块验证请求,并接收各节点根据所述区块验证请求返回的区块验证结果;
区块替换模块,用于当根据所述区块验证结果确定验证通过时,将所述替换区块替换所述待更新区块,完成区块链数据更新。
为了解决上述技术问题,本申请实施例还提供一种计算机设备,采用了如下所述的技术方案:
向各节点发送链上数据更新请求,所述链上数据更新请求中包含针对待更新区块的链上数据更新信息;
获取各节点根据所述链上数据更新请求返回的请求验证结果;
当根据所述请求验证结果确定验证通过时,基于所述链上数据更新信息和所述请求验证结果生成针对所述待更新区块的更新事件信息以及替换区块,所述替换区块中包含更新节点签名和验证通过节点签名;
向各节点广播所述更新事件信息;
当检测到区块链中的最新区块包含所述更新事件信息时,将所述最新区块的区块号作为记录区块号存储到所述替换区块中;
向各节点发送针对所述替换区块的区块验证请求,并接收各节点根据所述区块验证请求返回的区块验证结果;
当根据所述区块验证结果确定验证通过时,将所述替换区块替换所述待更新区块,完成区块链数据更新。
为了解决上述技术问题,本申请实施例还提供一种计算机可读存储介质,采用了如下所述的技术方案:
向各节点发送链上数据更新请求,所述链上数据更新请求中包含针对待更新区块的链上数据更新信息;
获取各节点根据所述链上数据更新请求返回的请求验证结果;
当根据所述请求验证结果确定验证通过时,基于所述链上数据更新信息和所述请求验证结果生成针对所述待更新区块的更新事件信息以及替换区块,所述替换区块中包含更新节点签名和验证通过节点签名;
向各节点广播所述更新事件信息;
当检测到区块链中的最新区块包含所述更新事件信息时,将所述最新区块的区块号作为记录区块号存储到所述替换区块中;
向各节点发送针对所述替换区块的区块验证请求,并接收各节点根据所述区块验证请求返回的区块验证结果;
当根据所述区块验证结果确定验证通过时,将所述替换区块替换所述待更新区块,完成区块链数据更新。
与现有技术相比,本申请实施例主要有以下有益效果:向各节点发送链上数据更新请求,各节点对链上数据更新请求进行验证以保证区块链的安全性,并返回请求验证结果;当根据请求验证结果确定验证通过时,生成针对待更新区块的更新事件信息以及替换区块,替换区块中包含更新节点签名和验证通过节点签名,更新节点签名是发起更新的节点的签名,验证通过节点签名是对链上数据更新请求验证通过节点的签名;再向各节点广播更新事件信息,当本次更新作为交易被记录到最新区块中时,将最新区块的区块号作为记录区块号存储到替换区块中,然后由各节点对替换区块进行验证,其中,替换区块中的签名和记录区块号用于对本次更新进行记录、以及替换区块的验证,保证本次更新的安全性和可靠性;当确定验证通过时,使替换区块替换待更新区块,完成区块链数据更新;本申请中各节点可以对区块数据的更新进行验证,实现各节点之间的共识,从而实现区块数据的更新。
附图说明
为了更清楚地说明本申请中的方案,下面将对本申请实施例描述中所需要使用的附图作一个简单介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请可以应用于其中的示例性***架构图;
图2是根据本申请的区块链数据更新方法的一个实施例的流程图;
图3是本申请的区块链数据更新方法中区块头的示意图;
图4是根据本申请的区块链数据更新装置的一个实施例的结构示意图;
图5是根据本申请的计算机设备的一个实施例的结构示意图。
具体实施方式
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中在申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。本申请的说明书和权利要求书或上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
为了使本技术领域的人员更好地理解本申请方案,下面将结合附图,对本申请实施例中的技术方案进行清楚、完整地描述。
本申请提供的区块链数据更新方法,可以应用于如图1所示的应用环境中。其中,区块链***100可以包括多个节点,具体可以包括节点101、节点 102、节点103、节点104、节点105和节点106,图1中的各节点通过网络 107进行通信。可以理解,图1中举例说明的6个节点仅仅是示例性的,而非限制性的,区块链***100可以包括更多节点,也可以包括更少节点。图1 中的每个节点可以是独立的服务器、终端设备、多个服务器组成的服务器集群中的单个服务器,还可以是服务器或终端设备中运行的虚拟机。
需要说明的是,本申请实施例所提供的区块链数据更新方法一般由服务器执行,相应地,区块链数据更新装置一般设置于服务器中。
在一个实施例中,如图2所示,提供了一种区块链数据更新方法,以该方法应用于图1中由服务器实现的节点为例进行说明,包括以下步骤:
步骤S201,向各节点发送链上数据更新请求,链上数据更新请求中包含针对待更新区块的链上数据更新信息。
在本实施例中,区块链数据更新方法运行于其上的电子设备(例如图1所示的服务器)可以通过有线连接方式或者无线连接方式与各节点进行通信。需要指出的是,上述无线连接方式可以包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
其中,链上数据更新请求可以是对区块链链上数据进行更新的请求;所要更新的链上数据所在的区块是待更新区块;链上数据更新信息记录了如何对链上数据进行更新,可以包括更新前的链上数据和更新后的链上数据。
具体地,当某个节点需要对区块链中某区块的链上数据进行更新时,该节点将作为更新节点,将该区块确定为待更新区块,并根据更新前的链上数据和更新后的链上数据生成链上数据更新信息,然后根据待更新区块和链上数据更新信息,生成链上数据更新请求。
更新节点对链上数据的更新包括数据修改和数据删除。
更新节点所在的服务器将生成的链上数据更新请求发送至区块链***中的各节点。
本申请所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(Blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
步骤S202,获取各节点根据链上数据更新请求返回的请求验证结果。
具体地,各节点在接收到链上数据更新请求后,可以校验更新节点是否具有更新权限,以及链上数据更新信息是否符合更新标准。各节点在校验后生成请求验证结果,请求验证结果可以表明链上数据更新请求是否通过校验。
步骤S203,当根据请求验证结果确定验证通过时,基于链上数据更新信息和请求验证结果生成针对待更新区块的更新事件信息以及替换区块,替换区块中包含更新节点签名和验证通过节点签名。
具体地,请求验证结果可以表示节点是否对链上数据更新请求验证通过,服务器统计验证通过的节点的数量,当该数量大于预设的数量阈值时,表明区块链***对链上数据更新请求验证通过,服务器可以对待更新区块进行更新。
链上数据更新信息记录了更新前和更新后的链上数据,依据链上数据更新信息可以对待更新区块进行更新,得到替换区块。替换区块中包含更新节点签名和验证通过节点签名。
在一个实施例中,更新节点获取对链上数据更新请求验证通过节点的节点标识、更新节点标识和链上数据更新信息进行签名,得到更新节点签名。验证通过节点签名可以从请求验证结果中提取,当节点对链上数据更新请求验证通过时,对自己的节点标识、更新节点标识和链上数据更新信息进行签名,得到验证通过节点签名。
服务器还生成更新事件信息,更新事件信息可以记录本次更新的更新节点、对链上数据更新请求验证通过的节点、链上数据更新信息和待更新区块。
步骤S204,向各节点广播更新事件信息。
具体地,服务器可以将更新事件信息作为交易信息,向区块链***中的各节点进行广播。当某个节点打包新的区块时,可以将更新事件信息打包到新的区块中。
步骤S205,当检测到区块链中的最新区块包含更新事件信息时,将最新区块的区块号作为记录区块号存储到替换区块中。
具体地,服务器获取区块链中的最新区块,检测最新区块中是否记录了更新事件信息。如果本次更新的更新事件信息被记录在最新区块中,则将最新区块的区块号作为记录区块号存储到替换区块中。
步骤S206,向各节点发送针对替换区块的区块验证请求,并接收各节点根据区块验证请求返回的区块验证结果。
其中,区块验证请求可以是指示各节点对替换区块进行验证的请求。
具体地,将记录区块号存储到替换区块中后,服务器向各节点发送针对替换区块的区块替换请求,由各节点对替换区块进行验证,各节点对替换区块进行验证后,会生成区块验证结果,并将区块验证结果返回至更新节点。
步骤S207,当根据区块验证结果确定验证通过时,将替换区块替换待更新区块,完成区块链数据更新。
具体地,区块验证结果可以表明替换区块是否通过各节点的验证,服务器统计验证通过的节点的数量,当该数量大于预设的数量阈值时,表明各节点对替换区块验证通过,服务器可以使替换区块替代区块链中的待更新区块,从而完成区块链数据更新。
本实施例中,向各节点发送链上数据更新请求,各节点对链上数据更新请求进行验证以保证区块链的安全性,并返回请求验证结果;当根据请求验证结果确定验证通过时,生成针对待更新区块的更新事件信息以及替换区块,替换区块中包含更新节点签名和验证通过节点签名,更新节点签名是发起更新的节点的签名,验证通过节点签名是对链上数据更新请求验证通过节点的签名;再向各节点广播更新事件信息,当本次更新作为交易被记录到最新区块中时,将最新区块的区块号作为记录区块号存储到替换区块中,然后由各节点对替换区块进行验证,其中,替换区块中的签名和记录区块号用于对本次更新进行记录、以及替换区块的验证,保证本次更新的安全性和可靠性;当确定验证通过时,使替换区块替换待更新区块,完成区块链数据更新;本申请中各节点可以对区块数据的更新进行验证,实现各节点之间的共识,从而实现区块数据的更新。
进一步的,上述步骤S203可以包括:当根据请求验证结果确定验证通过时,根据待更新区块和链上数据更新信息确定替换区块数据;对替换区块数据进行加密得到更新节点签名,并从验证结果中提取验证通过节点签名;基于更新节点签名和验证通过节点签名生成替换区块头;基于替换区块头和替换区块数据生成替换区块;根据请求验证结果和链上数据更新信息生成更新事件信息。
其中,区块由区块头和区块数据构成,区块数据是区块链所要记录的信息,例如交易信息。替换区块可以是新生成的区块,替换区块数据可以是新生成的区块中存储的区块数据,替换区块头可以是新生成的区块中的区块头。
具体地,请求验证结果记录了各节点对链上数据更新请求是否校验通过。当对链上数据更新请求校验通过的节点数量超过预设阈值时,即可视为区块链***通过链上数据更新请求,更新节点可以对待更新区块进行更新。
服务器获取待更新区块和链上数据更新信息,链上数据更新信息记录了更新前和更新后的链上数据,根据链上数据更新信息可以更新待更新区块中的区块数据,得到替换区块数据。
服务器使用哈希函数对替换区块数据进行哈希运算,然后使用更新节点的私钥对哈希运算后的替换区块数据进行加密,得到更新节点签名。
请求验证结果中还包括各节点的验证通过节点签名。节点对链上数据更新请求校验通过后,也会生成替换区块数据,并使用各自的私钥对替换区块数据进行签名得到验证通过节点签名。服务器从请求验证结果中提取验证通过节点签名,基于更新节点签名和验证通过节点签名生成替换区块头,替换区块头和替换区块数据可以构成替换区块。
替换区块头中还可以记录更新节点的节点标识以及更新节点的证书。将验证通过节点签名存入替换区块头中时,还可以记录验证通过节点的节点标识,并将验证通过节点的节点标识和验证通过节点签名对应存储。节点标识是节点的标识,可以唯一地标识一个节点。
图3是一个实施例中区块头的示意图,具体地,参照图3,区块头可以由 9个区域构成,依次为:
①前块哈希值,是区块的前一区块在未更新状态下的哈希值。
②本区块默尔克(Merkle)树根,默克尔树(Merkle tree)是树形结构,它的任一父节点等于左右子节点数据相加后的哈希值,所以默克尔树有另外一个名字哈希树(Hashtree)。默克尔树的最顶层节点叫做默克尔树根(merkle tree root)。在区块链领域,默克尔树根通常由区块数据运算生成。
③时间戳,是区块生成时的时间戳。
④工作量证明,Proof of Work,是最初发布该区块的节点的工作量证明。
⑤区块初始信息,记录区块在未更新状态下的哈希值。
⑥区块更新状态,用于记录区块是否经过更新,可以设置两个值,一个值表示区块未经过更新,一个值表示区块已 经过更新,例如,当区块更新状态中记录的数值为0时,表示区块未经过更新,当区块更新状态中记录的数值为1时,表示区块是更新后的区块。
⑦更新节点签名,存储更新节点的更新节点签名,还可以存储更新节点的证书和节点标识。
⑧验证通过节点签名,存储对链上数据更新请求校验通过的节点的验证通过节点签名,还可以存储验证通过节点的节点标识。
⑨记录区块号,对区块进行更新时,需要由一个区块对本次更新的更新事件信息进行记录,进行记录的区块的区块号,将被存储到更新后区块的区块头中。
本实施例中,当根据请求验证结果确定验证通过时,生成更新节点的更新节点签名,从验证结果中提取验证通过节点签名,基于更新节点签名和验证通过节点签名生成替换区块头和替换区块,并生成更新事件信息;更新节点签名、验证通过节点签名和更新事件信息用于后续对替换区块的校验,保证了区块链数据更新的安全性。
进一步的,上述步骤S201之后,还可以包括:各节点根据更新节点发送的链上数据更新请求,获取更新节点的信用记录信息;各节点根据信用记录信息对更新节点进行信用校验;当更新节点通过信用校验时,各节点将链上数据更新信息输入信息识别模型以及规则库,以进行信息校验;当链上数据更新信息通过信息校验时,各节点生成表示验证通过的请求验证结果;各节点将请求验证结果发送至更新节点。
具体地,当各节点接收到来自更新节点的链上数据更新请求时,获取存储的更新节点的信用记录信息。信用记录信息用于对节点过往的行为进行记录,可以对节点进行信用评估。信用记录信息可以记录节点是否发布过虚假、错误、不符合标准的交易信息,也可以记录节点是否发送过未被区块链***校验通过的链上数据更新请求。节点每次发布虚假、错误或者不符合标准的交易信息,或者发送过未被区块链***校验通过的链上数据更新请求,则扣除该节点的信用分数。当节点的信用分数小于预设的分数阈值时,该节点为失信节点,节点无法通过信用校验;当节点的信用分数不低于预设的分数阈值时,节点通过信用校验。
当更新节点通过信用校验时,将链上数据更新请求中的链上数据更新信息输入预先训练完毕的信息识别模型和规则库,以对链上数据更新信息进行校验。信息识别模型依据神经网络搭建,例如可以是LSTM(Long Short-Term Memory,长短期记忆人工神经网络)网络或者是BERT模型。信息识别模型可以检测链上数据更新信息中是否存在语义敏感的词句。规则库可以是构建的正则表达式,能够识别链上数据更新信息中的特定词句,当特定词句为预设类型的数值字段时,还可以检测数值是否在预设区间内。信息识别模型检测的语义敏感的词句、规则库检测到的特定词句可以包括:隐私数据、商业秘密、非法消息、异常信息等。
当信息识别模型未检测出语义敏感的词句,规则库未检测出符合正则表达式的特定词句,或者预设类型的数值字段的取值在预设区间内时,链上数据更新信息通过信息校验。节点可以生成表示验证通过的请求验证结果,并将请求验证结果发送至更新节点。
当更新节点未通过信用校验,或者链上数据更新信息未通过信息校验时,节点可以生成表示验证未通过的请求验证结果,并将请求验证结果发送至更新节点。
本实施例中,各节点先对更新节点进行信用校验,再对链上数据更新信息进行信息校验,当全部校验通过时,生成表示验证通过的请求验证结果,避免了节点对链上数据的随意修改。
进一步的,上述当链上数据更新信息通过信息校验时,各节点生成表示验证通过的请求验证结果的步骤可以包括:当链上数据更新信息通过信息校验时,各节点根据待更新区块和链上数据更新信息确定替换区块数据;各节点对替换区块数据进行加密得到验证通过节点签名;各节点基于验证通过节点签名,生成请求验证结果。
具体地,当链上数据更新信息通过信息校验时,各节点获取待更新区块,依据链上数据更新信息更新待更新区块中的区块数据,得到替换区块数据。
各节点对替换区块数据进行哈希运算,并利用各自的私钥对哈希运算后的替换区块数据进行加密,得到验证通过节点签名。各节点再生成请求验证结果,请求验证结果中记录节点是否对链上数据更新请求验证通过,当验证通过时,请求验证结果中还需要包括验证通过节点签名。
本实施例中,各节点对替换区块数据进行加密得到验证通过节点签名,基于验证通过节点签名生成请求验证结果,保证了请求验证结果的可信度。
进一步的,上述向各节点发送针对替换区块的区块验证请求的步骤之后,还可以包括:当各节点接收到更新节点发送的区块验证请求时,获取替换区块;各节点对替换区块中的更新节点签名、验证通过节点签名和记录区块号进行校验,得到区块验证结果;各节点将区块验证结果发送至更新节点。
具体地,当各节点接收到更新节点发送的区块验证请求时,获取替换区块以对替换区块进行验证。各节点对替换区块的验证,可以是校验替换区块中的更新节点签名、验证通过节点签名和记录区块号是否正确,并在校验结束后生成区块验证结果,区块验证结果可以记录替换区块是否通过节点的验证。各节点生成区块验证结果后,各自将区块验证结果发送至更新节点。
本实施例中,在对链上数据更新请求进行验证后,各节点对替换区块进行校验,以避免更新节点随意更新区块,保证了区块链数据更新的安全性。
进一步的,上述各节点对替换区块中的更新节点签名、验证通过节点签名和记录区块号进行校验,得到区块验证结果的步骤可以包括:各节点提取替换区块中的替换区块数据;各节点基于更新节点的公钥和替换区块数据,对替换区块中的更新节点签名进行校验;当对更新节点签名校验通过时,各节点获取对链上数据更新请求验证通过的节点的公钥,以对替换区块中的验证通过节点签名进行校验;当对验证通过节点签名校验通过时,各节点提取替换区块中的记录区块号,并在记录区块号所对应的区块中查询针对替换区块的更新事件信息,以进行记录区块号校验;当对记录区块号校验通过时,各节点生成表示验证通过的区块校验结果。
具体地,各节点可以对替换区块中的更新节点签名、验证通过节点签名和记录区块号进行验证,对以上三者的验证可以顺序进行,当其中一者未通过验证时,替换区块便无法通过验证,生成表示验证未通过的区块校验结果。本申请以更新节点签名、验证通过节点签名和记录区块号的顺序为例进行说明,在实际应用中,三者的顺序可以进行调换。
各节点获取替换区块中的替换区块数据。各节点中预存了每个节点的公钥。各节点可以提取更新节点的公钥,对更新节点签名进行解密,然后对替换区块数据进行哈希运算,比较哈希运算后的替换区块数据和更新节点签名解密后的数据是否相同,若相同,则更新节点签名通过校验。
验证通过节点签名是对链上数据更新请求验证通过的节点的签名,当对更新节点签名校验通过时,各节点获取对链上数据更新请求验证通过的节点公钥,对验证通过节点签名进行解密;然后对替换区块中的替换区块数据进行哈希运算,比较哈希运算后的替换区块数据和验证通过节点签名解密后的数据是否相同,若相同,则验证通过节点签名通过校验。
当对各验证通过节点签名校验通过时,获取替换区块中的记录区块号,查询记录区块号对应的区块,并在该区块中查询是否存在针对替换区块的更新事件信息;当查询到时,对记录区块号校验通过,节点可以生成表示对替换区块验证通过的区块校验结果。
本实施例中,根据替换区块数据和存储的公钥,对更新节点签名和验证通过节点签名进行校验,并在记录区块号对应的区块中查询针对替换区块的更新事件信息,以对记录区块号进行校验,保证了区块链数据修改的安全性。
进一步的,上述当对记录区块号校验通过时,各节点生成表示验证通过的区块校验结果的步骤之后,还包括:各节点比对替换区块中的区块初始信息和替换区块的后一区块中的前块哈希值,以对替换区块中的区块初始信息进行校验;当对替换区块中的区块初始信息校验通过时,各节点比对替换区块中的前块哈希值和替换区块的前一区块中的区块初始信息,以对替换区块中的前块哈希值进行校验;当对替换区块中的前块哈希值校验通过时,各节点更新区块校验结果。
具体地,各节点还可以对替换区块中的区块初始信息和前块哈希值进行校验。区块初始信息是区块在未更新状态下的哈希值,记录了区块的最初始状态;前块哈希值记录了区块的前一区块在未更新状态下的哈希值,是前一区块的最初始状态,区块中的区块初始信息和前块哈希值在区块更新中保持不变,且可以将区块和区块链中的前一区块和后一区块衔接起来,因此,还可以对替换区块进行衔接验证。
各节点可以提取替换区块中的区块初始信息,从区块的后一区块中提取前块哈希值,比较两者是否相同,若相同,则对替换区块中的区块初始信息校验通过。
还可以再提取替换区块中的前块哈希值,从区块的前一区块中提取区块初始信息,比对两者是否相同,若相同,则对替换区块中的前块哈希值校验通过。
在对前块哈希值校验通过后,可以更新区块校验结果,使得区块校验结果表明替换区块中的区块初始信息和前块哈希值也通过校验。
在一个实施例中,各节点接收到针对区块的验证请求后,先读取区块中的区块更新状态,当区块更新状态表明区块经过更新时,对区块中的更新节点签名、验证通过节点签名、记录区块号、区块初始信息和前块哈希值进行校验,当各项均通过校验时,区块通过校验,可以加入区块链,否则区块未通过校验,不可以加入区块链。当区块更新状态表明区块未经过更新时,对区块数据进行哈希运算,比较哈希运算后的区块数据是否等于后一区块中的前块哈希值;当相等时,再比较区块中的前块哈希值是否等于前一区块中的区块初始信息,若相等,则区块通过校验,可以加入区块链,否则区块未通过校验,不可以加入区块链。
本实施例中,再对替换区块中的区块初始信息和前块哈希值进行校验,进一步提高了区块链数据更新的准确性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)等非易失性存储介质,或随机存储记忆体(Random Access Memory, RAM)等。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
进一步参考图4,作为对上述图2所示方法的实现,本申请提供了一种区块链数据更新装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图4 所示,本实施例所述的区块链数据更新装置300包括:请求发送模块301、请求结果获取模块302、生成模块303、信息发送模块304、区块号记录模块305、验证结果获取模块306以及区块替换模块307,其中:
请求发送模块301,用于向各节点发送链上数据更新请求,链上数据更新请求中包含针对待更新区块的链上数据更新信息。
请求结果获取模块302,用于获取各节点根据链上数据更新请求返回的请求验证结果。
生成模块303,用于当根据请求验证结果确定验证通过时,基于链上数据更新信息和请求验证结果生成针对待更新区块的更新事件信息以及替换区块,替换区块中包含更新节点签名和验证通过节点签名。
信息发送模块304,用于向各节点广播更新事件信息。
区块号记录模块305,用于当检测到区块链中的最新区块包含更新事件信息时,将最新区块的区块号作为记录区块号存储到替换区块中。
验证结果获取模块306,用于向各节点发送针对替换区块的区块验证请求,并接收各节点根据区块验证请求返回的区块验证结果。
区块替换模块307,用于当根据区块验证结果确定验证通过时,将替换区块替换待更新区块,完成区块链数据更新。
本实施例中,向各节点发送链上数据更新请求,各节点对链上数据更新请求进行验证以保证区块链的安全性,并返回请求验证结果;当根据请求验证结果确定验证通过时,生成针对待更新区块的更新事件信息以及替换区块,替换区块中包含更新节点签名和验证通过节点签名,更新节点签名是发起更新的节点的签名,验证通过节点签名是对链上数据更新请求验证通过节点的签名;再向各节点广播更新事件信息,当本次更新作为交易被记录到最新区块中时,将最新区块的区块号作为记录区块号存储到替换区块中,然后由各节点对替换区块进行验证,其中,替换区块中的签名和记录区块号用于对本次更新进行记录、以及替换区块的验证,保证本次更新的安全性和可靠性;当确定验证通过时,使替换区块替换待更新区块,完成区块链数据更新;本申请中各节点可以对区块数据的更新进行验证,实现各节点之间的共识,从而实现区块数据的更新。
在本实施例的一些可选的实现方式中,生成模块303可以包括:替换确定子模块、签名获取子模块、区块头生成子模块、替换生成子模块以及信息生成子模块,其中:
替换确定子模块,用于当根据请求验证结果确定验证通过时,根据待更新区块和链上数据更新信息确定替换区块数据。
签名获取子模块,用于对替换区块数据进行加密得到更新节点签名,并从验证结果中提取验证通过节点签名。
区块头生成子模块,用于基于更新节点签名和验证通过节点签名生成替换区块头。
替换生成子模块,用于基于替换区块头和替换区块数据生成替换区块。
信息生成子模块,用于根据请求验证结果和链上数据更新信息生成更新事件信息。
本实施例中,当根据请求验证结果确定验证通过时,生成更新节点的更新节点签名,从验证结果中提取验证通过节点签名,基于更新节点签名和验证通过节点签名生成替换区块头和替换区块,并生成更新事件信息;更新节点签名、验证通过节点签名和更新事件信息用于后续对替换区块的校验,保证了区块链数据更新的安全性。
在本实施例的一些可选的实现方式中,区块链数据更新装置300还可以包括:信用获取模块、信用校验模块、信息输入模块、请求结果生成模块以及请求结果发送模块,其中:
信用获取模块,用于各节点根据更新节点发送的链上数据更新请求,获取更新节点的信用记录信息。
信用校验模块,用于各节点根据信用记录信息对更新节点进行信用校验。
信息输入模块,用于当更新节点通过信用校验时,各节点将链上数据更新信息输入信息识别模型以及规则库,以进行信息校验。
请求结果生成模块,用于当链上数据更新信息通过信息校验时,各节点生成表示验证通过的请求验证结果。
请求结果发送模块,用于各节点将请求验证结果发送至更新节点。
本实施例中,各节点先对更新节点进行信用校验,再对链上数据更新信息进行信息校验,当全部校验通过时,生成表示验证通过的请求验证结果,避免了节点对链上数据的随意修改。
在本实施例的一些可选的实现方式中,请求结果生成模块可以包括:数据确定子模块、签名生成子模块、以及请求结果生成子模块,其中:
数据确定子模块,用于当链上数据更新信息通过信息校验时,各节点根据待更新区块和链上数据更新信息确定替换区块数据。
签名生成子模块,用于各节点对替换区块数据进行加密得到验证通过节点签名。
请求结果生成子模块,用于各节点基于验证通过节点签名,生成请求验证结果。
本实施例中,各节点对替换区块数据进行加密得到验证通过节点签名,基于验证通过节点签名生成请求验证结果,保证了请求验证结果的可信度。
在本实施例的一些可选的实现方式中,区块链数据更新装置300还可以包括:区块获取模块、替换校验模块以及区块结果发送模块,其中:
区块获取模块,用于当各节点接收到更新节点发送的区块验证请求时,获取替换区块。
替换校验模块,用于各节点对替换区块中的更新节点签名、验证通过节点签名和记录区块号进行校验,得到区块验证结果。
区块结果发送模块,用于各节点将区块验证结果发送至更新节点。
本实施例中,在对链上数据更新请求进行验证后,各节点对替换区块进行校验,以避免更新节点随意更新区块,保证了区块链数据更新的安全性。
在本实施例的一些可选的实现方式中,替换校验模块可以包括:提取子模块、更新签名校验子模块、通过签名校验子模块、信息查询子模块以及区块结果生成子模块,其中:
提取子模块,用于各节点提取替换区块中的替换区块数据。
更新签名校验子模块,用于各节点基于更新节点的公钥和替换区块数据,对替换区块中的更新节点签名进行校验。
通过签名校验子模块,用于当对更新节点签名校验通过时,各节点获取对替换区块验证通过的节点的公钥,以对替换区块中的验证通过节点签名进行校验。
信息查询子模块,用于当对验证通过节点签名校验通过时,各节点提取替换区块中的记录区块号,并在记录区块号所对应的区块中查询针对替换区块的更新事件信息,以进行记录区块号校验。
区块结果生成子模块,用于当对记录区块号校验通过时,各节点生成表示验证通过的区块校验结果。
本实施例中,根据替换区块数据和存储的公钥,对更新节点签名和验证通过节点签名进行校验,并在记录区块号对应的区块中查询针对替换区块的更新事件信息,以对记录区块号进行校验,保证了区块链数据修改的安全性。
在本实施例的一些可选的实现方式中,替换校验模块还可以包括:初始比较子模块、前块比较子模块以及结果更新子模块,其中:
初始比较子模块,用于各节点比对替换区块中的区块初始信息和替换区块的下一区块中的前块哈希值,以对替换区块中的区块初始信息进行校验。
前块比较子模块,用于当对替换区块中的区块初始信息校验通过时,各节点比对替换区块中的前块哈希值和替换区块的前一区块中的区块初始信息,以对替换区块中的前块哈希值进行校验。
结果更新子模块,用于当对替换区块中的前块哈希值校验通过时,各节点更新区块校验结果。
本实施例中,再对替换区块中的区块初始信息和前块哈希值进行校验,进一步提高了区块链数据更新的准确性。
为解决上述技术问题,本申请实施例还提供计算机设备。具体请参阅图5,图5为本实施例计算机设备基本结构框图。
所述计算机设备4包括通过***总线相互通信连接存储器41、处理器42、网络接口43。需要指出的是,图中仅示出了具有组件41-43的计算机设备4,但是应理解的是,并不要求实施所有示出的组件,可以替代的实施更多或者更少的组件。其中,本技术领域技术人员可以理解,这里的计算机设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(ApplicationSpecific Integrated Circuit,ASIC)、可编程门阵列(Field-Programmable GateArray, FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
所述存储器41至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、随机访问存储器(RAM)、静态随机访问存储器(SRAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、可编程只读存储器(PROM)、磁性存储器、磁盘、光盘等。在一些实施例中,所述存储器41可以是所述计算机设备4的内部存储单元,例如该计算机设备4的硬盘或内存。在另一些实施例中,所述存储器41也可以是所述计算机设备4的外部存储设备,例如该计算机设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。当然,所述存储器 41还可以既包括所述计算机设备4的内部存储单元也包括其外部存储设备。本实施例中,所述存储器41通常用于存储安装于所述计算机设备4的操作***和各类应用软件,例如区块链数据更新方法的计算机可读指令等。此外,所述存储器41还可以用于暂时地存储已经输出或者将要输出的各类数据。
所述处理器42在一些实施例中可以是中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器、或其他数据处理芯片。该处理器42 通常用于控制所述计算机设备4的总体操作。本实施例中,所述处理器42用于运行所述存储器41中存储的计算机可读指令或者处理数据,例如运行所述区块链数据更新方法的计算机可读指令。
所述网络接口43可包括无线网络接口或有线网络接口,该网络接口43 通常用于在所述计算机设备4与其他电子设备之间建立通信连接。
本实施例中提供的计算机设备可以执行上述区块链数据更新方法。此处区块链数据更新方法可以是上述各个实施例的区块链数据更新方法。
本实施例中,向各节点发送链上数据更新请求,各节点对链上数据更新请求进行验证以保证区块链的安全性,并返回请求验证结果;当根据请求验证结果确定验证通过时,生成针对待更新区块的更新事件信息以及替换区块,替换区块中包含更新节点签名和验证通过节点签名,更新节点签名是发起更新的节点的签名,验证通过节点签名是对链上数据更新请求验证通过节点的签名;再向各节点广播更新事件信息,当本次更新作为交易被记录到最新区块中时,将最新区块的区块号作为记录区块号存储到替换区块中,然后由各节点对替换区块进行验证,其中,替换区块中的签名和记录区块号用于对本次更新进行记录、以及替换区块的验证,保证本次更新的安全性和可靠性;当确定验证通过时,使替换区块替换待更新区块,完成区块链数据更新;本申请中各节点可以对区块数据的更新进行验证,实现各节点之间的共识,从而实现区块数据的更新。
本申请还提供了另一种实施方式,即提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令可被至少一个处理器执行,以使所述至少一个处理器执行如上述的区块链数据更新方法的步骤。
本实施例中,向各节点发送链上数据更新请求,各节点对链上数据更新请求进行验证以保证区块链的安全性,并返回请求验证结果;当根据请求验证结果确定验证通过时,生成针对待更新区块的更新事件信息以及替换区块,替换区块中包含更新节点签名和验证通过节点签名,更新节点签名是发起更新的节点的签名,验证通过节点签名是对链上数据更新请求验证通过节点的签名;再向各节点广播更新事件信息,当本次更新作为交易被记录到最新区块中时,将最新区块的区块号作为记录区块号存储到替换区块中,然后由各节点对替换区块进行验证,其中,替换区块中的签名和记录区块号用于对本次更新进行记录、以及替换区块的验证,保证本次更新的安全性和可靠性;当确定验证通过时,使替换区块替换待更新区块,完成区块链数据更新;本申请中各节点可以对区块数据的更新进行验证,实现各节点之间的共识,从而实现区块数据的更新。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
显然,以上所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例,附图中给出了本申请的较佳实施例,但并不限制本申请的专利范围。本申请可以以许多不同的形式来实现,相反地,提供这些实施例的目的是使对本申请的公开内容的理解更加透彻全面。尽管参照前述实施例对本申请进行了详细的说明,对于本领域的技术人员来而言,其依然可以对前述各具体实施方式所记载的技术方案进行修改,或者对其中部分技术特征进行等效替换。凡是利用本申请说明书及附图内容所做的等效结构,直接或间接运用在其他相关的技术领域,均同理在本申请专利保护范围之内。
Claims (10)
1.一种区块链数据更新方法,其特征在于,包括下述步骤:
向各节点发送链上数据更新请求,所述链上数据更新请求中包含针对待更新区块的链上数据更新信息;
获取各节点根据所述链上数据更新请求返回的请求验证结果;
当根据所述请求验证结果确定验证通过时,基于所述链上数据更新信息和所述请求验证结果生成针对所述待更新区块的更新事件信息以及替换区块,所述替换区块中包含更新节点签名和验证通过节点签名;
向各节点广播所述更新事件信息;
当检测到区块链中的最新区块包含所述更新事件信息时,将所述最新区块的区块号作为记录区块号存储到所述替换区块中;
向各节点发送针对所述替换区块的区块验证请求,并接收各节点根据所述区块验证请求返回的区块验证结果;
当根据所述区块验证结果确定验证通过时,将所述替换区块替换所述待更新区块,完成区块链数据更新。
2.根据权利要求1所述的区块链数据更新方法,其特征在于,所述当根据所述请求验证结果确定验证通过时,基于所述链上数据更新信息和所述请求验证结果生成针对所述待更新区块的更新事件信息以及替换区块,所述替换区块中包含更新节点签名和验证通过节点签名的步骤包括:
当根据所述请求验证结果确定验证通过时,根据所述待更新区块和所述链上数据更新信息确定替换区块数据;
对所述替换区块数据进行加密得到更新节点签名,并从所述验证结果中提取验证通过节点签名;
基于所述更新节点签名和所述验证通过节点签名生成替换区块头;
基于所述替换区块头和所述替换区块数据生成替换区块;
根据所述请求验证结果和所述链上数据更新信息生成更新事件信息。
3.根据权利要求1所述的区块链数据更新方法,其特征在于,所述向各节点发送链上数据更新请求的步骤之后,还包括:
各节点根据更新节点发送的链上数据更新请求,获取所述更新节点的信用记录信息;
各节点根据所述信用记录信息对所述更新节点进行信用校验;
当所述更新节点通过所述信用校验时,各节点将所述链上数据更新信息输入信息识别模型以及规则库,以进行信息校验;
当所述链上数据更新信息通过所述信息校验时,各节点生成表示验证通过的请求验证结果;
各节点将所述请求验证结果发送至所述更新节点。
4.根据权利要求3所述的区块链数据更新方法,其特征在于,所述当所述链上数据更新信息通过所述信息校验时,各节点生成表示验证通过的请求验证结果的步骤包括:
当所述链上数据更新信息通过所述信息校验时,各节点根据所述待更新区块和所述链上数据更新信息确定替换区块数据;
各节点对所述替换区块数据进行加密得到验证通过节点签名;
各节点基于所述验证通过节点签名,生成请求验证结果。
5.根据权利要求1所述的区块链数据更新方法,其特征在于,所述向各节点发送针对所述替换区块的区块验证请求的步骤之后,还包括:
当各节点接收到更新节点发送的区块验证请求时,获取替换区块;
各节点对所述替换区块中的更新节点签名、验证通过节点签名和记录区块号进行校验,得到区块验证结果;
各节点将所述区块验证结果发送至所述更新节点。
6.根据权利要求5所述的区块链数据更新方法,其特征在于,所述各节点对所述替换区块中的更新节点签名、验证通过节点签名和记录区块号进行校验,得到区块验证结果的步骤包括:
各节点提取所述替换区块中的替换区块数据;
各节点基于所述更新节点的公钥和所述替换区块数据,对所述替换区块中的更新节点签名进行校验;
当对所述更新节点签名校验通过时,各节点获取对所述链上数据更新请求验证通过的节点的公钥,以对所述替换区块中的验证通过节点签名进行校验;
当对所述验证通过节点签名校验通过时,各节点提取所述替换区块中的记录区块号,并在所述记录区块号所对应的区块中查询针对所述替换区块的更新事件信息,以进行记录区块号校验;
当对所述记录区块号校验通过时,各节点生成表示验证通过的区块校验结果。
7.根据权利要求6所述的区块链数据更新方法,其特征在于,所述当对所述记录区块号校验通过时,各节点生成表示验证通过的区块校验结果的步骤之后,还包括:
各节点比对所述替换区块中的区块初始信息和所述替换区块的后一区块中的前块哈希值,以对所述替换区块中的区块初始信息进行校验;
当对所述替换区块中的区块初始信息校验通过时,各节点比对所述替换区块中的前块哈希值和所述替换区块的前一区块中的区块初始信息,以对所述替换区块中的前块哈希值进行校验;
当对所述替换区块中的前块哈希值校验通过时,各节点更新所述区块校验结果。
8.一种区块链数据更新装置,其特征在于,包括:
请求发送模块,用于向各节点发送链上数据更新请求,所述链上数据更新请求中包含针对待更新区块的链上数据更新信息;
请求结果获取模块,用于获取各节点根据所述链上数据更新请求返回的请求验证结果;
生成模块,用于当根据所述请求验证结果确定验证通过时,基于所述链上数据更新信息和所述请求验证结果生成针对所述待更新区块的更新事件信息以及替换区块,所述替换区块中包含更新节点签名和验证通过节点签名;
信息发送模块,用于向各节点广播所述更新事件信息;
区块号记录模块,用于当检测到区块链中的最新区块包含所述更新事件信息时,将所述最新区块的区块号作为记录区块号存储到所述替换区块中;
验证结果获取模块,用于向各节点发送针对所述替换区块的区块验证请求,并接收各节点根据所述区块验证请求返回的区块验证结果;
区块替换模块,用于当根据所述区块验证结果确定验证通过时,将所述替换区块替换所述待更新区块,完成区块链数据更新。
9.一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述处理器执行所述计算机可读指令时实现如权利要求1至7中任一项所述的区块链数据更新方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如权利要求1至7中任一项所述的区块链数据更新方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110902385.0A CN113783839B (zh) | 2021-08-06 | 2021-08-06 | 区块链数据更新方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110902385.0A CN113783839B (zh) | 2021-08-06 | 2021-08-06 | 区块链数据更新方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113783839A CN113783839A (zh) | 2021-12-10 |
CN113783839B true CN113783839B (zh) | 2023-04-07 |
Family
ID=78836988
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110902385.0A Active CN113783839B (zh) | 2021-08-06 | 2021-08-06 | 区块链数据更新方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113783839B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109271559A (zh) * | 2018-08-21 | 2019-01-25 | 平安科技(深圳)有限公司 | 对区块链中数据进行修改方法、装置及电子设备 |
CN109493044A (zh) * | 2018-11-08 | 2019-03-19 | 深圳壹账通智能科技有限公司 | 区块链区块删除方法、装置以及终端设备 |
CN111090385A (zh) * | 2018-10-23 | 2020-05-01 | 中思博安科技(北京)有限公司 | 一种基于区块链的数据管理方法及装置 |
EP3709568A1 (en) * | 2019-03-14 | 2020-09-16 | Nokia Technologies Oy | Deleting user data from a blockchain |
CN112272092A (zh) * | 2020-08-30 | 2021-01-26 | 河南大学 | 一种应用于区块链的数据编辑方法 |
-
2021
- 2021-08-06 CN CN202110902385.0A patent/CN113783839B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109271559A (zh) * | 2018-08-21 | 2019-01-25 | 平安科技(深圳)有限公司 | 对区块链中数据进行修改方法、装置及电子设备 |
CN111090385A (zh) * | 2018-10-23 | 2020-05-01 | 中思博安科技(北京)有限公司 | 一种基于区块链的数据管理方法及装置 |
CN109493044A (zh) * | 2018-11-08 | 2019-03-19 | 深圳壹账通智能科技有限公司 | 区块链区块删除方法、装置以及终端设备 |
EP3709568A1 (en) * | 2019-03-14 | 2020-09-16 | Nokia Technologies Oy | Deleting user data from a blockchain |
CN112272092A (zh) * | 2020-08-30 | 2021-01-26 | 河南大学 | 一种应用于区块链的数据编辑方法 |
Non-Patent Citations (1)
Title |
---|
可更改区块链技术研究;李佩丽等;《密码学报》;20181015(第05期);第51-59页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113783839A (zh) | 2021-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108665359B (zh) | 区块链处理方法、记账节点及验证节点 | |
EP3591564A1 (en) | Event attestation for an electronic device | |
KR101937220B1 (ko) | 키 관리가 필요없는 블록체인을 기반한 전자서명 또는 메시지 인증 코드를 생성 및 검증 방법 | |
EP3178011B1 (en) | Method and system for facilitating terminal identifiers | |
US20130246281A1 (en) | Service providing system and unit device | |
CN112789824A (zh) | 区块链***及信息传输方法、***、装置、计算机介质 | |
CN106790156B (zh) | 一种智能设备绑定方法及装置 | |
US9734091B2 (en) | Remote load and update card emulation support | |
CN114218592A (zh) | 敏感数据的加解密方法、装置、计算机设备及存储介质 | |
CN111641712B (zh) | 区块链数据更新方法、装置、设备、***及可读存储介质 | |
CN108009445B (zh) | 一种半中心化的可信数据管理*** | |
CN110502889B (zh) | 登录方法、装置、计算机可读存储介质和计算机设备 | |
CN110543516A (zh) | 智能合约处理方法、装置、计算机设备及存储介质 | |
CN112165382A (zh) | 软件授权方法、装置、授权服务端及终端设备 | |
CN104683354A (zh) | 一种基于标识的动态口令*** | |
CN110223075B (zh) | 身份认证方法、装置、计算机设备和存储介质 | |
CN111160879A (zh) | 一种硬件钱包及其安全性提升方法和装置 | |
CN111641496B (zh) | 区块链数据更新方法、装置、设备、***及可读存储介质 | |
CN114365134A (zh) | 使用不可克隆函数的安全身份证 | |
CN114241631A (zh) | 一种智能门锁的管控方法、注册方法及相关装置 | |
CN110266653A (zh) | 一种鉴权方法、***及终端设备 | |
US11874752B1 (en) | Methods and systems for facilitating cyber inspection of connected and autonomous electrical vehicles using smart charging stations | |
CN113783839B (zh) | 区块链数据更新方法、装置、计算机设备及存储介质 | |
CN109286616B (zh) | 基于区块链技术的权限校验方法及装置 | |
CN112765588B (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room 801, building 2, Shenzhen new generation industrial park, 136 Zhongkang Road, Meidu community, Meilin street, Futian District, Shenzhen, Guangdong 518000 Applicant after: China Resources Digital Technology Co.,Ltd. Address before: Room 801, building 2, Shenzhen new generation industrial park, 136 Zhongkang Road, Meidu community, Meilin street, Futian District, Shenzhen, Guangdong 518000 Applicant before: Runlian software system (Shenzhen) Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |