Search

CN-122029781-A - Time stamp

CN122029781ACN 122029781 ACN122029781 ACN 122029781ACN-122029781-A

Abstract

A method of generating a verifiable timestamp is provided for proving the presence of a data item at or after a first time T 1 . Candidate anchor point data associated with the first time is obtained. The candidate anchor data and the data item are provided as inputs to a generation function to generate the verifiable timestamp. The verifiable timestamp can be verified by providing the verifiable timestamp and target anchor data associated with the first time to a verification function.

Inventors

  • Michela Petit
  • CRAIG STEVEN WRIGHT

Assignees

  • 区块链许可股份公司

Dates

Publication Date
20260512
Application Date
20240920
Priority Date
20231016

Claims (15)

  1. 1. A method of generating a verifiable timestamp for proving the presence of a data item at or after a first time T 1 , the method comprising: obtaining candidate anchor point data associated with the first time; providing the candidate anchor data and the data item as inputs to a generation function to generate the verifiable timestamp; Wherein the verifiable timestamp can be verified by providing the verifiable timestamp and target anchor data associated with the first time to a verification function.
  2. 2. The method of claim 1, wherein the anchor data is derived from a blockchain block identifier.
  3. 3. The method of claim 2, wherein the method further comprises: Accessing a copy of a blockchain, and The blockchain identifier is obtained from blockchain blocks stored in the copy of the blockchain at the first time.
  4. 4. The method of any preceding claim, wherein the generating function is a zero-knowledge proof function, wherein the verifiable timestamp is a zero-knowledge proof generated using the zero-knowledge proof function.
  5. 5. A method according to any one of claims 1 to 3, wherein the generating function is a cryptographic signature generating function, wherein the verifiable timestamp is a signature generated using the signature generating function.
  6. 6. The method of any preceding claim, wherein the method further comprises providing the verifiable timestamp to a verifier, and an anchor data identifier associated with the candidate anchor data and used to identify the target anchor data.
  7. 7. The method of claim 6 when dependent on claim 2, wherein the anchor data identifier is a blockchain blockheight.
  8. 8. The method according to any of the preceding claims, wherein the method further comprises: generating a timestamp attestation blockchain transaction including a first locking script, wherein the first locking script includes the verifiable timestamp, and The timestamp attestation blockchain transaction is provided to one or more nodes of a blockchain network.
  9. 9. A method of generating an additionally verifiable timestamp, the method comprising: obtaining a timestamp proving an identifier of a blockchain transaction, wherein the timestamp proving the blockchain transaction was generated according to claim 8, and Providing the identifier of the timestamp attestation blockchain transaction and a second data item as inputs to a generation function to generate the further verifiable timestamp; Wherein the further verifiable timestamp can be verified by providing the further verifiable timestamp and an identifier of the timestamp attestation blockchain transaction to a verification function.
  10. 10. The method of claim 9, wherein the further verifiable timestamp is generated after a second time T 2 , wherein the method further comprises: obtaining second candidate anchor data associated with the second time; providing the second candidate anchor data as input to the generation function in addition to the identifier of the timestamp attestation blockchain transaction and the second data item to generate the further verifiable timestamp; wherein the further verifiable timestamp is capable of being verified by providing second candidate anchor data having the further verifiable timestamp and target anchor data associated with the first time to the verification function.
  11. 11. A method of verifying the presence of a data item at or after a first time T 1 based on a verifiable timestamp, the method comprising: Obtaining the verifiable timestamp, wherein the verifiable timestamp is generated by providing the data item and candidate anchor point data associated with the first time as inputs to a generation function to generate the verifiable timestamp; obtaining target anchor point data associated with the first time; the verifiable timestamp and the target anchor data are provided as inputs to a verification function to verify the verifiable timestamp.
  12. 12. The method of claim 11, wherein the anchor data is derived from a blockchain block identifier, wherein the method further comprises: obtaining a block height associated with the candidate anchor data; Accessing a copy of a blockchain, and The blockchain identifier is obtained from blockchain blocks having the blockheight stored in the copy of the blockchain.
  13. 13. The method of claim 11, wherein the anchor data is a blockchain transaction identifier that includes a timestamp of a first locking script that proves a blockchain transaction, wherein the method further comprises: generating the timestamp to prove a blockchain transaction, and The timestamp attestation blockchain transaction is provided to an attester to generate the verifiable timestamp.
  14. 14. A computer device, the computer device comprising: a memory comprising one or more memory cells, and A processing device comprising one or more processing units, wherein the memory stores code arranged to run on the processing device, the code being configured to perform the method according to any of claims 1 to 13 when run on the processing device.
  15. 15. A computer program embodied on a computer readable storage device and configured to perform the method of any of claims 1 to 13 when run on one or more processors.

