About ChiaStamp
A privacy-first tool for file verification on the Chia blockchain
Overview
ChiaStamp allows you to upload any file and instantly get a blockchain timestamp proof. This proof demonstrates that your file existed at a specific point in time without ever exposing its contents. The entire process is designed with privacy as the top priority.
Privacy-First Design
Local Processing
Files are hashed locally in your browser using Web Crypto API. Your file never leaves your device—not even temporarily.
Only Hashes Are Transmitted
Nothing but the hash ever leaves your device. Even if someone intercepts the network traffic, they can only see a hash value, which cannot be reversed to reveal your file contents.
Salted Hashing
Each file is hashed with a secure random salt generated in your browser. This adds an extra layer of privacy by ensuring that even identical files produce different hashes, preventing correlation attacks.
Two-Stage Proof System
Stage 1: Partial Proof
When you first submit a file hash, you receive a partial proof. This proof contains:
- Information about your file hash
- Details about sibling hashes in the Merkle tree
- Proof that your hash is included in the pending batch
However, this proof doesn't yet know which block the commitment will be included in, as the batch is still being prepared.
Stage 2: Full Proof (Confirmed)
Once a batch is created and committed to the blockchain, you can obtain a full proof. Currently, a batch is created every 5 minutes if there isn't a minimum number of spends (this timing may change in the future and is not a blockchain restriction). This confirmed proof includes:
- All information from the partial proof
- The block hash where the commitment was included
- The coin ID and transaction details
- Complete Merkle proof path for on-chain verification
This is the proof you'll want to retain long-term, as it provides complete cryptographic evidence of your file's existence at a specific point in time.
Tip: Use the Verify section to check if your partial proof has been updated to a full confirmed proof. The system will automatically download the updated proof if one is available.
How It Works
File Selection
Select any file from your device. The file is read entirely in your browser.
Local Hashing
A secure random salt is generated and combined with your file bytes. The salted file is then hashed using SHA-256 in your browser. The salt is saved with your proof for later verification.
Hash Submission
Only the hash (not your file) is sent to the server. The server adds your hash to a Merkle tree batch that will be committed to the Chia blockchain.
Proof Generation
You receive a partial proof immediately, which is downloaded as a JSON file. This proof contains the Merkle tree structure and your position within it.
Blockchain Commitment
Currently, a batch is created every 5 minutes if there isn't a minimum number of spends (this timing may change in the future and is not a blockchain restriction). Once the batch is committed to the Chia blockchain, you can retrieve the full confirmed proof that includes the block information.
Verification
At any time, you can verify your proof by uploading both the original file and the proof file. The system verifies the file hash matches, validates the Merkle proof, and confirms the on-chain commitment.
Technical Details
Hashing Algorithm
SHA-256 with a 32-byte cryptographically secure random salt. The salt is generated using the Web Crypto API'scrypto.getRandomValues() method.
Merkle Tree Structure
File hashes are organized into a Merkle tree, allowing efficient batch commitments to the blockchain. Each proof includes the complete Merkle path from your hash to the root.
Blockchain Integration
Proofs are committed to the Chia blockchain, providing immutable timestamping. The Chia blockchain's security model ensures that once committed, the proof cannot be altered or backdated.
Use Cases
- Intellectual Property Protection: Prove you created a work at a specific time
- Legal Documentation: Establish the existence of documents at a particular date
- Contract Verification: Timestamp agreements and contracts
- Research Integrity: Verify research data and findings were created at specific times
- Audit Trails: Create tamper-proof records of file existence