Skip to main content

Timestamp Introduction

This document presents the functional architecture of EBSI's Timestamp core service.

What it is

The Timestamp core service anchors cryptographic hashes on the EBSI ledger. Once written, the record is immutable: it proves that a specific piece of data existed in an exact form at a specific moment in time. The service does not store the data itself, only its hash. Sensitive content can therefore be timestamped without exposing it on a public blockchain.

The Timestamp core service consists of two components: the Timestamp API and the Timestamp smart contract. The Timestamp smart contract is deployed on the EBSI ledger, whilst the Timestamp API enables interaction with the Timestamp smart contract to:

  • Timestamp hashes.
  • Support timestamping records and versions (+ timestamps linking).
  • Verify timestamps.

Two anchoring modes

Timestamps

A timestamp anchors a single hash at a point in time. It is the simplest form of anchoring:

  1. Compute a hash of your data (the API supports multiple hash algorithms).
  2. Submit the hash to the Timestamp API.
  3. The API writes the hash to the EBSI ledger smart contract and returns a transaction reference.

The on-chain record contains: the hash, the identity of the account that submitted it (timestampedBy), the block number, and the block timestamp.

Use this when you need point-in-time proof: a document signature, a credential issuance event, a contract conclusion.

Records

A record groups multiple timestamps under a single identifier; each new timestamp becomes a version. Records provide a structured view of how data evolved over time.

A record tracks:

  • All versions of the data (ordered sequence of hashes).
  • Who owns the record.
  • Revocation status.

Use records when you need document version history: iterative credential schemas, evolving policy documents, or any artifact that changes over time and where each state must be independently verifiable.

How it works

The Timestamp API interacts with the Timestamp smart contract deployed on the EBSI ledger. The Timestamp API implements two types of APIs:

  • JSON-RPC APIs: Write operations are JSON-RPC transactions signed by a legal entity's DID key, they assist the construction of blockchain transactions for Timestamp smart contract operations, validate and manage the signed transactions, and interact with the ledger.
  • REST APIs: Read operations use the REST API.

Access is controlled by the EBSI Authorisation Service. Write operations require a timestamp_write scope token.

Client → Authorisation API (timestamp_write token)
→ Timestamp API (submit hash)
→ EBSI Ledger smart contract (immutable write)

The ledger's Proof of Authority (PoA) consensus ensures the record cannot be altered after it is written.

Use cases

  • Credential issuance proof: anchor the hash of a VC at the moment of issuance so verifiers can confirm it was not backdated.
  • Document signing: prove that a contract or policy document had a specific content at a specific date.
  • Schema versioning: anchor each version of a Trusted Schema so downstream consumers can verify which version was in force at any time.
  • Audit trail anchors: record compliance-relevant events on-chain without exposing their content.

Further reading