Proof of Existence on the Blockchain

5tGG...kNBo
3 Nov 2023
119

The blockchain offers an innovative way for creators and inventors to securely document and timestamp their ideas. Known as proof of existence, this method allows someone to anonymously store proof that a certain digital file, such as a document describing an invention, existed at a specific point in time.

Unlike traditional idea protection methods like patents and copyrights, proof of existence does not require revealing your actual idea to a third party. You simply store a fingerprint of your document on the blockchain, gaining immutable proof of your idea's origins while keeping the sensitive details private.


What is Proof of Existence?


Proof of existence is a method for proving data existed at a certain point in time without revealing the actual data. It takes advantage of the immutable and timestamped nature of blockchains to create permanent, tamper-proof records of digital media.

Here's how it works at a high level:

  1. Generate a cryptographic hash of your digital file. This creates a fingerprint that uniquely represents your file's contents.
  2. Send that hash to the blockchain along with a small transaction fee.
  3. Once the transaction is verified and added to the blockchain, the hash exists immutably on the chain along with a timestamp of when the transaction occurred.


As long as the original file remains unchanged, this timestamped hash serves as verifiable proof the document existed at that point in time. Since only the hash is recorded publicly on the blockchain, the contents remain private.

Proof of existence allows you to anonymously demonstrate that you had certain information, like a design, algorithm or idea, by a specific date. As long as you keep the original data secret, you gain the benefits of a timestamped record without disclosing what the actual data is.

Why Use Proof of Existence?

For documenting and protecting ideas, proof of existence has some major advantages over traditional IP methods:

No disclosure of sensitive details - You never have to reveal your actual invention or design. Only a hash of your document goes on-chain. The contents remain private.

Minimal cost - Creating proofs requires only small blockchain transaction fees, which are vastly cheaper than patent/copyright applications.

Instant timestamped proof - Proofs are recorded on the blockchain immediately, letting you prove origins quickly. Patents and copyrights can take months or years.

Establishes priority - If you ever need to prove you had an idea first in the case of a dispute, your proof of existence would predate any potential copying or infringement.

Decentralized verification - Anyone can verify the existence and timestamp of your proof on a public blockchain. No need to go through a centralized authority.

Maintenance free - Unlike patents, your proof does not need periodic renewals or maintenance to remain valid. The blockchain record is perpetual.

For these reasons, proof of existence offers a fast, cheap and low commitment way to anonymously document ideas and establish priority over them. Although not suitable for all applications, it provides an intriguing alternative to traditional protections for certain use cases.

How Proof of Existence Works


To understand how proof of existence functions, let's look at the underlying cryptographic principles that allow blockchain proofs to provide tamper-proof, decentralized timestamping:

Hashing


The essential first step is hashing - converting an input document into a short, fixed-length string of characters known as a hash digest. This is done using a mathematical algorithm known as a hash function, which processes data in a way that is impossible to reverse.

Some examples of common hashing algorithms are SHA256 and RIPEMD160. When hashing a file, even the tiniest change in the input results in an entirely different hash output. This gives hashes a useful property - if two hashes match, you can be mathematically certain the original data is identical.

This allows the hash to serve as a unique fingerprint that represents the document's contents. Hashes let you compare if two inputs are the same without revealing what they actually contain.

Blockchain Timestamping


The next step is recording this unique document hash on the blockchain. Storing data immutably on a decentralized blockchain generates reliable timestamps.

Each new block on a chain like Bitcoin contains the hash of the previous block. This links blocks together in an immutable chronological order. Because later blocks build off earlier ones, the timestamp of any block can be trusted to have occurred after the previous block's timestamp.

Once included in a transaction, a hash exists unambiguously on the chain along with the confirmed transaction's timestamp. This proves the original data must have existed prior, since you could not hash data that was not yet created.

The decentralized nature of blockchains also makes timestamps reliable. Transactions are verified by a consensus of nodes across the globe, making forging fake transaction timestamps statistically impossible.

Together, hashing and blockchain timestamping enable proof of existence - the ability to anonymously prove data existed at a point in time without revealing the actual data.

How to Create a Proof of Existence


With an understanding of the theory, let's now walk through the steps to create real proof of existence proofs:

1. Choose a Blockchain


The first decision is which blockchain to timestamp your data on. Bitcoin was the first chain proof of existence was demonstrated on given its widespread adoption. However, alternatives like Ethereum are now common since they offer faster block times at lower transaction fees.

Other blockchains like Monero provide greater privacy while chains like Filecoin aim to store proofs in a decentralized file storage network. Depending on your priorities like cost, speed and privacy, you may opt for a different blockchain.

2. Generate the Hash


Next, generate a hash of your digital file using a hashing algorithm. For example, if our document was named design.pdf, we could run the command:

openssl dgst -sha256 design.pdf


This would output a 64 character SHA256 hash digest uniquely representing our document's contents.

Be sure to hash the final version of your file you want immortalized. Any changes to the original file later will result in a different hash, breaking the proof.

3. Send a Transaction


