Lunar Wallet

Lunar Wallet

Lunar Wallet is the first privacy native Ethereum wallet based on a built-in integration of TOR. This architecture enables users' IP addresses to be isolated from third parties.

The problem Lunar Wallet solves

Problem

Actual available general wallets

Today, the available wallets do not protect users' sensitive personal data and share it with all the third parties they communicate with (for each data call), such as RPCs (Infura, Alchemy..), Coingecko, Etherscan, CoinMarketCap...
The core problem of the architecture of the actually available wallets such as Metamask is that wallet servers and third parties servers are able to link users' IP addresses and wallet addresses. For us, this is a threat to privacy.

Actual available "privacy" wallets

Ethereum blockchain

Actual "privacy" wallets available on Ethereum blockchain such as Block Wallet are marketing themselves as privacy wallets but they are just using their own servers to hide the users' IP addresses from the RPCs, but the problem in this architecture is that Block Wallet servers have 100% access to users' IP addresses and wallet addresses, so it doesn't solve the privacy issue. Moreover, they do not protect calls made to Etherscan for example.

Bitcoin

Wasabi and Samourai wallets do protect their users by using TOR but users have to 1. install TOR desktop 2. launch a TOR node 3. fix some parameters before being able to use the wallet. These wallets are doing a good job but it is quite difficult to use and you need to understand how TOR works to be able to use it. Moreover, this is only supporting Bitcoin.

Solution - Trustless architecture

Lunar Wallet is different as it is privacy-native and that it supports Ethereum. The user does not need to trust the wallet regarding his personal data as the wallet's third parties cannot see or share its users’ IP addresses. With a TOR built-in integration, the users just need to install the extension to be able to use it. Third parties are going to receive data but with a TOR IP address. In the future, we plan to add support DeFi and for other EVM & non EVM blockchains such as Bitcoin.

Challenges we ran into

  • Manage TOR connections: we had to do complex unit testing using scripts
  • How to prove to the user that our solution is working and is different from other wallets: we created a proxy server that the user can put between his wallet and the RPC, so he can see which IP address is received by the third parties: https://ethbrno-logs.vercel.app/ (github: https://github.com/hazae41/ethbrno-logs & https://github.com/hazae41/ethbrno-proxy)
  • Designing a simple solution with a cool front-end (not having useless steps): for that, we had to benchmark every other wallets and see how do they manage the creation of a wallet and transactions.
  • Travel from Paris 🇫🇷🥖 to Brno 🇨🇿 !!!: we came by bus, it took us 16 hours. Glad we made it folks and we are really enjoying this hackathon 🤓

Discussion