When people first hear that their files are being "stamped on the Bitcoin blockchain," a natural reaction is concern about the privacy of their files. Does this mean my private contract is now visible to the entire world? Can someone download my file from the blockchain?
The answer is no. Your file never touches the blockchain. Here's how it actually works.
What Goes on the Blockchain?
When you timestamp a file, the first step is creating a cryptographic hash of it. Your file is never submitted to the Bitcoin blockchain, only the hash is. Your file, its name, its contents, and any metadata about it never touches the public blockchain.
You might be asking now what exactly is a hash?...
What Is a Hash?
A hash is like a fingerprint for a digital file. Just like every person has a unique fingerprint, every file has a unique hash. It's a short string of letters and numbers that uniquely identifies your file without revealing its content.
Here's an example. A file might produce a hash that looks like this:
a7f3b8c1d9e0f2a4b6c8d0e1f3a5b7c9d1e2f4a6b8c0d2e4f6a8b0c2d4e6f8a0
A few things make hashes useful for proving a file existed at a point in time:
- Always the same: If you hash the same file twice, you get the exact same result every time. This is what makes verification possible.
- Always the same length: Whether your file is a one-page letter or a two-hour video, the hash is always the same short length.
- Any change creates a totally different hash: If even a single character in your file is changed, the hash becomes completely different. You can't tamper with a file without the hash changing.
- Can't be reversed: A hash is designed to work in one direction only. You can go from file to hash, but there's no practical way to work backwards from a hash to the contents of the file.
For timestamping, this means we can record your file's fingerprint on the Bitcoin blockchain to prove it existed at a specific time, without ever exposing the file itself.
Why can't a hash be reversed?
Cryptographic hash functions are one-way functions: given a file, you can always compute its hash, but given only a hash, you can't work backwards to the original file. There are two reasons for this.
First, the function is deliberately built as a one-way street. There's no known formula to turn an output back into an input. The only way to "reverse" it is to guess inputs and hash them until one matches. For anything with real content, a contract, an image, a database, the number of possibilities is so astronomically large that this is hopeless, even with every computer on Earth working on it.
Second, and more fundamentally for real files: a SHA-256 hash is always exactly 32 bytes long, regardless of the input. A 500-page contract, a 2-hour video, or a multi-gigabyte database all produce the same 32-byte output. There simply isn't enough room in 32 bytes to hold enough information to recreate a file of that size, so even in principle, the original can't be rebuilt from the hash alone. The hash is a fixed-size fingerprint, not a compressed version of the file.
What About the Calendar Server?
Some might ask about the privacy of the calendar servers. The calendar servers only ever receive your file's hash. They never see the original file. Even if a calendar server were compromised, an attacker would only find a list of hashes with no way to connect them to specific files or users.
How LegalStampy Handles Your Files
At LegalStampy, your files are hashed on our private servers and then, the hashes are submitted for timestamping. Your files are encrypted and stored on our private cloud server (Unless you opt out file storage). Your files' contents are never exposed publicly; only the hashes are.
This is one of the strengths of the OpenTimestamps standard. You get the full security of a Bitcoin-anchored proof without sacrificing any privacy.