Now send a small transaction on your chosen blockchain that includes this hash in any open data field. For example, on the Bitcoin blockchain a transaction's OP_RETURN field can store up to 80 bytes of arbitrary data.

Most blockchain explorers don't show OP_RETURN data by default, keeping your hash private. All that's publicly visible is that a transaction occurred on the blockchain containing 80 bytes of data.

4. Save Transaction Details


Be sure to keep records of your proof transaction containing:

  • The hash you generated
  • The blockchain you used
  • The transaction ID/timestamp


This links your hash to a confirmed transaction on the blockchain which serves as timestamped proof of the original data.

And that's it - you've now anonymously documented evidence of your data's existence on the blockchain!

Proof of Existence Use Cases


Proof of existence opens up some intriguing applications for securely documenting information and establishing priority, such as:

Patent pending - Researchers can hash inventions to establish they had the idea first, before any potential patent filing.

Prototypes & designs - Hardware and product designers can timestamp early versions of their work during development.

Record unpatentable material - If an invention is not patentable, proof of existence still allows inventors to document and claim it as their own.

Validate origins of media - Artists can demonstrate they created a work on a certain date by hashing drafts and storing the proofs before publishing.

Keep confidential research private - Academics can prove they conducted studies and experiments without revealing sensitive details.

Document business processes - Hash manuals, workflows and documents to certify organization's proprietary practices.

Prevent fraud - Contractors and clients can hash documents to guarantee their authenticity and prevent disputes.

Secure legal documents - Attorneys and clients can anonymously store hashes of important documents like wills on the blockchain.

Commit to plans - Individuals or groups can hash goals, roadmaps or proposals to prove their early intentions.

For any application where anonymously documenting the existence of data at a point in time is valuable, proof of existence presents an intriguing option beyond traditional IP and legal protections.

Proof of Existence vs. Patents, Copyright & Trade Secrets


While proof of existence offers some unique benefits, traditional mechanisms like patents, copyrights and trade secrets remain preferable for fully protecting intellectual property in many cases. Here's how proof of existence compares:

Patents

Patents provide exclusive rights to make, use and sell an invention for a limited period of time. In return, inventors must fully disclose their invention so others can build upon it once the patent expires. Proof of existence allows proving you developed an idea first without any disclosure. However, it does not stop others from eventually patenting or using the same idea.

Copyright

Copyright protects original creative works like books, artwork and films. It covers the specific expression of an idea, not the idea itself. Copyright requires full disclosure of the protected work. Proof of existence allows anonymously establishing precedence of creative works without any public disclosure. However, it provides no actual legal protection against copyright infringement.

Trade Secrets

Trade secrets consist of formulas, practices, designs or other confidential information that provides companies an advantage over competitors. They remain protected so long as secrecy is maintained. Proof of existence can help establish ownership of trade secrets in private disputes. But it does not stop theft or exposure of the secrets themselves, unlike dedicated trade secret protections.

For most IP, proof of existence functions as a complement rather than a replacement to these traditional protections. Although for highly sensitive IP, it may be used on its own to document authorship and precedence when disclosure requirements make other protections unfeasible.

Creating Proofs - Step-by-Step Tutorials


Now that we've covered the concepts, let's walk through step-by-step examples of creating real proof of existence proofs on the Bitcoin and Ethereum blockchains:

Bitcoin Proof of Existence


For this demo, we'll use the Bitcoin testnet so we don't have to spend real BTC. Make sure you have some free testnet coins in a web wallet.

  1. Get something to timestamp


Let's prove the existence of a simple text file called recipe.txt containing:

Grandma's Famous Pancake Recipe

Ingredients:
1 cup flour
2 eggs
1 cup milk
2 tablespoons butter
1 tablespoon sugar

Directions:
1. Melt butter and mix in large bowl with milk, eggs and sugar
2. Slowly stir in flour until fully blended
3. Heat frying pan to medium heat
4. Pour 1/4 cup batter into pan 
5. Cook until bubbles appear, then flip
6. Repeat with remaining batter
7. Serve with your favorite toppings!


  1. Generate the hash


Now let's create the file hash. On Linux/macOS we can run:

openssl dgst -sha256 -binary recipe.txt > recipe_hash.bin


This will create a binary file recipe_hash.bin containing the SHA256 hash digest of recipe.txt.

  1. Send a Bitcoin transaction


Open your Bitcoin testnet wallet and go to the Send tab. Paste the hash digest from recipe_hash.bin into the OP_RETURN data field.
Note that OP_RETURN can store up to 80 bytes, so we could hash much larger files. Hit send and wait for your transaction to confirm.

  1. Save transaction details


Once confirmed, save the transaction ID and recipient address, along with the original hash digest you generated. This links the hash to a confirmed transaction on the blockchain containing an OP_RETURN with that data.

Together with the original file, this provides cryptographic proof that the document existed before that transaction's timestamp.

Ethereum Proof of Existence


Ethereum makes timestamping hashes easy and cheap using smart contracts. Here's how:

Get Ether

You'll need a small amount of Ether in your wallet.

Upload to IPFS

IPFS is a decentralized storage network that can immutably store files and data. To upload, go to the IPFS web UI . Select your file and click "Add".

