Course 05 · PracticalArticle 19/277 min

Vigi Data: anchoring a file without uploading it

You will be able to anchor a document on chain, prove later that it existed unchanged, and explain exactly what that proof does not cover.

The idea

The chain stores the fingerprint, never the file.

A file is hashed on your machine and only the hash goes on chain. The document itself never leaves your disk — there is nothing to leak, nothing to store and nothing to pay for by the megabyte. What the chain gains is a timestamp that nobody can move: this exact content existed at this height.

What it proves

Existence and integrity. Not truth.

An anchor says a byte-for-byte identical file existed before that block. It says nothing about whether the contents are accurate, whether the signer was entitled to sign, or whether a later version supersedes it. A contract that is anchored is not a contract that is valid, and this project says so on the page rather than letting the word "proof" do the work.

Doing it

One command to anchor, one to verify.

The node anchors a hash and later verifies a file against it: point the verifier at the same file and it recomputes the digest and finds the anchor, or it does not. There is a page on this site that does the same thing in the browser, and the CLI and the RPC agree with it — three ways to the same answer is how you tell an answer is real.

The honest boundary

The storage network does not exist.

Vigi Data V2 is an integrity root, and that is all it is today: there is no distributed storage layer behind it, no replication, no retrieval. If you lose the file, the anchor cannot give it back. The design for a storage network exists; the code does not, and until it does the lesson says so first rather than last.

In short

  • Only the hash goes on chain; the file never leaves your machine.
  • An anchor proves existence and integrity at a height — never that the contents are true.
  • CLI, RPC and the browser page verify the same anchor and must agree.
  • There is no storage network behind it: lose the file and the anchor cannot return it.