lastmjs / ethereum-pm

MIT License
0 stars 1 forks source link

Potentially infeasible #14

Open lastmjs opened 4 years ago

lastmjs commented 4 years ago

This app is potentially infeasible, mostly because of these concerns: https://github.com/MetaMask/metamask-extension/issues/1190#issuecomment-645723209

If we don't want the user to have to enter their private key into the application, then we need to somehow send up an encrypted message to something that can decrypt the message. MetaMask is the obvious candidate. But, MetaMask only supports nacl decryption in v8, which requires a new public key derived from a user's private key. This means that users must communicate their public keys with each other out of band of the base Ethereum protocol...this is not ideal.

The point of Ethereum PM was to allow any address to communicate with any other address, while only knowing each other's addresses and at least one transaction sent by each address.

A possible solution is to create a smart contract that maps public keys generated by MetaMask to addresses, but that seems like a lot of work for the user, and they wouldn't be able to send a message to any other address.

We'll need to think about the feasibility of continuing with this project given these constraints.