Description

Time stamp Technical Field The present disclosure relates to a method for generating a verifiable timestamp to provide for the presence of a data item at or after a certain time, and a method for verifying a verifiable timestamp. Background There is a timestamp in each block header of the blockchain block. Block chain network nodeThe slave node is accepted only ifThe generated block: ● Time stamp Timestamp than its localAdvance by not more than 2 hours. Thus, the actual time may be at most two hours earlier than the timestamp:。 ● The timestamp is greater than the median of the timestamp set of the last 11 blocks . That is to say that the first and second,. Thus, the median time in the past is increasing, but the individual time stamps are not necessarily increasing. Thus: 。 Because of consensus rules, the timestamp is not necessarily an accurate measure of the actual time. The local timestamp has no absolute lower bound, but in order not to increase difficulty, nodes are stimulated to maximize . Thus, it can be concluded that the link between the block timestamp and the actual time may be within a few hours. Any reference to a timestamp herein will assume that the actual time is within a few hours. For example, "data must be inPreviously existing "hypothesisWhereinOn the order of a few hours. This is not a problem if the time stamp on a piece of data is required for a certain day or longer. If a transactionAppear on the chain inIn time-stamped blocks, then the transaction must be inPreviously generated. Therefore, any data in the transaction must also be inPreviously existing. This concept of time stamping by placing data into blocks is well known. Encryption primitives are algorithms well known in cryptography and are basic building blocks of security protocols. Examples of cryptographic primitives are proof of knowledge, hash functions or digital signatures. Knowledge proof is used between two parties, one of which (alice) proves knowledge about a piece of data to the other (bob). Typically, these are "zero knowledge" proofs (ZKPs) in which the verifier does not know any data about the knowledge that the prover is proving. Digital signatures are used to prove the authenticity, integrity and non-repudiation of signed data segments. With some additional dataIs a secret of (2)The upper generation ZKP is represented asAnd the verification of the zero knowledge proof is expressed asWherein validation checks the validity and of ZKP。 Disclosure of Invention Blockchains are described as timestamp servers, if a piece of data is stored on the chain at timeIn the recorded block, the data is considered to be at time"Time stamping". However, in practice this only proves that the data exists before the time. With the method, it is difficult to prove that the data is generated after a certain point in time. According to one aspect disclosed herein, there is provided a method for generating a verifiable timestamp to prove the presence of a data item at or after a first time T 1, the method comprising obtaining candidate anchor data associated with the first time, providing the candidate anchor data and the data item as inputs to a generation function (GENERATING FUNCTION) to generate the verifiable timestamp, wherein the verifiable timestamp is capable of being verified by providing the verifiable timestamp and target anchor data associated with the first time to a verification function (verify function). Since the verifiable timestamp is derived from anchor point data associated with the first time, and in particular only exists at the first time, verification may ensure that the verifiable timestamp is generated at or after the first time. Drawings To facilitate an understanding of the embodiments of the present disclosure and to show how such embodiments may be implemented, reference will now be made, by way of example only, to the accompanying drawings in which: FIG. 1 is a schematic block diagram of a system for implementing a blockchain; FIG. 2 schematically illustrates some examples of transactions that may be recorded in a blockchain; FIG. 3 provides an exemplary method for generating a verifiable timestamp using a blockchain blockidentifier and verifying the verifiable timestamp; FIG. 4 provides an exemplary method for generating a proof of generation over a time interval; FIG. 5 illustrates an exemplary method for proving that it was generated after a certain time using a previously derived verifiable timestamp; FIG. 6 illustrates an exemplary method for proving generation time using a trusted predictor. Detailed Description 1. Presence evidence after time T 1 A new time stamping protocol is provided herein that may use a variety of different types of encryption primitives. Specifically, primitives generated using user-defined inputs are used. Examples of cryptographic primitives are proof of knowledge, hash functions or digital signatures. In the embodiments described herein, examples of time stamped Zero Know