question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

feat: encrypt send data and save it locally to (1) show a history of sends, and (2) help debugging

See original GitHub issue

Once a user sends funds to someone, there is currently no way for the sender to see who the funds were sent to. The only available information is the stealth address it what sent to. There are two main benefits to letting users see a history of where they sent funds:

  1. It’s very helpful for users to have a history of their sends so they can remember who they’ve sent funds to
  2. When users are unable to receive funds, this helps debug as we can verify what the sender did

To do this, we’d need to encrypt the following data and save it in locally in the browser:

  1. The recipient ID entered in the form
  2. Whether advanced mode was used (i.e. recipient’s pubkey or stealth key registry)
  3. The random number?

Options to do the encryption:

  1. Require users to sign the message before sending, so we can use their normal Umbra-specific private key for the encryption
  2. Only support this feature for wallets that support eth_getEncryptionPublicKey and eth_decrypt RPC methods. Then we’d get their encryption pub key, generate a random private key, and save the corresponding random pubkey along with the encrypted data

For completion, I’ll mention the option of storing the data unencrypted in local storage but this seems like a very bad idea. A browser extension could probably just read from local storage and de-anonymize all your transactions

Issue Analytics

  • State:open
  • Created 2 years ago
  • Comments:5 (1 by maintainers)

github_iconTop GitHub Comments

1reaction
mds1commented, Oct 17, 2022

Ah sorry, to clarify I mean:

  • Right now, signing a message only happens when you view a page that requires it, and I believe it happens lazily (i.e. we don’t prompt for a signature until it’s needed, on the Receive and Setup pages)
  • But perhaps we change this to just requesting a signature at the same time a wallet is connected. But on second thought this might be bad UX because if your wallet it autoconnects its not great to ask for your signature right away.

So maybe we stick with requesting signature lazily, and just request when they click the send button. This might be confusing for existing users though since it wasn’t required previously, so we should also add a corresponding FAQ question and maybe som info/help text?

0reactions
alexkeatingcommented, Oct 12, 2022

That makes sense, go with option 1 for now. I am a little unclear by what you mean by “make signing the message behave like “logging in” on any page” in terms of UX.

Read more comments on GitHub >

github_iconTop Results From Across the Web

What is Encryption and How Does it Work? - TechTarget
Encryption is the method by which information is converted into secret code that hides the information's true meaning. The science of encrypting and...
Read more >
Troubleshoot Catalyst 9800 Wireless Controllers - Cisco Live
Obtaining debug logs of past event in their context even without having enabled ... encrypt. Wired→Wireless. Wireless MAC. B1.2 crypto. Crypto Stats show...
Read more >
Protecting data using client-side encryption
Client-side encryption is the act of encrypting your data locally to ensure its security as it passes to the Amazon S3 service. The...
Read more >
Cisco Secure Email Encryption Plug-in 1.2.1 Administrator ...
Configuring the Sending of Usage Data. When the Cisco Secure Email Encryption Plug-in is first started, you are asked whether you want to ......
Read more >
The Definitive Guide to Encryption Key Management ...
Symmetric Keys: Data-at-Rest. In symmetric key cryptography, the same encryption key is used to both encrypt and decrypt the data. This means of...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found