A modest proposal: squeeze out taddrs

I agree that making privacy the default is important. But my sense is that it’s impossible to achieve “private by default” at the “z-address vs t-address” level.

For example: say two users are both using Gemini, but neither knows that the other is. Preventing them from using t-addresses does not protect their privacy.

  • One sends shielded Zcash to the other, z2z.
  • Gemini knows both the recipient and the sender of the transaction (because it knows which transaction was created by one user and then observable using the others’ keys) but neither the sender nor recipient know this.
  • A range of actors can compel Gemini to provide this information, hack Gemini, etc.
  • Various parties now know both the sender and recipient of a transaction
  • Neither party knows this. Both assume they are protected because they used z2z.

Meanwhile, at the wallet app level, it’s a lot easier.

  • A wallet app can prevent people from using t-addresses entirely (Nighthawk already does)
  • A wallet app can make z-address the default (Zbay already does)
  • Wallet apps don’t have to do KYC and store user info
  • Wallet apps can warn users about the risks of sending to a t-address, while allowing users to.
  • Wallet apps can still let users use t-addresses when it makes sense to.
  • Wallet apps can automatically shield funds
  • Wallet apps can guide users to fiat onramps that support z2z and have good privacy policies
  • Wallet apps can build in DEX’s for a simpler and more private onramp from Bitcoin, ETH, etc so that users are only using Zcash in user-controlled apps and never messing with centralized exchanges or onramps using Zcash.
  • Wallet apps can discourage unsafe behavior like using Zcash as a “pass through” currency.
  • Wallet apps can encourage privacy-enhancing behavior such as buying large round numbers of Zcash, holding it for periods of time, and “topping up” randomly.

I support deprecating t-addresses eventually, but I think this debate can be a distraction, and that our focus should be on achieving maximum privacy within user-run wallet apps, since that’s where user privacy flows from.

We do need fiat onramps, but we need to get user funds away from those onramps as quickly as possible with as few leaks as possible.

It’s almost like, if we have DEX support so that users can seamlessly “deposit” BTC or ETH into their Zcash wallet (converting it to shielded Zcash without touching the network in unsafe ways), we could stop worrying about exchange support entirely.

6 Likes