• Proof of Existence
  • About the Service
  • Protocol Overview
  • Costs

Proof of Existence

The Proof of Existence is all about recording and proving that certain data existed at the given time. To maintain PoE the only timestamp and signature associated with the entity are required to prove in front of the authorized viewers that a particular entity was created at a particular time. Blockchain technology gets very handy for this purpose. As proof gets stored on the public ledger, it is public and can never be modified or removed.

Common usecases:
  • Proof of ownership.
    The owner of the data can prove the ownership of the data without revealing actual data.
  • Data timestamping.
    You can prove that certain data existed and a given time without a need of a central authority.
  • Checking for data integrity.
    The slightest change in the document (even one bit is enough) will result in generating a completely different file hash. So if you create a stamp of your data and then re-check it later, you can be sure that data wasn't changed.

About the Service

This service is intended to provide a simple implementation of the Proof of Existence method on the Gridcoin blockchain. You can anonymously and securely store the proof of the existence of any of your documents (images, videos, documents, binaries...) in the distributed ledger.

We DO NOT store any of your data (except the document hash of course). We store your documents neither in our database nor in the blockchain. Furthermore, your documents are NOT uploaded to the server. The document is required to calculate sha256 of it, these calculations are done in the browser (on the client-side) only.

We do not use any of the tracking pixels, the only exception is Plausible which claims to be the privacy-friendly web analytics alternative to Google Analytics.

Protocol Overview

The data is stamped via embedding the sha256 hash of the data in the gridcoin blockchain. A special transaction gets generated that encodes the hash via OP_RETURN script which marks the transaction&apo;s output as unspendable. This script allows a small amount of data to be inserted.

The typical transaction may look like this:

6a265ea1ed0000015f334f14161952476adde3fbd843f93f647d47a0d7e30eb5d1635fb7569a2503

or like that:

6a465ea1ed0000015bbbbbee48b735693478140de1b7f09fe0acddc0c7bce87f8665074efe53410f7158380aca149fa8422fb1274a69155303d4aaa76bf67defe0bb31628293afd2

The difference between those two is that the second transaction has 2 hashes instead of one. The data allowed with the OP_RETURN script is sufficient to keep two sha256 hashes, so it is totally fine to have more than a single record. It also helps to save on fees, as instead of two separate transactions we can have just one.

Let's see what the transaction consists of:

6a46 - This is the hexadecimal representation of the OP_RETURN script

5ea1ed - The code, special character sequence, so we can recognize stamp transactions and process them. This is a `Hex word` and it reads like “Sealed”.

000001 - Protocol version. We use semantic versioning, the current protocol version is 0.0.1. All further versions of the current service shall support all legacy protocols.

5bbbbbee48b735693478140de1b7f09fe0acddc0c7bce87f8665074efe53410f - First sha256 hash

7158380aca149fa8422fb1274a69155303d4aaa76bf67defe0bb31628293afd2 - Second sha256 hash (may not be presented)

Costs

At the moment of writing this article, the cost of the stamp transaction is relatively low. It consists of the amount burned plus transaction fees. The amount to be burned is 0.00000001 grc (one Halford), plus a fee (may vary, it depends on the transaction size and network load) is approximately 0.05 grc. So the average price is about 0.06 grc per proof.

The service is provided free of charge, although this could be reconsidered in the future if demand will be high. But considering the low price, demand, and amount of donations at the moment of writing this article, the service is ready to remain free for years.


Stamp service wallet balance: grc
Address: SHpqN8xEjy2HHTnAGfgJjwFThuqzLbBs6i

Made with by @gridcat