Verifiable Document
Notarize documents on Blockchan: a tamper-proof, on-chain document verification contract with self-sovereign control.
Overview
Verifiable Documents allow users to create tamper-proof, document verification contracts. The actual file can be stored locally or on decentralized storage networks such as IPFS or Arweave, while its unique fingerprint is anchored on-chain. This provides an immutable proof of authenticity without exposing the document's contents.
Each document can be linked to a Pledge Contract, enabling automated enforcement of workflows and milestone payments based on document verification. All operations are executed via the SafePulse Wallet, ensuring self-sovereign, local execution.
Context & Problem
Organizations and individuals often require tamper-proof documents for legal, compliance, or intellectual property purposes. Centralized solutions carry the risk of modification, loss, or a lack of independent verifiability.
The Verifiable Document service solves this by allowing users to anchor documents on-chain for immutability, link them to Pledge Contracts for enforceable workflows, and maintain full self-sovereign control over document storage and access. This ensures documents are trustworthy, verifiable, and usable in automated payment or contract scenarios.
Step-by-Step Tutorial
Prerequisites
Before you begin, ensure you have:
- A non-custodial wallet installed (e.g., MetaMask, Trust Wallet).
- An balanced Externally Owned Account (EOA) with an active subscription plan or sufficient usage credits.
- An Issuer/Creator DID: either a
did:keyor an ERC-1056 DID with the issuer key as its delegate. - Network tokens (e.g., Pulse) in your wallet to pay for the deployment and initialization transactions.
A. Creating a Verifiable Document
This process creates the on-chain contract and initializes its state, making it ready for use and linking.
- Upload your file to your chosen storage solution first. Copy the direct reference to the file:
- IPFS: Upload the file and copy the Content Identifier (CID).
- Arweave: Upload the file and copy the Transaction ID.
- Centralized Host: Upload the file to your server or cloud storage and copy the direct download link.
- Navigate to the Verifiable Document section in the application.
- In the creation form, fill in the details:
- Reference Identifier: Paste the file link, IPFS CID, or Arweave Transaction ID you copied.
- Blockchain Network: Choose the network on which to anchor the document.
- Tap the Create button, typically located at the top of the screen.
- Confirm the deployment transaction in your wallet and wait for it to be minted.
- After the transaction is successful, go to your History section.
- Locate the document history record for the newly created contract.
- Tap the More options menu and select Initialize and Setup.
- Confirm the initialization transaction in your wallet. This step is crucial to finalize the contract's setup.
- Once initialized, share the Verifiable Document DID from the transaction details with any relevant parties who need to verify or interact with it.
Document States & Lifecycle
Unlike the simple Document Registry, a Verifiable Document has a lifecycle that allows for management and linking to contracts.
| State | Meaning |
|---|---|
| Active | The document is valid, verified, and its on-chain record is in good standing. This is the normal operational state. |
| Suspended | The document's validity has been temporarily paused. This may be required to enter a canceled state in a linked Pledge Contract. |
| Revoked | The document has been permanently invalidated by its controller. It can no longer be used to prove authenticity or enforce linked contracts. |
Linked Contract Rules
When a Verifiable Document is linked to a Pledge Contract, its state directly affects the contract's workflow:
- For a Pledge Contract to move to
Executed, the seller must sign on-chain in this Document Contract. - For a Pledge Contract to move to
Completed, the buyer must sign on-chain in this Document Contract. - For a Pledge Contract to move to
Canceled, this Document Contract must be in asuspendedorrevokedstatus.
Use Cases
- Education Certificates: A university issues a tamper-proof diploma as a Verifiable Document. Employers can instantly verify its authenticity on-chain without contacting the university.
- Contract Enforcement: A service agreement is defined in a Verifiable Document and linked to a Pledge Contract. Milestone payments are automatically enforced based on the document's completion and signing statuses.
- Intellectual Property: A creator timestamps a creative work or research paper to prove authorship and establish a verifiable priority date that is legally defensible.
- Legal Agreements: Critical legal agreements are made immutable and independently verifiable by all signing parties, eliminating disputes over document versions.
Benefits & Drawbacks
Benefits
- Tamper-proof and auditable: The on-chain hash provides an immutable proof of authenticity and existence.
- Integrates with Pledge Contracts: Enables automated enforcement of milestone-based payments and workflows directly tied to the document's state.
- Revocable and manageable: Unlike a simple registry, these documents have a full lifecycle (Active, Suspended, Revoked) that can be managed.
- Full self-sovereign control: The user maintains complete control over where the file is stored and who has access.
Drawbacks
- Requires management of decentralized storage: Users must ensure their chosen storage solution (IPFS, Arweave) remains accessible for long-term verification.
- Deployment has a cost: Network tokens are required for the Create and Initialize transactions. Creation may be limited to accounts with an active subscription plan or specific credits.
Best Practices & Tips
- Confirm your upload before creating: Double-check that the file is accessible and the link/CID is correct, as this identifier will be permanently anchored.
- Keep a local backup: In addition to your decentralized storage, always maintain your own secure backup of the original file. You are solely responsible for its availability.
- Link for enforcement: For any agreement involving payments or milestones, always link the Verifiable Document to a Pledge Contract to unlock automated enforcement.
- Use decentralized storage for long-term verification: IPFS and Arweave are preferred over centralized links that may break, ensuring the document can be verified forever.