
FileSeal
A Master's thesis project implementing decentralised document attestation on Ethereum — multiple parties co-sign a file's SHA-256 hash on-chain, proving co-possession without uploading the file or trusting a central notary.
Problem
Multi-party document co-possession is typically handled by centralised platforms like DocuSign or Adobe Sign. These introduce a single point of failure, vendor lock-in, and require uploading file contents to a third-party server. FileSeal — built as a Master's thesis project — removes all three: no trusted intermediary, no file upload, no proprietary lock-in.
Tech Stack
- Smart Contract: Solidity, deployed on Ethereum Sepolia
- Frontend: React 18 + TypeScript, deployed on Cloudflare Workers
- Hashing: Web Crypto API — SHA-256 computed entirely in the browser
- Wallet Support: MetaMask + private key / mnemonic import (key held in component state only, never persisted)
- Verification: Contract verified on Sepolia Etherscan
Outcome
Multiple parties can each sign the same SHA-256 file hash on-chain — collectively proving co-possession without the file ever leaving their devices. The smart contract pairs enumerable arrays (for listing) with O(1) mappings (for eligibility and duplicate checks), keeping attest() gas around 50–60k. A hard cap of 20 participants prevents gas unpredictability; custom errors over require strings lower gas further and enable precise frontend decoding via Interface.parseError().