We should deprecate purely transparentem (t2t) transactions eventually. Keep t2z so you can move old money into the shielded pool. To quote @aiyadt “It’s literally not Zcash” : t2t transactions have no zero-knowledge in them. This is an issue of principles if we care about privacy. It’s also an issue of commitment and signaling. To claim purely transparent transactions offer “the best of both worlds” conceptually undermines our principles and the one thing that differentiates zcash. It’s a loser in the marketplace for ideas and undermines our sense of purpose.
On the other hand, removing purely t2t transactions today outright would be insane (no one is suggesting this, but it’s the straw man people invent to argue against it) We need to keep t2t around with a plan to discourage and remove them eventually.
Guiding principles:
-
Don’t break things we need. T2t transactions are useful now for exchanges, hardware wallets, and wrapped zec. Many of those can live on t2z and z2t, but regardless we should take our time
-
do it gradually with advanced notice. The point is to get people to change before its a pain point that risks them leaving (but maybe they change in anticipation of that pain)
-
create gradually increasing pressure and signals. The point is to cause things to change sooner than later.
-
Keep your money. No demurrage or transparent storage tax on existing transparent stores. At most tax moving it transparently or storing new money.
So what does this look like:
-
a commitment in principle to the community and a deadline. This is like 90% of what’s needed (and what some are arguing desperately against)
-
A plan for signaling and incentives. The incentives are the tricky bit and up for major discussion. We aren’t zealots. We want an engineer at an exchange who believes in privacy to be able to justify to their managers the hours involved for supporting private transactions. A few options:
a) Warnings on t2t transactions in wallets as “insecure”. This is what happened with http vs https. The announcement major browsers would do this caused people to switch before it happend. It should happen with https for money. ECCs wallet SDK had this in an internal prototype, it was removed because “best of both worlds.”
b) increase fees for t2t usage. ( i started a thread on this earlier, it may be a bad idea)
c) Require (empty) shielded inputs and outputs in “t only” transactions. A more novel proposal is to require all transactions to include a shielded input and output with the explicit assumption the shielded component of the transaction would be empty. This would get us default support for shielded in every client (a thing @holmesworcester was concerned about not being possible). Everyone would have to put in the small amount of engineering work to support this, but wouldn’t have to deal with UX and compliance issues.It forces everyone to lay the groundwork for full shielded support later.
d) On the most radical side; a storage tax on any new transparent UTXOs. This would primarily affect exchanges and merchants and get them to do shielded support. But it wouldn’t hurt anyone with old money.
-
Talk is cheap, resource allocation is king. The R&D budget for halo and scale is somewhere between 1 and 3m a year + security reviews. The community should be spending comparable engineering resources on shielded wallet and exchange integrations if not more. Because privacy defines what Zcash is and gets us adoption, scale does not. ECC should do this. ZOMG should get grants for HSM support. And this applies (proportionally) to ZFND too, and its ZFNDs plan, but first they need to ship Zebra and a wallet sdk for it. In the mean time grants like for ledger support and zecwallet will help
A request: please keep this thread on topic. Do not post distracting off topic responses OR reply to them with anything more than: “stop distracting from the issue”. The point is not to convince these people, it’s to prevent them from blocking everyone from reaching consensus.
This includes:
- arguments inventing false reasons why we want shielded gone ( e.g. “it hurts shielded privacy” … no one thinks that)
- Saying we need transparency as a concept (Yes, you can do that with shielded. Try again)
- Arguments we need transparent transactions now or for a while (yes, we know. no one is saying get rid of them immediately. It’s the principle fully transparent transactions are literally not zcash.)
- Things conflating t2t transactions with transparent. ( I got no witty addendum here, this one just confuses me and it’s irrelevant)
- Suggesting deprecating t2z or z2t either because you want to or because you want to confuse t2t (totally transparent, literally not zcash) transactions with the other two because its easier ground to argue.
If you want to argue we should keep transparent transactions forever, by all means do. But be transparent and overt about your position.