It’s about consent.
The current Zcash protocol maximizes honoring the individual user’s consent.
Years ago, Nate Wilcox and I were talking about Zcash strategy, and he said “I think consent is a good touchstone.”
At that moment I realized that privacy isn’t the core of my value system — it’s consent.
The current Zcash protocol, including the t-addresses, gives each user a high level of control over what they disclose and to whom.
If you want to disclose nothing to anybody, you can send ZEC to someone without revealing to anyone — not even to them — anything about yourself. If you want to disclose some things to some people, you can use View Keys. (Although they are little used. I think I’ve only used them a few times, myself.)
And if you want to disclose a specific amount and some specific linked transactions to everybody, you can use a t-address. This is often useful.
But it’s all under your own consent, as far as the Zcash protocol can enable that.
You can open your favorite Zcash wallet right now and move some of your ZEC from the shielded pool to a t-address or from a t-address to the shielded pool. Try it! Nobody can stop you. Nobody can force you to do it. Nobody can even know that you’ve done it!
Consent is about “What are your alternatives?”.
But the nuance that I’ve learned over the years is that “consent” isn’t binary. It’s really about what your alternative is if you opt out. If somebody has power over you that can harm you unless you cooperate, then your decision is not fully consensual.
Four examples
- Today’s Zcash protocol and today’s Zcash wallets
Moving your ZEC around today, using your own self-sovereign Zcash wallet, including using t-addresses, is highly consensual, because thanks to the Zcash protocol, it would be pretty hard for someone else to put pressure on you about your choices.
- Binance’s “no depositing from shielded” policy
But not impossible! Witness Binance. They recently started rejecting their user’s deposits if they deposit into Binance from the shielded pool.
(Which they almost certainly did, by the way, because certain elements within the U.S. federal government were threatening them with harsh consequences, including imprisonment. So Binance’s decision to do that isn’t fully consensual either.)
This reduces the consensuality of their users, but doesn’t entirely eliminate it. Their users still have reasonable options, such as moving their funds to a t-address before depositing them, or switching to a different exchange. And, when a Zcash wallet adds support for TEX addresses, that will restore the power to that wallet’s user, to approximately the same level as before.
- Tether on Tron
The most widely used cryptocurrency payment system in the world is Tether on Tron. It gives the company behind Tether the ability to track all user actions and to freeze any user’s funds at any time. If a user chooses to subject themselves to that system, is their choice consensual?
It depends on what that specific user’s alternatives are. If they are a wealthy, privileged, “first world” user who knows how it works and just wants to use it to move funds from one exchange to another, it is consensual. If they have no other way to feed themselves, or if they don’t understand what they are giving up by using it, it isn’t consensual.
- The aborted “surveillance” feature of ZSAs
If that feature had gone through in ZSAs, and Tether had deployed on Zcash, would a user’s choice to use it be consensual? Again, that depends on what that particular user’s alternatives would be. Their only way to opt out would be to not use Tether-on-Zcash (or USDC-on-Zcash either) at all. For some users, they would understand the consequences and would have reasonable alternatives they could use instead. For other users, they wouldn’t.
Conclusion
This is why I think the proposed “surveillance” feature is in a low tier of honoring the user’s consent, and the current Zcash protocol, including t-addresses, is in the highest tier.