You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Sep 26, 2023. It is now read-only.
Right now, a malicious lightwalletd, or anyone that can view a lightwalletd's network activity, can link transactions to a given recipient. This could be used to deanonymize a user, by linking them a to a transaction for which their identity is known. Here are some options.
Let zecwallet-light-cli fetch a block over a separate Tor circuit, whenever it needs to retrieve a memo. (In this case, it's important for the code that fetches these blocks to not contain anything about the user's state, since that could also be used by a malicious lightwalletd to profile a user and link transactions. For example, it should receive a block id and the address of the lightwalletd, create a new Tor circuit, fetch the block, and terminate.)
Give the user or wallet developer a setting that lets them designate their own tool for fetching blocks. Then they can build their own tool for fetching blocks that functions this way.
Give the user or wallet developer a setting to disable the fetching of any blocks. (Does this exist already?) Then zecwallet-light-cli could simply fail to return memos, and let the user or wallet developer fetch and decrypt memos themselves.
Option 3 is probably the easiest, but it's not ideal for the wallet developer, since they won't be able to rely on zecwallet-light-cli for state anymore, since they'll have to store their own state for transactions and memos, and make sure this matches the state provided by zecwallet-light-cli.
I'd say option 2 or 4 is the best place to start. Interested to hear more about this.
Right now, a malicious lightwalletd, or anyone that can view a lightwalletd's network activity, can link transactions to a given recipient. This could be used to deanonymize a user, by linking them a to a transaction for which their identity is known. Here are some options.
Option 3 is probably the easiest, but it's not ideal for the wallet developer, since they won't be able to rely on zecwallet-light-cli for state anymore, since they'll have to store their own state for transactions and memos, and make sure this matches the state provided by zecwallet-light-cli.
I'd say option 2 or 4 is the best place to start. Interested to hear more about this.