This will generate a unique content identifier hash like:

QmR56pp3vizS9KE3r4YrN2vZy6uqdKih6v8Mg83vYDu4d4


This hash encodes and indexes the file contents immutably in IPFS.

Call contract

Now let's have a smart contract record this hash on the Ethereum blockchain.
Head to Remix IDE and paste in this simple Proof of Existence contract:

pragma solidity 0.8.7;

contract ProofOfExistence {

  event DocumentProof(bytes32 docHash);
  
  function storeProof(bytes32 _docHash) public {
    emit DocumentProof(_docHash);
  }

}


This contract simply emits an event that includes our document hash to record it permanently on Ethereum's event log.

In Remix, deploy the contract to your connected wallet and call storeProof with the IPFS hash generated earlier. This will save an immutable record of your IPFS document hash on Ethereum.

Verify

Head to an Ethereum explorer like Etherscan to easily verify your contract call and transaction. You now have publicly verifiable proof your document hash was recorded on the blockchain at that timestamp!

Limitations of Proof of Existence


While proof of existence is a powerful concept, it does have some limitations to consider:

  • Does not protect content from theft or copying, unlike legal protections
  • Does not prove you have continued access to original data
  • Proof relies on keeping certain data secret like original document and private keys
  • Does not guarantee the timestamping blockchain will persist indefinitely
  • Hash collisions, though statistically improbable, could potentially break proof if someone can intentionally generate a duplicate hash


For these reasons, some experts recommend against relying solely on proof of existence for high value IP and sensitive documents. Using it alongside other legal protections and securely storing original documents minimizes risks.

Additionally, new blockchain-based systems are emerging that aim to overcome limitations of basic proof of existence with advanced features like file storage and permissions management. For example:

  • Akasha - A next-gen decentralized social network that uses the Ethereum blockchain and IPFS behind the scenes to preserve user privacy while timestamping and backing up all posts and data.


  • Monegraph - An integrated platform for registering digital artwork on the Bitcoin blockchain to establish proof of authorship and provenance while enabling direct licensing and sales.


  • Tierion - A service that anchors data to multiple blockchains along with storing encrypted copies in IPFS and maintaining revision histories for complete data integrity verification.


As blockchain ecosystems expand, expect dedicated services for robust, user-friendly proof of existence and verifiable data preservation to continue advancing.

Looking Forward: The Evolution of Proof of Existence


Proof of existence is still an emerging concept with ample room for improvement. Here are some likely areas of development:

  • Advanced hashing - Using more advanced cryptographic accumulators rather than simple hash functions could allow proofs to support verification of document modifications over time rather than just existence at a single point in time.


  • Confidential chains - New privacy-preserving blockchains like Monero and ZCash better protect sensitive proof of existence use cases where anonymity is critical.


  • Decentralized storage - Integrating decentralized file storage like IPFS, Filecoin and Storj with proof of existence to preserve original data in a tamper-proof, highly available manner.


  • Dedicated apps - User friendly applications tailored specifically for proof of existence, rather than relying on raw blockchain transactions, that simplify the process and heighten reliability.


  • Standardization - Emergence of common standards around blockchains, hashing algorithms, transaction formats, verification mechanisms and other parameters involved in proofs of existence.


  • Legal recognition - Gradually accumulating legal precedents around the validity of blockchain timestamped proofs serving as evidence in courts.


  • Double proofs - Using multiple independent blockchains to timestamp the same hash creates redundant proof and guards against reliance on any single chain.


  • Information escrows - Smart contracts that can privately reveal raw documents and data tied to public proofs of existence in the event of predefined conditions, like legal disputes.


Together these kinds of improvements could make proof of existence a widely recognized means of demonstrating data ownership and authenticity across applications ranging from patents to legal contracts and intellectual property.

Proof of existence represents an exciting evolution in securely recording and protecting information. By providing the ability to anonymously prove data existed at a point in time, it opens up game-changing opportunities for sharing ideas and timestamping creative works.

Although the applications are still being discovered, we've only scratched the surface of what's possible. As blockchain adoption increases and capabilities improve, proof of existence is poised to progress from novelty to norm.

Creators, inventors, artists and other innovators now have a powerful tool for preserving their rights and intellectual property that aligns with the decentralized ethos of blockchain. Technology cannot stand still. The protocols of yesterday must continue advancing, and proof of existence demonstrates the innovative new directions that progress may take.

Thank you for reading, and I hope you've enjoyed this article and gained some knowledge.


Your Support Matters:


SOLANA : 5tGG8ausWWo8u9K1brb2tZQEKuDMZ9C6kUD1e96dkNBo

ETHEREUM/polygon/OP/ARB/FTM/ AVAX/BNB :

0x608E4C17B3f891cAca5496f97c63b55AD2240BB5

BITCOIN : bc1qehnkue20nce3zgec73qvmhy0g3zak69l24y06g

Write & Read to Earn with BULB

Learn More

Enjoy this blog? Subscribe to CapitalThink

6 Comments

B
No comments yet.
Most relevant comments are displayed, so some may have been filtered out.