CN113810453A - 基于共识区块链的时间戳标记方法和装置 - Google Patents

基于共识区块链的时间戳标记方法和装置 Download PDF

Info

Publication number
CN113810453A
CN113810453A CN202011583034.XA CN202011583034A CN113810453A CN 113810453 A CN113810453 A CN 113810453A CN 202011583034 A CN202011583034 A CN 202011583034A CN 113810453 A CN113810453 A CN 113810453A
Authority
CN
China
Prior art keywords
timestamp
consensus
information
node
block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011583034.XA
Other languages
English (en)
Other versions
CN113810453B (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.)
Jingdong Technology Holding Co Ltd
Original Assignee
Jingdong Technology Holding 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 Jingdong Technology Holding Co Ltd filed Critical Jingdong Technology Holding Co Ltd
Priority to CN202011583034.XA priority Critical patent/CN113810453B/zh
Publication of CN113810453A publication Critical patent/CN113810453A/zh
Application granted granted Critical
Publication of CN113810453B publication Critical patent/CN113810453B/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
    • 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
    • H04L67/1097Protocols 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3247Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3297Cryptographic 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 time stamps, e.g. generation of time stamps

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提出一种基于共识区块链的时间戳标记方法和装置,其中,方法包括:接收客户端发送的交易请求消息并生成区块链的共识准备消息;向背书节点发送时间戳请求消息,其中,时间戳请求消息包括:主节点签名信息和共识准备消息的哈希值;接收背书节点发送的时间戳响应消息,其中,时间戳响应消息包括:背书节点签名信息,与主节点签名信息和哈希值对应的当前时间戳,其中,当前时间戳在区块链网络中具有唯一性;根据时间戳响应消息标记共识准备消息后进行区块链共识过程,生成用当前时间戳标记的区块并存储在区块链中。由此,提高了时间戳的标记安全性、真实性,保证了时间戳和真实时间的一致性,避免时间戳被篡改,提高了区块链运行的可靠性。

Description

