Frequently asked question

Have any questions? Explore the timestamping process further and find your answers here.

How does RockProof document enshrining work?

It relates to Proof of existence and Proof of integrity. Using RockProof will add practically useful hard to refute evidence that something (in or recordable in digital format) existed at a particular time.
Yes, the documents never leave your device and Rockproof does not create any new access to such documents. The Hashing algorithm works locally within your browser and the only information being transmitted over the network is the Hash, or Digital Fingerprint of your files, which can not be used to derive the actual content of your files
The Basic version - allowing you to seal a limited number of files with a single transaction - is free to use. Your only expense is the transaction fee (paid in the Ether cryptocurrency) associated with storing the proof on the Ethereum network, which is paid directly to the validators (also called the ‘miners’) of the blockchain transactions using the Metamask browser extension.
If you wish an advanced service, allowing you to bundle more files into a single timestamping transaction, even higher security (by storing the proof in multiple blockchains), not having to touch the Ether cryptocurrency or deal with the Metamask, you can explore our advanced products here.
With the Basic version of Rockproof, you must use the Metamask browser extension, which is supported by the Google Chrome, Firefox, Opera, and Brave browsers. Metamask allows you to interact with the public Ethereum blockchain, without having to run your own blockchain node (a special software that maintains your own copy of the full distributed ledger).
Once you install Metamask, you’ll have to create your Ethereum wallet and fund it with some Ether, that you can buy on many cryptocurrency exchanges. We can recommend GBX, or You then transfer Ether from your exchange account to your Metamask wallet and start using the free, Basic version of Rockproof. You can find more information in this comprehensive guide to installing and using Metamask.
If you do not wish to use Metamask or deal with cryptocurrencies or exchanges at all, you may opt for our advanced products.

A cryptographic hash function is an algorithm, which can take digital data of any size and type as input (e.g. contents of a file) and returns a fixed-size alphanumeric string. The string is often called the 'hash value', 'message digest', 'digital fingerprint', 'digest' or 'checksum'.

It has the following properties:

  • It is easy to calculate a hash for any given data
  • It is extremely computationally difficult to calculate an alphanumeric text that has a given hash.
  • It is extremely unlikely that two slightly different messages will have the same hash.

Rockproof uses SHA256 algorithm, that is a widely recognized standard developed by the US National Security Agency (NSA).

Examples of a applying a hashing function:

Data Hash
2 d4735e3a265e16eee03f59718b9b5d03019c07d8b6c51f90da3a666eec13ab35
Mario 61c8e16ad90d4e6da317180fa445e262e9313bbf21fd4d30b3b9b4425886b2f5
Maria 9ff18ebe7449349f358e3af0b57cf7a032c1c6b2272cb2656ff85eb112232f16
817992 7e313d861616e51bc80aa9690dec99b76ae01aa8f2b5ba1e19afd61a62b3baef

As can be seen, a slight change in the original data results in a dramatically different hash result.

A Merkle tree of hashes in which every leaf node is labelled with the hash of a data block (a hash of one of your files in case of RockProof) and every non-leaf node is labelled with the the hash of the labels of its child nodes.

This structure allows us to:

  • Establish, whether a data structure (a file) is a part of the merkle tree
  • Prove the validity of data being part of a dataset without storing the whole data set
  • Ensure the validity of a certain data set being inclusive in a larger data set without revealing either the complete data set or its subset

A Merkle Root is the Hash sitting on top of the tree, it’s the ultimate fingerprint of all files that have been sealed.

While we could store each hash of each file individually, it would result in a large number of transactions, incurring unnecessary transaction fees.
Combining the hashes into a Merkle tree allows us to timestamp a large number of files, resulting in a single transaction submitted to the Ethereum blockchain, while retaining our ability to verify, whether a particular hash exists in a given Merkle Tree, represented by the stored Merkle Root hash.
No. Thanks to the works of computer scientist Ralph Merkle and the many mathematicians and cryptographers that followed - who invented the algorithms we use, we can efficiently prove that something is in a set of data (Merkle Tree), without having to store the set (the hashes of all the files acting as the leafs in the Merkle Tree). In simple terms, we can prove with 100% certainty, that a file existed in certain form and that it is a part of a larger bundle of other files.
Ethereum is a public blockchain, secured by a network of tens of thousands of computers around the world. We incorporate the hashes into a transaction stored on Ethereum, which serves as a secure proof of the exact time at which that data existed. Such proof is often cited as irrefutable and tampering with the timestamp would also lead to breaking the integrity of the entire blockchain network, which is extremely difficult.
Once the hash has been recorded in the blockchain, there is no additional cost related to keeping it stored indefinitely and publicly available, making it a very cost effective solution for maintaining the integrity and persistency of the proofs.
The hashes are stored using a simple smart contract that uses so called ‘events’ or ‘zero-storage’ mechanism to reduce the transaction cost requirements for storing the hashes. The source code of this contract can be found on our GitHub here.

How does RockProof validation of existence and integrity work?

The validation process is free, as it does not modify the state of the blockchain, hence does not require any transaction fees.
For as long as the underlying blockchain remains in existence.
The proof is incorporated to a transaction on the blockchain, that has been sealed together with all other transaction inside of a block, secured by strong cryptography and verified by thousands of validators (a.k.a. ‘miners’) across the globe. Changing the proof, would mean violating the integrity of the entire blockchain network, which is extremely difficult - magnitudes harder than compromising any centralized Timestamping Authority (TSA).
No. The relevant document holder can access the event log of the RockProof smart contract, extract the list of stored merkle roots, and provided he has access to the related documents, hash them and verify their presence in the Merkle Tree.
You can also deploy your own version of RockProof within your organization or use our Managed Service. See more information here.
We are very keen to explore new use cases and questions. Please reach out!

Leave a Message

Contact us

Is there something we did not answer? Do not hesitate to contact us.