L

Liame - Wallet Based Email

Spam-free communications, where privacy and ownership are controlled by you and you alone. End Goal: Think Gas Station Network meets Email. Dapps can finally alert users.

The problem Liame - Wallet Based Email solves

Traditional email is not suitable for spam resistant, privacy centric and user friendly interaction.

Key things Liame is solving:

  1. Data Ownership - Your wallet is your access to your emails
  2. Spam - Every message sent requires blockchain authentication against user defined preferences. Every email is a unique hash that is thrown away after successful message send, no more guessable email addresses!
  3. Privacy - Wallet based accounts mean public/private keys control end to end encryption
  4. Autonomous Communication - Finally blockchain smart contracts can engage with users for meaningful decentralized application events.
  5. User Experience - Using products like WalletConnect, simply scan into viewing your inbox.

We intended to add two features:

  1. Email proxy - store a preference where emails could get forwarded. Useful if you have multiple wallets.
  2. Decentralized network relay layer - Implementing similar tech to gas station network for generalized email delivery.

Why "Liame"?
We reversed how email is delivered and controlled, seemed fitting :)

Testing:
See Repo README.md commands.
Requires: Nodejs, Redis-server, Embark, Nodemailer

Challenges we ran into

There were 2 main challenges:

  1. SSL for SMTP was a nightmare, ended up my configuration was wrong to begin with from the demo. I disabled it, and wrote a contract method as a middle ware to verify the sender instead of using SSL. I would like to use both in the future.
  2. ECDSA & Delegate call in solidity don't return values, only boolean. We didn't know this going into the project, and didn't attempt to write assembly last minute. Would like to meet with someone for advice on this functionality. Instead we added the methods directly into each contract, which is not ideal.

Discussion