基于共识区块链的时间戳标记方法和装置
技术领域
本发明涉及区块链技术领域,尤其涉及一种基于共识区块链的时间戳标记方法和装置。
背景技术
区块链是在时间上有序的、由区块组成的一根由区块链接而成的链条。区块链基于共识机制实现有关区块的生成。随着区块链的技术的发展,以及区块链连应用场景的增多,对区块链的数据的时效性要求越发迫切。
相关技术中,基于对区块链时间戳的标记满足数据有关时效性的标注,相关技术中,由在共识阶段选择出的主节点进行时间戳的统一产生和分配。
然而,这种由主节点统一生成时间戳的方式,由共识阶段选出的主节点产生时间戳,依赖于主节点的真实可靠性,无法解决主节点被恶意节点冒用的情况下的时间戳有效性。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的第一个目的在于提出一种基于共识区块链的时间戳标记方法,以实现提高了时间戳的标记安全性、真实性,保证了时间戳和真实时间的一致性,避免时间戳被篡改,提高了区块链运行的可靠性。
本发明的第二个目的在于提出另一种基于共识区块链的时间戳标记方法。
本发明的第三个目的在于提出一种基于共识区块链的时间戳标记装置。
本发明的第四个目的在于提出另一种基于共识区块链的时间戳标记装置。
本发明的第六个目的在于提出一种计算机设备。
本发明的第六个目的在于提出一种非临时性计算机可读存储介质。
为达上述目的,本发明第一方面实施例提出了一种基于共识区块链的时间戳标记方法,所述方法应用于共识节点中选举的主节点,包括:接收客户端发送的交易请求消息并生成区块链的共识准备消息;向背书节点发送时间戳请求消息,其中,所述时间戳请求消息包括:所述主节点签名信息和所述共识准备消息的哈希值;接收所述背书节点发送的时间戳响应消息,其中,所述时间戳响应消息包括:所述背书节点签名信息,与所述主节点签名信息和所述哈希值对应的当前时间戳,其中,所述当前时间戳在区块链网络中具有唯一性;根据所述时间戳响应消息标记所述共识准备消息后进行区块链共识过程,生成用所述当前时间戳标记的区块并存储在区块链中。
为达上述目的,本发明第二方面实施例提出了一种基于共识区块链的时间戳标记方法,所述方法应用于区块链网络的背书节点,包括:接收主节点发送的时间戳请求消息,其中,所述时间戳请求消息包括:所述主节点签名信息和共识准备消息的哈希值;向所述主节点发送时间戳响应消息,其中,所述时间戳响应消息包括:所述背书节点签名信息,与所述主节点签名信息和所述哈希值对应的当前时间戳,其中,所述当前时间戳在区块链网络中具有唯一性。
为达上述目的,本发明第三方面实施例提出了一种基于共识区块链的时间戳标记装置,所述装置应用于共识节点中选举的主节点,包括:第一接收模块,用于接收客户端发送的交易请求消息并生成区块链的共识准备消息;第一发送模块,用于向背书节点发送时间戳请求消息,其中,所述时间戳请求消息包括:所述主节点签名信息和所述共识准备消息的哈希值;第二接收模块,用于接收所述背书节点发送的时间戳响应消息,其中,所述时间戳响应消息包括:所述背书节点签名信息,与所述主节点签名信息和所述哈希值对应的当前时间戳,其中,所述当前时间戳在区块链网络中具有唯一性;生成模块,用于根据所述时间戳响应消息标记所述共识准备消息后进行区块链共识过程,生成用所述当前时间戳标记的区块并存储在区块链中。
为了实现上述目的,本发明第四方面实施例提出了一种基于共识区块链的时间戳标记装置,所述装置应用于区块链网络的背书节点,包括:第五接收模块,用于接收主节点发送的时间戳请求消息,其中,所述时间戳请求消息包括:所述主节点签名信息和共识准备消息的哈希值;第二发送模块,用于向所述主节点发送时间戳响应消息,其中,所述时间戳响应消息包括:所述背书节点签名信息,与所述主节点签名信息和所述哈希值对应的当前时间戳,其中,所述当前时间戳在区块链网络中具有唯一性。
为了实现上述目的,本发明第五方面实施例提出了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如第一方面实施例所述的种基于共识区块链的时间戳标记方法,或者,如第二方面实施例的基于共识区块链的时间戳标记方法。
为了实现上述目的,本发明第六方面实施例提出了一种临时性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面实施例所述的种基于共识区块链的时间戳标记方法,或者,如第二方面实施例的基于共识区块链的时间戳标记方法。
本发明的实施例,至少具备如下技术效果:
接收客户端发送的交易请求消息并生成区块链的共识准备消息,进而,向背书节点发送时间戳请求消息,其中,时间戳请求消息包括:主节点签名信息和共识准备消息的哈希值,接收背书节点发送的时间戳响应消息,其中,时间戳响应消息包括:背书节点签名信息,与主节点签名信息和哈希值对应的当前时间戳,其中,当前时间戳在区块链网络中具有唯一性,最后,根据时间戳响应消息标记共识准备消息后进行区块链共识过程,生成用当前时间戳标记的区块并存储在区块链中。提高了时间戳的标记安全性、真实性,保证了时间戳和真实时间的一致性,避免时间戳被篡改,提高了区块链运行的可靠性。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例所提供的一种基于共识区块链的时间戳标记方法的流程示意图;
图2为本发明实施例所提供的一种共识过程的流程示意图;
图3为本发明实施例所提供的一种基于共识区块链的时间戳标记方法的应用场景示意图;
图4为本发明实施例所提供的另一种基于共识区块链的时间戳标记方法的应用场景示意图;
图5为本发明实施例所提供的另一种基于共识区块链的时间戳标记方法的流程示意图;
图6为本发明一个实施例的基于共识区块链的时间戳标记装置的结构示意图;图7为本发明另一个实施例的基于共识区块链的时间戳标记装置的结构示意图;
图8为本发明又一个实施例的基于共识区块链的时间戳标记装置的结构示意图;
图9为本发明再一个实施例的基于共识区块链的时间戳标记装置的结构示意图;以及
图10为本发明还一个实施例的基于共识区块链的时间戳标记装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
下面参考附图描述本发明实施例的基于共识区块链的时间戳标记方法和装置。其中,时间戳的主要目的在于通过一定的技术手段,对数据产生的时间进行认证,从而验证这段数据在产生后是否经过篡改。
为了便于描述,本发明的实施例中分别集中在主节点侧和背书节点侧进行说明,其中,主节点可以理解为在共识机制中由共识节点选举出的节点,背书节点可以为多个也可以为一个,背书节点可以理解为基于自身的时间戳响应机制,对主节点的时间戳的真实可靠性进行检测的权威性节点。
下面首先集中在主节点侧描述,本发明实施例的基于共识区块链的时间戳标记方法。
图1是根据本发明一个实施例的基于共识区块链的时间戳标记方法的流程图,如图1所示,该方法包括:
在步骤101中,接收客户端发送的交易请求消息并生成区块链的共识准备消息。
其中,交易请求消息的具体内容根据场景的不同而不同,可以包括交易商商品、交易金额等。
在本实施中,接收到客户端发送交易请求消息后,生成区块链的共识准备消息,该共识准备消息用于通知区块链中的所有的成员节点进入时间戳的标记阶段。
其中,在不同的共识机制中共识准备消息包含的内容不同,当区块链基于BFT共识机制运行时,则对应的共识准备消息包含的内容为:主节点为交易请求消息分配一个唯一的编request-number n,并把request跟n一起组成的pre-prepare消息,其中,在本实施例中,可将共识准备消息广播给所有从节点。
在步骤102中,向背书节点发送时间戳请求消息,其中,时间戳请求消息包括:主节点签名信息和共识准备消息的哈希值。
在本实施例中,主节点向背书节点发送时间戳请求消息,其中,时间戳请求消息包括:主节点签名信息和共识准备消息的哈希值。其中,主节点签名信息可以是主节点根据自身的标识信息采用预设签名算法生成的信息,自身的标识信息可以包括节点编号、节点对应的设备地址、节点对应的设备注册编码等中的一种或多种等。
在步骤103中,接收背书节点发送的时间戳响应消息,其中,时间戳响应消息包括:背书节点签名信息,与主节点签名信息和哈希值对应的当前时间戳,其中,当前时间戳在区块链网络中具有唯一性。
在本实施例中,接收背书节点发送的时间戳响应消息,其中,时间戳响应消息包括:背书节点签名信息,与主节点签名信息和哈希值对应的当前时间戳,其中,当前时间戳在区块链网络中具有唯一性。
其中,背书节点签名信息可以基于公钥机制生成的表示背书节点身份的数字串,其中,当前时间戳是背书节点签发的一个能证明交易请求消息在一个时间点是已经存在的、完整的、可验证的,具备法律效力的电子凭证,当前时间戳主要用于交易请求信息防篡改和事后抵赖,确定电子文件产生的准确时间。
在本发明的一个实施例中,根据预设随机算法生成当前时间点的随机数,根据当前时间点和随机数的组合生成对应的当前时间戳,比如,将当前时间点和随机数作为对应的当前时间戳。
在本发明的另一个实施例中,获取共识准备消息的哈希值,以及当前时间点,根据当前时间点和哈希值生成对应的当前时间戳,比如,将当前时间点和哈希值作为对应的当前时间戳。
在步骤104中,根据时间戳响应消息标记共识准备消息后进行区块链共识过程,生成用当前时间戳标记的区块并存储在区块链中。
在本实施例中,根据时间戳响应消息标记共识准备消息后进行区块链共识过程,生成用当前时间戳标记的区块并存储在区块链中。
其中,共识过程可以理解为所有的共识节点在接收到根据时间戳响应消息标记共识准备消息后,依靠主节点签名信息判断该消息是否来源于主节点,若是来源于主节点,则将共识准备消息的哈希值和对应公识节点的签名信息组成准备消息,广播给区块链中所有的公识节点,表示自己认可对应的共识准备消息的哈希值和准备好进入共识。
若是其他的共识节点均收到了准备消息,则根据共识节点的签名信息判断准备消息是否真实,若是真实,则确定该准备消息是有效的,若是某个公识节点接收到的有效的准备消息对应的共识节点的数量大于总共识节点数量的三分之二等预设比例,则广播交互信息,表明进入交易请求消息的处理阶段。
接收到广播交互信息的共识节点,根据广播交互信息的签名信息获取发送广播交互信息的共识节点是否是对应的共识节点的本身,若是,则认为对应的共识节点是有效节点,从而,若是接收到的广播交互信息的数量大于预设阈值,比如,大于总共识节点数量的三分之一数量,则认为处理完成交易请求信息,回复给客户端记账成功的消息等。
举例而言,如图2所示,以共识算法为实用拜占庭容错系统(Practical ByzantineFault Tolerance,PBFT)为例。
在共识过程中,PBFT的一致性协议如下:PBFT系统通常假设故障节点数为m个,而整个服务节点数为3m+1个。每一个客户端的请求需要经过5个阶段,通过采用两次两两交互的方式在服务器达成一致之后再执行客户端的交易请求。由于客户端不能从服务器端获取任何服务器运行的状态信息,PBFT中主节点是否发生错误只能由服务器监测。如果服务器在一段时间内都不能完成客户端的请求,则会触发视图更换协议。
参照图2,其中C为客户端,N0-N3表示其他共识节点,特别的,N0为主节点,N3为故障节点。整个协议的基本过程如下:
1)客户端发送交易请求消息,激活主节点的服务操作;
2)当主节点接收请求后,启动三阶段的协议以向各从节点广播请求;序号分配阶段,主节点给请求赋值一个序号n,广播序号分配消息和客户端的请求消息m,并将构造pre-prepare消息给各从节点;交互阶段,其他共识节点接收pre-prepare消息,向其他服务节点广播prepare消息;序号确认阶段,各节点对视图内的请求和次序进行验证后,广播commit消息,执行收到的客户端的请求并给客户端响应。
3)客户端等待来自不同节点的响应,若有m+1个响应相同,则该响应即为运算的结果。
而如图3所示,应用场景为图2的区块链网络,则在本发明的实施例中,该网络具有N0,N1,N2,N3四个共识节点,初始时N0作为共识过程中的领导者,C为交易请求的发起客户端。C与共识节点,共识节点与背书节点彼此建立了安全的通信连接,随时准备为数据产生时间戳并把数据上链。具体流程如图3所示:
在每一轮共识过程中,主节点在发起第一阶段pre-prepare消息之前,需要向背书节点发起获得此次提议时间戳请求消息。时间戳请求消息包括包括:pre-prepare消息的哈希值(共识准备消息的哈希值),以及主节点对哈希值的签名信息,如图中②所示。
背书节点收到来自主节点的时间戳请求消息后,会为主节点产生时间戳,并把时间戳与时间戳请求信息作为一条记录持久化到数据库,内容包括时间戳tn,请求者的身份信息In,共识准备消息的哈希值的哈希值Hn,其中时间戳是唯一的,针对每一个时间戳请求消息都会顺序递增。紧接着背书节点向主节点回复带着自己签名的时间戳响应信息,其中,时间戳响应消息包括:背书节点签名信息,与主节点签名信息和所述哈希值对应的当前时间戳。
进一步的,主节点收到带着背书节点签名的时间戳Tn以后,把Tn与原始打包的提议值(共识准备消息的哈希值等)一起作为新的提议进行正常的共识过程,该共识过程可以参照图2。共识结束后,Tn作为一个分布式的一致性时间戳被记录到区块链的区块头里。由于时间戳是由背书节点产生的,带着背书节点的签名,各个节点可以进行公开的验证。
由此,一方面,通过引入背书节点来产生不可抵赖的,前后可链接查询的时间戳来解决主节点被篡改所产生无效的时间戳,主节点切换时新的主节点无法产生顺序递增的时间戳等问题;
比如,由于网络丢包或者主节点作恶等原因都会造成共识阶段超时,从而触发共识节点的主节点重新选举流程,比如,主节点由N0切换为N1,后续由N1向背书节点进行时间戳的申请,向背书节点发送时间戳请求消息。虽然各个共识节点在时间上不能严格的一致,但通过背书节点提供时间戳,却总能产生顺序递增且一致的有效时间。
另一方面,不改变共识阶段的正常流程,基于与背书节点的简单互动实现了分布式一致的时间戳;
又一方面,扩展了区块链的应用,通过提供全网一致的时间戳把对链上数据有时效性要求的场景在区块链实现中变得可行。
基于上述实施例,为了进一步保证时间戳标记的不可篡改性,还可以进一步复杂化时间戳响应消息。
作为一种可能的实现方式,时间戳响应消息还包括:历史验证信息,其中,历史时间验证信息包括:与当前时间戳发布时间相邻的上一个时间戳,以及与上一个时间戳对应的上一个主节点签名信息和上一个共识准备消息的哈希值。
在本实施中,将历史验证信息与用当前时间戳标记的区块建立对应关系,由此,在上一个时间戳和上一个主节点签名信息等历史信息,增加当前时间戳响应信息的复杂程度,进一步避免时间戳被篡改。
在本示例中,当出现争议时,可以通过与上一个时间戳对应的上一个主节点签名信息和上一个共识准备消息的哈希值,基于上一个主节点的时间戳表明当前主节点确实是在上一个主节点的时间戳标记之后打上的时间戳。
在本发明的一个实施例中,还可以接收背书节点发送的验证补充信息,其中,验证补充消息包括:与当前时间戳发布时间相邻的下一个时间戳,以及与下一个时间戳对应的下一个主节点签名信息和下一个共识准备消息的哈希值。将验证补充信息与历史验证信息、以及与用当前时间戳标记的区块建立对应关系。
也即是说,当上一个主节点不足以解决时间戳争议时,还可以结合下一个主节点的时间戳来解决时间戳争议,证明当前主节点的时间戳是在上一个主节点时候,下一个主节点之前的。
基于上述分析,时间戳由背书节点统一递增标记,也可以用来对无效区块进行时间上的筛选,在本发明的一个实施例中,获取区块链的区块筛选条件,该区块筛选条件可以是对应的一个或多个时间范围,以获取对应时间范围的区块,在本实施例中,查询区块链网络中用背书节点产生的时间戳标记的区块,获取满足区块筛选条件的目标区块,比如,获取时间戳标记在预设时间范围内的区块作为目标区块,根据存储的对应关系获取与目标区块对应的目标历史验证信息和目标验证补充信息,将参考历史验证信息与目标历史验证信息进行比较,以及将参考验证补充信息与目标验证补充信息进行比较,若比较结果都相同,则确定目标区块合法,即基于上一个主节点的时间戳标记情况和下一个主节点的时间戳标记情况,确定当前主节点对应的目标区块的时间进行验证,若是真实的,则确定目标区块为满足区块筛选条件的真实的目标区块。
由此,背书节点为全网的区块链提供了一个有效的时序,举例而言,参照图4,当区块链2中的业务需要依赖区块链1中的数据,且对数据需要有时效性要求的场景下,背书节点提供的时间戳就显得异常重要了。如果区块链2依赖的某个数据必须是t4之前产生的才有效,那么根据区块中携带的时间戳可以很容易排除无效数据。如果有人对区块中的时间戳提出疑问,只需要同区块时间戳中记录的前后提议的发起者In-1,In+1接触便可确定时间戳的有效性,如果对前后提议还有疑问,还可以同In-2,In+2接触,每个节点都能表明自己的提议是在先来的提议值之后和后来的提议值之前打上时间标记的。其中,In-1为上次发布的时间戳申请主节点,In+1为下一个发布的时间戳申请主节点,同理,In-2为上一次的上一次发布的时间戳申请主节点,In+2为下一个的下一个发布的时间戳申请主节点。
综上,本发明实施例的基于共识区块链的时间戳标记方法,接收客户端发送的交易请求消息并生成区块链的共识准备消息,进而,向背书节点发送时间戳请求消息,其中,时间戳请求消息包括:主节点签名信息和共识准备消息的哈希值,接收背书节点发送的时间戳响应消息,其中,时间戳响应消息包括:背书节点签名信息,与主节点签名信息和哈希值对应的当前时间戳,其中,当前时间戳在区块链网络中具有唯一性,最后,根据时间戳响应消息标记共识准备消息后进行区块链共识过程,生成用当前时间戳标记的区块并存储在区块链中。提高了时间戳的标记安全性、真实性,保证了时间戳和真实时间的一致性,避免时间戳被篡改,提高了区块链运行的可靠性。
下面其次集中在背书节点侧说明本发明实施例的基于共识区块链的时间戳标记方法。
图5是根据本发明一个实施例的基于共识区块链的时间戳标记方法的流程图,如图5所示,该方法包括:
在步骤201中,接收主节点发送的时间戳请求消息,其中,时间戳请求消息包括:主节点签名信息和共识准备消息的哈希值。
在本实施例中,接收主节点发送的时间戳请求消息,其中,时间戳请求消息包括:主节点签名信息和共识准备消息的哈希值,由此,在本实施例中,不再由主节点统一设置时间戳,而是通过与权威性更高的背书节点交互来请求时间戳。
在步骤202中,向主节点发送时间戳响应消息,其中,时间戳响应消息包括:背书节点签名信息,与主节点签名信息和哈希值对应的当前时间戳,其中,当前时间戳在区块链网络中具有唯一性。
在本实施例中,向主节点发送时间戳响应消息,其中,时间戳响应消息包括:背书节点签名信息,与主节点签名信息和哈希值对应的当前时间戳,其中,当前时间戳在区块链网络中具有唯一性,也即是说,背书节点统一向区块链的主节点发送时间戳,其中,为了避免伪造,该时间戳响应消息中还包括主节点签名信息的哈希值和背书节点的签名信息。
在本发明的一个实施例中,还存储主节点签名信息和共识准备消息的哈希值对应的当前时间戳的三者之间的对应关系,从而,其他共识节点可以通过向背书点请求查询,获知主节点发送的时间戳是否是背书节点发送的。
比如,共识节点向背书节点发送包含主节点签名信息和共识准备消息的哈希值对应的当前时间戳的时间戳查询请求,背书节点响应于该查询请求,若是主节点签名信息不正确,或者是共识准备消息的哈希值和当前时间戳不对应等,则向共识节点反馈时间戳不合法的响应消息,由此,避免了主节点的作弊。
综上,本发明实施例的基于共识区块链的时间戳标记方法,引入背书节点来产生不可抵赖的,前后可链接查询的时间戳,不改变共识阶段的正常流程,在共识过程之前提供了分布式一致的时间戳,扩展了区块链的应用,通过提供全网一致的时间戳把对链上数据有时效性要求的场景在区块链实现中变得可行。
为了实现上述实施例,本发明还提出了一种基于共识区块链的时间戳标记装置。图6是根据本发明一个实施例的基于共识区块链的时间戳标记装置的结构示意图,该装置应用于共识节点中选举的主节点,如图6所示,该基于共识区块链的时间戳标记装置包括:第一接收模块610,第一发送模块620、第二接收模块630、生成模块640,其中,
第一接收模块610,用于接收客户端发送的交易请求消息并生成区块链的共识准备消息;
第一发送模块620,用于向背书节点发送时间戳请求消息,其中,所述时间戳请求消息包括:所述主节点签名信息和所述共识准备消息的哈希值;
第二接收模块630,用于接收所述背书节点发送的时间戳响应消息,其中,所述时间戳响应消息包括:所述背书节点签名信息,与所述主节点签名信息和所述哈希值对应的当前时间戳,其中,所述当前时间戳在区块链网络中具有唯一性;
生成模块640,用于根据所述时间戳响应消息标记所述共识准备消息后进行区块链共识过程,生成用所述当前时间戳标记的区块并存储在区块链中。
在本发明的一个实施例中,时间戳响应消息还包括:
历史验证信息,其中,所述历史时间验证信息包括:与所述当前时间戳发布时间相邻的上一个时间戳,以及与所述上一个时间戳对应的上一个主节点签名信息和上一个共识准备消息的哈希值;
将所述历史验证信息与用所述当前时间戳标记的区块建立对应关系。
在本发明的一个实施例中,如图7所示,在如图6所示的基础上,该装置还包括:第三接收模块650和建立模块660,其中,
第三接收模块650,用于接收背书节点发送的验证补充信息,其中,验证补充消息包括:与当前时间戳发布时间相邻的下一个时间戳,以及与下一个时间戳对应的下一个主节点签名信息和下一个共识准备消息的哈希值;
建立模块660,用于将验证补充信息与历史验证信息、以及与用当前时间戳标记的区块建立对应关系。
在本发明的一个实施例中,如图8所示,在如图7所示的基础上,该装置还包括:第一获取模块670、第二获取模块680、第三获取模块690、第四接收模块6100和比较模块6110,其中,
第一获取模块670,用于获取区块链的区块筛选条件;
第二获取模块680,用于查询区块链网络中用背书节点产生的时间戳标记的区块,获取满足区块筛选条件的目标区块;
第三获取模块690,用于根据存储的对应关系获取与目标区块对应的目标历史验证信息和目标验证补充信息;
第四接收模块6100,用于向背书节点发送目标区块标记的目标时间戳,接收背书节点发送的与目标时间戳对应的参考历史验证信息和参考验证补充信息;
比较模块6110,用于将参考历史验证信息与目标历史验证信息进行比较,以及将参考验证补充信息与目标验证补充信息进行比较,若比较结果都相同,则确定目标区块合法。
需要说明的是,前述对基于共识区块链的时间戳标记方法实施例的解释说明也适用于该实施例的基于共识区块链的时间戳标记装置,此处不再赘述。
综上,本发明实施例的基于共识区块链的时间戳标记装置,接收客户端发送的交易请求消息并生成区块链的共识准备消息,进而,向背书节点发送时间戳请求消息,其中,时间戳请求消息包括:主节点签名信息和共识准备消息的哈希值,接收背书节点发送的时间戳响应消息,其中,时间戳响应消息包括:背书节点签名信息,与主节点签名信息和哈希值对应的当前时间戳,其中,当前时间戳在区块链网络中具有唯一性,最后,根据时间戳响应消息标记共识准备消息后进行区块链共识过程,生成用当前时间戳标记的区块并存储在区块链中。提高了时间戳的标记安全性、真实性,保证了时间戳和真实时间的一致性,避免时间戳被篡改,提高了区块链运行的可靠性。
为了实现上述实施例,本发明还提出了另一种基于共识区块链的时间戳标记装置。图9是根据本发明另一个实施例的基于共识区块链的时间戳标记装置的结构示意图,该装置应用于区块链网络的背书节点,如图9所示,该装置包括:第五接收模块910、第二发送模块920。
其中,第五接收模块910,用于接收主节点发送的时间戳请求消息,其中,时间戳请求消息包括:主节点签名信息和共识准备消息的哈希值;
第二发送模块920,用于向主节点发送时间戳响应消息,其中,时间戳响应消息包括:背书节点签名信息,与主节点签名信息和哈希值对应的当前时间戳,其中,当前时间戳在区块链网络中具有唯一性。
在本发明的一个实施例中,如图10所示,在如图9所示的基础上,该装置还包括:存储模块930,其中,
存储模块930,用于存储与主节点签名信息和共识准备消息的哈希值对应的当前时间戳三者之间的对应关系。
需要说明的是,前述对基于共识区块链的时间戳标记方法实施例的解释说明也适用于该实施例的基于共识区块链的时间戳标记装置,此处不再赘述。
综上,本发明实施例的基于共识区块链的时间戳标记装置,引入背书节点来产生不可抵赖的,前后可链接查询的时间戳,不改变共识阶段的正常流程,在共识过程之前提供了分布式一致的时间戳,扩展了区块链的应用,通过提供全网一致的时间戳把对链上数据有时效性要求的场景在区块链实现中变得可行。
基于上述实施例,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,实现如上述实施例集中在主节点侧或者是背书节点侧描述的基于共识区块链的时间戳标记方法。
基于上述实施例,本发明实施例还提供了一种非临时性计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述实施例集中在主节点侧或者是背书节点侧描述的基于共识区块链的时间戳标记方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

