cake-tech / cake_wallet

The open source repository for Cake Wallet, a noncustodial multi-currency wallet, and Monero.com, a noncustodial Monero-only wallet. Need help? Check out https://guides.cakewallet.com
https://cakewallet.com
MIT License
689 stars 185 forks source link

Exchange Return Address Linkability #647

Open d-Martian opened 1 year ago

d-Martian commented 1 year ago

Background: Users generally use the exchange feature in the wallet with an assumption that they are not trusting exchanges with personally identifiable information. There are no signups with exchanges, and the wallet doesn't provide user information to the exchanges.

However, if used improperly, there's one piece of off-chain data that can be used to link users to on-chain activity: return addresses. When using the exchange feature of cake wallet, one user input is the "return address" which is essential to returning funds in event of an unsuccessful exchange. However, this address can be linked to anywhere it's been shared off-chain. Most notably, exchanges.

For example, an exchange has record of converting xmr to btc, sending to a private btc wallet. the same return address is used to convert xmr to btc which ultimately gets sent to a KYC exchange. This leaves exchange records that can link the KYC user to btc addresses of every other exchange made with the same return address.

IS: the UX has an ability to paste in a return address or select a labeled address already existing in the wallet.

SB: return addresses should be automatically generated sub/addresses for one-time use. there's never a reason this shouldn't be how return addresses are provided, and it prevents users from making mistakes. Additionally, it simplifies the user experience.

SamsungGalaxyPlayer commented 1 year ago

Part of CW-228

d-Martian commented 1 year ago

CW-228 doesn't exist and issue has not been addressed. Please link to issue or PR, if it exists.

d-Martian commented 1 year ago

CW-228 doesn't exist and issue has not been addressed. Please link to issue or PR, if it exists.

sethforprivacy commented 1 year ago

This was resolved a long time ago, see:

https://github.com/cake-tech/cake_wallet/issues/139

d-Martian commented 1 year ago

This was resolved a long time ago, see:

139

Separate issue. This issue pertains to return address.

sb: return address is a one-time subaddress for each exchange