On this page

About Gridcoin Blockchain Stamping

Gridcoin Blockchain Stamping is a free Proof of Existence service. Drop a file into the app: the browser computes its SHA-256 hash and writes that hash to the Gridcoin blockchain. The document itself never leaves your device. This page walks through the idea behind the service, the on-chain protocol it uses, and what it costs to run.

Proof of Existence

Proof of Existence is a method of verifying and recording that specific data existed at a certain time. Establishing proof requires a timestamp and a signature linked to the data, showing it existed at a particular point in time. A blockchain is a convenient way to do this: proof is stored on a public ledger that is transparent, unalterable, and permanent.

Common Use Cases:
  • Proof of ownership.
    The owner of the data can confirm ownership without revealing the actual data.
  • Data timestamping.
    You can prove the existence of specific data at a particular time without relying on a central authority.
  • Data Integrity Checking.
    If there is even the slightest change in the document (even a single bit), it will result in a different file hash. By creating a stamp of your data and verifying it later, you can ensure that the data has not been altered.

About the Service

This service is a straightforward implementation of the Proof of Existence concept on the Gridcoin blockchain. You can securely and anonymously prove the existence of any document (images, videos, documents, binaries) in the decentralized ledger without revealing the actual content of the document.

We do not store any of your data, except for the document's hash. Your documents are not uploaded to our database or stored on the blockchain, and they never leave your device.The hash is calculated in your browser, so the file itself never leaves your device.

We don't use tracking pixels. The only exception is Plausible, a privacy-friendly alternative to Google Analytics.

Protocol Summary

The data is stamped on the Gridcoin blockchain by embedding the sha256 hash of the data in a transaction. This is achieved through the use of an OP_RETURN script opcode, which creates an unspendable output in the transaction that encodes the hash.

A typical transaction may contain one or two hashes, such as:

Single-hash transaction
6a265ea1ed0000015f334f14161952476adde3fbd843f93f647d47a0d7e30eb5d1635fb7569a2503

or like that:

Two-hash transaction
6a465ea1ed0000015bbbbbee48b735693478140de1b7f09fe0acddc0c7bce87f8665074efe53410f7158380aca149fa8422fb1274a69155303d4aaa76bf67defe0bb31628293afd2

The key difference between the two transactions is that the second one includes two hashes, while the first one only has one. The OP_RETURN script can accommodate two SHA-256 hashes, so more than one record can be stored in a single transaction. That saves on fees.

The transaction breaks down as:

Transaction anatomy
# OP_RETURN script opcode (hex)
6a46
# "Sealed" identifier: hex word that marks stamp transactions
5ea1ed
# Protocol version (0.0.1, semantic versioning; legacy versions stay supported)
000001
# First SHA-256 hash
5bbbbbee48b735693478140de1b7f09fe0acddc0c7bce87f8665074efe53410f
# Second SHA-256 hash (optional; present only in two-hash transactions)
7158380aca149fa8422fb1274a69155303d4aaa76bf67defe0bb31628293afd2

For the full protocol reference, semantic versioning conventions are described at semver.org.

Costs

A stamp transaction is cheap. It consists of a small burned amount (0.00000001 GRC, or one Halford) and a transaction fee of about 0.05 GRC. The average cost works out to around 0.06 GRC per proof.

The service is free, though that may change if demand grows. The low per-stamp cost and ongoing donations cover the running expenses, so it should stay free for a while yet.

Disclaimer

This service is provided as-is, without any warranty of any kind, express or implied. This includes the stamping web application, the public API, and the Gridcoin Stamp GitHub Action. We make no guarantees about availability, correctness, durability, or fitness for a particular purpose.

To the maximum extent permitted by applicable law, the operators of this service shall not be liable for any direct, indirect, incidental, consequential, or any other damages arising from the use (or inability to use) any part of it. By using any component you accept full responsibility for how you integrate and rely on it.


Stamp service wallet balance: 3021.50052482 grc
Address: SHpqN8xEjy2HHTnAGfgJjwFThuqzLbBs6i
Current block height: 3,978,663

Made with by @gridcat · Part of Gridcoin Club ↗ · Testnet