Claims (14)

1.一种基于共识区块链的时间戳标记方法,其特征在于,所述方法应用于共识节点中选举的主节点,包括:
接收客户端发送的交易请求消息并生成区块链的共识准备消息;
向背书节点发送时间戳请求消息,其中,所述时间戳请求消息包括:所述主节点签名信息和所述共识准备消息的哈希值;
接收所述背书节点发送的时间戳响应消息,其中,所述时间戳响应消息包括:所述背书节点签名信息,与所述主节点签名信息和所述哈希值对应的当前时间戳,其中,所述当前时间戳在区块链网络中具有唯一性;
根据所述时间戳响应消息标记所述共识准备消息后进行区块链共识过程,生成用所述当前时间戳标记的区块并存储在区块链中。
2.如权利要求1所述的方法,其特征在于,所述时间戳响应消息还包括:
历史验证信息,其中,所述历史时间验证信息包括:与所述当前时间戳发布时间相邻的上一个时间戳,以及与所述上一个时间戳对应的上一个主节点签名信息和上一个共识准备消息的哈希值;
将所述历史验证信息与用所述当前时间戳标记的区块建立对应关系。
3.如权利要求2所述的方法,其特征在于,还包括:
接收所述背书节点发送的验证补充信息,其中,所述验证补充消息包括:与所述当前时间戳发布时间相邻的下一个时间戳,以及与所述下一个时间戳对应的下一个主节点签名信息和下一个共识准备消息的哈希值;
将所述验证补充信息与所述历史验证信息、以及与用所述当前时间戳标记的区块建立对应关系。
4.如权利要求3所述的方法,其特征在于,还包括:
获取区块链的区块筛选条件;
查询区块链网络中用所述背书节点产生的时间戳标记的区块,获取满足区块筛选条件的目标区块;
根据存储的所述对应关系获取与所述目标区块对应的目标历史验证信息和目标验证补充信息;
向所述背书节点发送所述目标区块标记的目标时间戳,接收所述背书节点发送的与所述目标时间戳对应的参考历史验证信息和参考验证补充信息;
将所述参考历史验证信息与所述目标历史验证信息进行比较,以及将所述参考验证补充信息与所述目标验证补充信息进行比较,若比较结果都相同,则确定所述目标区块合法。
5.一种基于共识区块链的时间戳标记方法,其特征在于,所述方法应用于区块链网络的背书节点,包括:
接收主节点发送的时间戳请求消息,其中,所述时间戳请求消息包括:所述主节点签名信息和共识准备消息的哈希值;
向所述主节点发送时间戳响应消息,其中,所述时间戳响应消息包括:所述背书节点签名信息,与所述主节点签名信息和所述哈希值对应的当前时间戳,其中,所述当前时间戳在区块链网络中具有唯一性。
6.如权利要求5所述的方法,其特征在于,还包括:
存储与所述主节点签名信息和所述共识准备消息的哈希值对应的当前时间戳三者之间的对应关系。
7.一种基于共识区块链的时间戳标记装置,其特征在于,所述装置应用于共识节点中选举的主节点,包括:
第一接收模块,用于接收客户端发送的交易请求消息并生成区块链的共识准备消息;
第一发送模块,用于向背书节点发送时间戳请求消息,其中,所述时间戳请求消息包括:所述主节点签名信息和所述共识准备消息的哈希值;
第二接收模块,用于接收所述背书节点发送的时间戳响应消息,其中,所述时间戳响应消息包括:所述背书节点签名信息,与所述主节点签名信息和所述哈希值对应的当前时间戳,其中,所述当前时间戳在区块链网络中具有唯一性;
生成模块,用于根据所述时间戳响应消息标记所述共识准备消息后进行区块链共识过程,生成用所述当前时间戳标记的区块并存储在区块链中。
8.如权利要求7所述的装置,其特征在于,所述时间戳响应消息还包括:
历史验证信息,其中,所述历史时间验证信息包括:与所述当前时间戳发布时间相邻的上一个时间戳,以及与所述上一个时间戳对应的上一个主节点签名信息和上一个共识准备消息的哈希值;
将所述历史验证信息与用所述当前时间戳标记的区块建立对应关系。
9.如权利要求8所述的装置,其特征在于,还包括:
第三接收模块,用于接收所述背书节点发送的验证补充信息,其中,所述验证补充消息包括:与所述当前时间戳发布时间相邻的下一个时间戳,以及与所述下一个时间戳对应的下一个主节点签名信息和下一个共识准备消息的哈希值;
建立模块,用于将所述验证补充信息与所述历史验证信息、以及与用所述当前时间戳标记的区块建立对应关系。
10.如权利要求9所述的装置,其特征在于,还包括:
第一获取模块,用于获取区块链的区块筛选条件;
第二获取模块,用于查询区块链网络中用所述背书节点产生的时间戳标记的区块,获取满足区块筛选条件的目标区块;
第三获取模块,用于根据存储的所述对应关系获取与所述目标区块对应的目标历史验证信息和目标验证补充信息;
第四接收模块,用于向所述背书节点发送所述目标区块标记的目标时间戳,接收所述背书节点发送的与所述目标时间戳对应的参考历史验证信息和参考验证补充信息;
比较模块,用于将所述参考历史验证信息与所述目标历史验证信息进行比较,以及将所述参考验证补充信息与所述目标验证补充信息进行比较,若比较结果都相同,则确定所述目标区块合法。
11.一种基于共识区块链的时间戳标记装置,其特征在于,所述装置应用于区块链网络的背书节点,包括:
第五接收模块,用于接收主节点发送的时间戳请求消息,其中,所述时间戳请求消息包括:所述主节点签名信息和共识准备消息的哈希值;
第二发送模块,用于向所述主节点发送时间戳响应消息,其中,所述时间戳响应消息包括:所述背书节点签名信息,与所述主节点签名信息和所述哈希值对应的当前时间戳,其中,所述当前时间戳在区块链网络中具有唯一性。
12.如权利要求11所述的装置,其特征在于,还包括:
存储模块,用于存储与所述主节点签名信息和所述共识准备消息的哈希值对应的当前时间戳三者之间的对应关系。
13.一种计算机设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-4中任一所述的种基于共识区块链的时间戳标记方法,或者,如权利要求5或6所述的基于共识区块链的时间戳标记方法。
14.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-4中任一所述的种基于共识区块链的时间戳标记方法,或者,如权利要求5或6所述的基于共识区块链的时间戳标记方法。
CN202011583034.XA 2020-12-28 2020-12-28 基于共识区块链的时间戳标记方法和装置 Active CN113810453B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011583034.XA CN113810453B (zh) 2020-12-28 2020-12-28 基于共识区块链的时间戳标记方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011583034.XA CN113810453B (zh) 2020-12-28 2020-12-28 基于共识区块链的时间戳标记方法和装置

