Inspiration
I am excited by distributed ledger technology because of the potential I see to apply it to contribute to solving global problems. Two of my favorite outcomes of using DLT are financial inclusion and enforceable trust in areas which must be attack-resistant. I was looking for a project to take on to practice coding in Solidity, and a friend told me about his family's experience of settling his grandmother's will. My friend's father had to spend an entire year sorting out the transfer of assets to avoid paying a lawyer excessive amounts to do this. I thought that the entire process which a lawyer would uphold could be automated using smart contracts for a fraction of the operating price. Accessible by the Internet, this would allow anyone to set up a will & testament that would automatically settle on confirmation of their death.
What it does
This protocol automates the process of Will & Testament creation and ensuing settlement through a smart contract Executor. Any potential testator can interact with the protocol to input the details of their will & testament. This process goes as follows:
- Testator specifies assets and recipients for transfer on confirmation of their death
- ERC-20 tokens (in testator’s wallet) and recipients to represent transfer of financial assets
- Contract mints ERC-721 tokens (NFTs) for each physical asset named and described by the testator. This represents transfer of physical assets and each NFT has a specified recipient
- Testator assigns addresses to be confirmers of their death
- Confirmers send signatures to the protocol and when enough have been received to represent confirmation of testator’s death, the transfers are executed
How we built it
I built this using Solidity, Hardhat, Javascript and I will deploy it to the Goerli test network and then the Ethereum main network using Kaleido.
I designed an initial action flow for the will creation and settlement process, wrote out the modular contracts and optimized function implementation for my intended design of the data storage of the protocol. I have also been iterating to optimize for gas efficiency.
Challenges we ran into
- Deciding on the modular design for the contracts to reduce gas and computational burden on the protocol and especially for the user
- Completing a deployed demo of the protocol on a test network and with a connected front-end in time
- Personal information privacy decisions and security concerns
Accomplishments that we're proud of
Building out as much as I have! I have never coded solidity before or even programmed my own project like this. I am very proud that I can read the desired functionality of my idea in my code. I am also happy that I settled on what I believe is a viable, beneficial use-case of distributed ledger technology. This protocol should improve financial inclusion, security in will settlement, and enhance time efficiency for any internet-literate population that has processes of inheritance.
Ensuring personal identity data is not at risk by my protocol, thus protecting its users’ privacy (will data is deleted once transfers are executed). I am excited to continue developing privacy and security measures of the protocol.
What we learned
Writing contracts, testing contracts, local blockchain deployment, deploying using Kaleido, modular contract design, using Hardhat, data privacy, gas efficiency.
What's next for Automated Will Settlement
- Studying other modular contracts to understand & implement optimal data storage and gas efficiency
- Add functionality for preapproved and assigned transfer of testator’s personal NFTs from their wallet to recipients_
- Create simple front-end for users to improve rate of adoption
- Metamask integration with front-end
- Create educational videos to walk users through setting up a metamask wallet and using the protocol
- Security auditing
- Set up IPFS for extra storage ability for NFT physical asset metadata to improve on-chain tie to physical asset
- Set up front-end to receive diverse data-types and upload to IPFS (pictures, serial codes etc.)
- Integrate with oracle and some AI framework to receive greater proof of death, rather than relying on a multi-sig
- Prevent security flaws
- Consider fee structure
- Considering marketing strategy (Google Ads based)
- Consider deploying to other chains using Kaleido
Built With
- hardhat
- html
- javascript
- solidity
Log in or sign up for Devpost to join the conversation.