project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5
project screenshot 6

Secure Stamp

Verification of possession during crucial moments of your significant creations and ideas supported by the potency of Hashing and Merkle trees.

Secure Stamp

Created At

HackFS 2023

Project Description

Frequently, we encounter distinctive notions, research endeavors, or innovative concepts that we record in a private space, without an immediate intention of disclosing them to the public. However, we desire some means of securing a patent-like protection that would allow us to demonstrate, at a later time, the approximate moment and time when we first conceived these ideas. This serves as a precautionary measure to resolve potential conflicts that could arise, as ideas tend to emerge multiple times and at various stages throughout our lives.

Is any file in our computers truly timestamped? If so, can it be proven in court? Probably not, So we wanted to create something that saves the fingerprint of one's thoughts or research work in time and solely theirs, i.e. non-transferable—what better way to implement than a blockchain.

It empowers the user to store a verification of the existence of any file on a blockchain, serving as evidence of both its timestamp and ownership. Additionally, due to the implementation of the Merkle tree data structure, users can upload multiple files using just a single proof on the blockchain, thereby minimizing the need for individual existence verification for each file hash, which may be irrelevant in certain cases.

When a user saves a file or multiple files, we refer to it as a "commit." In this project, all the commits are interconnected within a Merkle tree, resulting in a singular hash encompassing all the files. Each commit is assigned a name, allowing users to navigate through them when they connect their wallet. By selecting a specific commit, users can effortlessly upload the pertinent file(s) and readily demonstrate the existence of the files, timestamped by the blockchain, to anyone worldwide.

Note: Sybill Attack is not possible as we are using SHA256 i.e. size of sample space is 2^256 which is approximately the total number of atoms in the observable universe. So Guessing or saving common files is useless and most probably two hashes will never match until the files are copies.

How it's Made

Assumption: Commits only make sense when files are added after the time when the contract is deployed. Else, a central body will be required to resolve disputes in older file ownership. We deployed the contract on the Filecoin and Polygon blockchain(on Calibration and Mumbai testnet respectively for Hackathon) such that it manages all the commits and makes it easy to integrate with the front end. Used React & Redux along with web3.js to get all the essential things done. Also, calculating hashes using the native web crypto API. We have used ENS in the project backend to connect to the smart contract and to make the interaction part easier. We used Baryx to get RPC endpoints to connect the app to the Blockchain(smart contract interaction). Tableland stores the Merkle tree structure of hashes for the particular user as well as serves as a decentralized storage for the users to store their precious work in an encrypted and secure format. It makes the database interaction part easier and user-friendly. We have used the PUSH notification service in the smart contract to notify the user whenever their work's proof is committed on the blockchain. We have used Dataverse OS to make our users interact with our smart contract in order to provide a trustless and transparent service.

background image mobile

Join the mailing list

Get the latest news and updates