Publications (2)

Publication Number Publication Date
CN113810453A true CN113810453A (zh) 2021-12-17
CN113810453B CN113810453B (zh) 2024-06-18

Family

ID=78892849

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011583034.XA Active CN113810453B (zh) 2020-12-28 2020-12-28 基于共识区块链的时间戳标记方法和装置

Country Status (1)

Country Link
CN (1) CN113810453B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114726536A (zh) * 2022-03-31 2022-07-08 南方电网科学研究院有限责任公司 一种时间戳生成方法、装置、电子设备及存储介质
CN115941692A (zh) * 2023-03-09 2023-04-07 中国信息通信研究院 基于主从式区块链存储模式的信息标识系统、设备和介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180227293A1 (en) * 2015-08-03 2018-08-09 Coinplug Inc. Certificate issuing system based on block chain
US20180276668A1 (en) * 2017-03-24 2018-09-27 Alibaba Group Holding Limited Method and apparatus for consensus verification
CN110417502A (zh) * 2019-07-31 2019-11-05 中国工商银行股份有限公司 一种区块链节点时钟共识方法及装置
CN111008402A (zh) * 2018-10-08 2020-04-14 国际商业机器公司 区块链时间戳协定

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180227293A1 (en) * 2015-08-03 2018-08-09 Coinplug Inc. Certificate issuing system based on block chain
US20180276668A1 (en) * 2017-03-24 2018-09-27 Alibaba Group Holding Limited Method and apparatus for consensus verification
CN111008402A (zh) * 2018-10-08 2020-04-14 国际商业机器公司 区块链时间戳协定
CN110417502A (zh) * 2019-07-31 2019-11-05 中国工商银行股份有限公司 一种区块链节点时钟共识方法及装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114726536A (zh) * 2022-03-31 2022-07-08 南方电网科学研究院有限责任公司 一种时间戳生成方法、装置、电子设备及存储介质
WO2023184858A1 (zh) * 2022-03-31 2023-10-05 南方电网科学研究院有限责任公司 一种时间戳生成方法、装置、电子设备及存储介质
CN114726536B (zh) * 2022-03-31 2024-08-09 南方电网科学研究院有限责任公司 一种时间戳生成方法、装置、电子设备及存储介质
CN115941692A (zh) * 2023-03-09 2023-04-07 中国信息通信研究院 基于主从式区块链存储模式的信息标识系统、设备和介质
CN115941692B (zh) * 2023-03-09 2023-05-23 中国信息通信研究院 基于主从式区块链存储模式的信息标识系统、设备和介质

