Skip to content
This repository was archived by the owner on Sep 26, 2023. It is now read-only.
This repository was archived by the owner on Sep 26, 2023. It is now read-only.

User should be able to send outgoing transactions via Stolon #58

Description

@holmesworcester

Existing Zcash wallets (including zcashd) reveal a lot about a user in the process of sending to the network.

For example, a malicious node can use network activity to link all a user's separate transactions to some transaction that identifies them (a transaction with an exchange, for example.)

The Zcash Foundation's Stolon addresses this by sending transactions across a series of relay nodes, via Tor.

Stolon is designed to work in Zebra, but it provides a standalone version as well, designed to work with other Zcash full nodes or light wallets. This standalone version receives a freshly-created transaction and submits it to the network.

Stolon is the approach to private transaction transmission that has received the most attention, and the code is available and working. Zecwallet-light-cli should support it, to close the existing privacy leak when sending transactions. Options include:

  1. Bundling Tor and Stolon with zecwallet-light-cli
  2. Include Stolon but require that the user or the application bring their own Tor.
  3. Provide an API for creating transactions that does not send them to the network and simply returns the created transaction. Require the application (or user) to bring their own Stolon and Tor.

The third option is probably the simplest and the best place to start. Zbay and Zecwallet-light could find their own solutions, and that seems fine as a staring point. However, since the user's privacy hinges on all of this being done correctly, ideally all of this would be packaged up into a single off-the-shelf solution, since that avoids the risks involved in every wallet developer rolling their own solution.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions