-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reuse of Monero receiving address #4500
Comments
Good suggestion! Do you know a XMR dev with java skills for doing the implementation? |
pinging @woodser (https://github.com/monero-ecosystem/monero-java) and @knaccc |
Here is my pure-Java subaddress implementation: |
For anyone starting to work on that: Please keep in mind that we do not want to add new library dependencies if there is any way to avoid that. Otherwise it will require an audit for those libraries and their sub-dependencies, which easily ends up in a stalled project due lack of resources to do that. |
This feature becomes more important now in the context of the transaction key reuse vulnerability. By avoiding using the same address we reduce the vulnerability surface. See monero-project/research-lab#103 and https://www.getmonero.org/pl/2018/09/25/a-post-mortum-of-the-burning-bug.html for more details. I started to work on that but it turned out that its quite some effort so I left it incomplete. Here is an overview about the issues which makes it non-trivial to integrate it into Bisq (its account management and trade protocol related, not XMR subaddress related). This info should be helpful for any dev who picks that task up. We create the We must not store the We changed a while back the way how the I stopped at that point, so not sure if there are more issues. I have a patch of my work-in-progress code. I will share it with the dev who works on it. For the subaddress generation I added the |
I am working on this, already have a fully functional POC undergoing testing and revision. |
Great. Invite me for review once there is a PR. |
In bisq, each Monero account supports a single Monero receiving address. Even though reusing a Monero address is not as dangerous as reusing a Bitcoin address (because Monero address is never stored in the public blockchain), this practice can still compromise user's privacy if there is off-chain linking.
Instead of asking for a single receiving Monero address, the Monero account in bisq could ask for the public spend key and the private (secret) view key of the Monero wallet. By having these two keys, bisq would be able to generate a new subaddress for each new transaction, avoiding address reuse and increasing user privacy. Take a look at this javascript solution in https://github.com/knaccc/subaddress-js.
The text was updated successfully, but these errors were encountered: