Learning Cryptography

Learning Cryptography Through Bitcoin’s Proof of Existence Feature

Proof-of-existence (PoE) is a utility built into the Bitcoin blockchain that allows anyone to store records in an immutable fashion. 

Also read: Bitcoin Nostalgia: Can Some Bitcoins Be Worth More Than Others?

Storing Records on the Bitcoin Blockchain

Learning Cryptography Through Bitcoin's Proof of Existence FeatureStored records held on the blockchain may not have legal implementations at the moment but very well could in the near future. For instance, the state of Arizona has introduced a bill recognizing blockchain-based contracts into the legal system. Even so, using the distributed database to safekeep certain data will make sure your records are cemented in history. This includes documents such as a will, a land title, digital copyrights, and more. Digitally storing your records on the Bitcoin blockchain takes a bit of practice but can be done by anyone.

RSA Encryption, a Message Digest, and Bitcoin’s Public Blockchain  

The best way to create a stored document that is meant to be private on a public blockchain is to encrypt the data. The first thing you want to do is create some public and private keys using your computer. Any operating system can generate these keys with programs like ssh-keygen for Linux and Apple users, and Windows users can use a software called Puttygen.

Public-key or asymmetric cryptography uses mathematically tethered keys that allow for encryption and decryption protocols. Using Puttygen, users just launch the program and click ‘generate RSA keys’, enter a unique key passphrase, and save the newly created public and private keys.

Learning Cryptography Through Bitcoin's Proof of Existence Feature
Saving public and private keys using Puttygen

After receiving the key pair, the next step is to create a message digest where you will add the document, record, or text to a hash function. Message digest software can be found online and computes a string of different cryptographic algorithms such as MD2, MD4, MD5, and SHA-256. By creating the message digest, this will create a unique input for the data you recorded. Following this step, you want to encrypt the information using your newly created private key which also adds your digital signature to the information. There are a few different ways to prepare the data for a blockchain PoE scheme. For instance, software developer Chris Ellis explains how to create a world citizenship certificate on Github with an XML or JSON file using digital signatures and the blockchain. 

Learning Cryptography Through Bitcoin's Proof of Existence Feature
Tethering your private key to a message digest.

Lastly, you want to tether the signed message digest to your document and add it to the Bitcoin blockchain. One must remember that the blockchain can be used to hash a message digest’s string of characters into a transaction, which is not the same as ‘attaching’ a document or file into the blockchain. The document or file is not stored there only the keys or string of digits attached to a transaction represents the proof of ownership. There are a few ways to add text or a string of digits and record it to the public blockchain. This, in turn, is basically your digitally signed ‘representation’ of your document. Many other messages found on the blockchain are in hex code like Satoshis Genesis block text. These particular kinds of blockchain messages were created using the coinbases‘ 100 bytes of arbitrary text.     

The last step can get a bit technical, but if you can complete the steps above, you should be able to follow some online guides that explain how to add a document to the blockchain on your own. There are also online resources that can perform this service for you and apply your data to the blockchain in just a few minutes. PoE services that are currently available include BTProof, Proofofexistence.com, Signatura, and a few others.

Boston’s technical university MIT also offers a PoE certificate program that can add academic records to the blockchain. However, always remember when using these services, you are entrusting the integrity of your data to a third-party.

The Bitcoin blockchain has a vast amount of publicized text in hex strings including a Nelson Mandela tribute text, Satoshi’s genesis message, a Len Sassaman Tribute, Wikileaks cablegate data, and thousands more. Additionally, people have used the blockchain to record a baby’s birth certificate, create a global passport, and a marriage certificate.  

Learning Cryptography Through Bitcoin's Proof of Existence Feature
Satoshi’s message found in the genesis block.

Proving Ownership and Learning Cryptography

Using the Bitcoin blockchain’s feature of PoE can be quite beneficial to demonstrate digital ownership of a document. The blockchain also timestamps the information as soon as the transaction processes. This, in turn, will register the data securely throughout a global distributed network allowing a user to prove ownership with the digital signature at any given time in the future. Because this action removes the need for some third-party verification in the future, this use case may affect the legal system, law firms, notarization services and more. Learning how to create public/private keys, and applying secure documents to Bitcoin’s powerful blockchain gives a fascinating look into the world of cryptography.

Have you ever added a document to the blockchain? Let us know in the comments below.


Images courtesy of Shutterstock, Bitcoin.com, Puttygen, and Pixabay.


Have you seen our new widget service? It allows anyone to embed informative Bitcoin.com widgets on their website. They’re pretty cool and you can customize by size and color. The widgets include price-only, price and graph, price and news, forum threads. There’s also a widget dedicated to our mining pool, displaying our hash power.

  • Teezy

    Great to know, Alexi! Thank you!