Memento is a dapp for storing private content (note, photo, video, or any file) on a public blockchain to be unlocked in the future. Powered by a novel EVM time-locking privacy protocol built from scratch in ETHGlobal Istanbul.
Prize Pool
Prize Pool
Prize Pool
Prize Pool
Memento is our innovative decentralized application, developed as a proof of concept for our Ethereum Improvement Proposal (EIP): 'Time Capsule' like encryption via Verifiable Delay Function (VDF). This EIP addresses a critical gap in the Ethereum ecosystem by introducing a mechanism for secure, time-locked encryption of data on the blockchain.
š
Memento allows users to encrypt text or files and set a specific time delay for when the content can be decrypted, bringing a new level of security and integrity to data management in Ethereum. The application is designed to be user-friendly, enabling users to easily create time-capsuled content, which remains securely encrypted until the pre-determined unlock time.
Our proposed EIP (Time Capsule Encryption via VDF) outlines a sophisticated encryption process where nodes engage in a series of computational iterations, determined by VDFs, to ensure that decryption cannot occur before the set time. This process is mathematically self-validated, ensuring the content's integrity without the need for multiple nodes to confirm its legitimacy. Our solution is particularly impactful for applications requiring confidential, time-sensitive data handling, like sealed bids, timed announcements, or digital inheritance.
We tried to build Memento utilizing partners' technologies for time-capsuled content encryption. However, upon discovering the lack of suitable on-chain solutions, we pivoted to create our own EIP for Time Capsule Encryption via VDF(Verifiable Delay Function).
Pull Request on Github to Ethereum EIPs: https://github.com/ethereum/EIPs/pull/7971
Post on Ethereum Magicians Forum: https://ethereum-magicians.org/t/eip-for-time-capsule-encryption-via-verifiable-delay-functions-vdfs/16682
š
The core of Memento is built on Ethereum blockchain technology. We used Solidity for smart contract development, incorporating mechanisms for time-delayed decryption. The smart contracts handle encrypted content uploads, set decryption time delays, and manage the decryption process through computational iterations guided by VDFs.
Front-end development was done using web technologies like React, connecting to Ethereum smart contracts. This provides a seamless and interactive user experience. The encrypted content is uploaded to IPFS (InterPlanetary File System), ensuring decentralized storage and accessibility.
One particularly notable aspect is our approach to the Verifiable Delay Function. We devised a method that ensures the computational process for decryption remains constant, irrespective of the computational power employed, a crucial feature for maintaining the integrity of time-locked content.
š
š
š
š
š