Also Published As

Publication number Publication date
CN113810453B (zh) 2024-06-18

Similar Documents

Publication Publication Date Title
US11930113B2 (en) Blockchain hybrid consensus-based system for maintaining domain name information
CN109543075B (zh) 区块生成方法和系统
CN109102287B (zh) 区块链记账方法、装置、设备及存储介质
CN110084069B (zh) 基于区块链的服务器日志监控方法和系统
CN108924130B (zh) 一种区块数据的验证方法、装置、设备和存储介质
CN107171810B (zh) 区块链的验证方法及装置
CN108710681B (zh) 文件获取方法、装置、设备及存储介质
CN109542888B (zh) 区块链的数据修改和同步方法、装置、设备及存储介质
CN112492006A (zh) 一种基于区块链的节点管理方法和装置
CN110086780B (zh) 基于以太坊的被篡改交易的处理方法、装置及存储介质
CN113810453A (zh) 基于共识区块链的时间戳标记方法和装置
CN112749968B (zh) 基于区块链的业务数据记录方法及装置
CN112800129B (zh) 区块状态更新方法、装置、系统和电子设备
CN111899019A (zh) 一种黑名单多方交叉验证和共享的方法及系统
KR102208411B1 (ko) 블록체인 네트워크의 트랜잭션 및 이벤트 감사 시스템 및 감사 방법
CN110572480A (zh) 测试设备校准的实现方法、装置及设备
CN110866289B (zh) 基于区块链的数据处理方法、装置、服务器及存储介质
CN111737104A (zh) 区块链网络服务平台及其测试用例共享方法、存储介质
CN111405505A (zh) 一种漫游业务的账单处理方法、系统及存储介质
CN116777397A (zh) 基于区块链的电子单据管理方法、装置、终端及存储介质
CN113810359B (zh) 存证方法、装置及其设备
CN116775620B (zh) 基于多方数据的风险识别方法、装置、设备及存储介质
CN109727036B (zh) 交易处理方法及其装置
CN112258184B (zh) 冻结区块链网络的方法、装置、电子设备及可读存储介质
CN111915325B (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