Principles for deprecating t2t transactions

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:

  1. 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

  2. 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)

  3. create gradually increasing pressure and signals. The point is to cause things to change sooner than later.

  4. 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:

  1. 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)

  2. 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.

  3. 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:

  1. arguments inventing false reasons why we want shielded gone ( e.g. “it hurts shielded privacy” … no one thinks that)
  2. Saying we need transparency as a concept (Yes, you can do that with shielded. Try again)
  3. 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.)
  4. Things conflating t2t transactions with transparent. ( I got no witty addendum here, this one just confuses me and it’s irrelevant)
  5. 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.

11 Likes

Wonder what folks like @tromer @Matthewdgreen think of this?

I agree we should discourage t2t transactions, and eventually deprecate them, probably by making them sufficiently expensive/painful that they would be used only in rare fallback/emergency situations.

Yes, the simplicity and easy integration of t2t transactions has tremendously helped Zcash gain traction. Some cite it as one of ECC’s smartest moves. But it also stifled meaningful (i.e., shielded) usage of Zcash. It’s too tempting, for too many parties, to “add Zcash support” the easy way and leave it at that. Therefore, existing Zcash users mostly broadcast their transactions in plaintext just like in Bitcoin. Moreover, prospective Zcash users correctly recognize that maybe they shouldn’t bother, because many counterparties would force them to use t-addresses anyway.

We need to shed our training wheels in order to gain speed on the only thing that makes Zcash special: private, shielded transactions.

I would very much like to see an effort to systematic map the prerequisites to deprecating t2t. This includes:

  • the protocol/cryptographic level: do we have all the selective disclosure features we need? What about multisig? And other common scripts?
  • the SDK level: how can can we make it easier to integrate shielded support?
  • the ecosystem level: what services need to add shielded support, and how can we support/encourage them?

Given such a map, I’d like to see a large fraction of the effort by ZF, ECC and ZOMG explicitly directed at checking off these boxes.

6 Likes

I agree with a lot of this @tromer.

But, I don’t agree that t2t stifled meaningful shielded usage - we have firsthand experience working with third parties and the real challenges they faced in integrating what Zcash was when it launched. I believe the opposite is true - that it accelerated acceptance and adoption, even shielded adoption as evidenced by Gemini’s ongoing evolution. We started a multi-phases approach with them some time ago.

Likewise, we are talking to another 3rd party that initially adopted transparent addresses but wants to move to shielded as fast as they possibly can. One step, then the next.

This isn’t uncommon but understand the view that limited tx types could be a forcing function. I’ve been personally living the story. As you know, Zcash is not Monero. Zkps are superior but take computational power that obfuscation does not, and that has implications for the velocity of 3rd party adoption. But I prefer not get into that argument here. :slight_smile:

I would love to see multisig sooner than later. It’s been the factor holding up Bitgo custody, per Bitgo. Fidelity said the same thing a while back. That would help with commercial custody and I believe that the Zcash Foundation has been working on a threshold signature option (FROST) that may be sufficient and get us over that finish line. HSM support work has also been a blocker but, as demonstrated with Gemini, not insurmountable.

ECC has delivered a significant amount of code and documentation to accelerate adoption this year. Btw, the documentation is amazing!

Driving shielded adoption and support has been and will continue to be front and center for ECC. No question. I’m incredibly optimistic about our collective efforts now that ZOMG is in the mix and the foundation seems to be regaining its feet. To your point, we each have much to contribute and collectively gain through complimentary efforts across these teams and the broader community.

9 Likes

Awesome! This is a necessary & required part but not sufficient for full adoption & realization of Zcash value.

Similarly, without all the ECC work you mentioned above & simply banning t2t/t-addr we won’t see any success.

It’s not humanely possible for anyone or company to work with all partners & users in Zcash to fully adopt them into shielded ecosystem. ECC is already helping industry leaders onboard onto the shielded system, once that’s done & @tromer’s points are addressed, we should be looking at disabling/discouraging t2t & more because tools would be ready & easy to use at that point.

Without making this explicit, our partners wouldn’t think serious about integrating with shielded tech.

1 Like

I feel that we have alternative wallets works best… High fees on t2t would work and z to z free… And increase the adoption of ztoz
Nighthawk would be optimise to best speed and sync… I hope we could get Nighthawk for desktop soon :rocket:

Will miners stop mining z2z because of low fees, probably not.

Ah, now you reminded me why I wanted to cap block space for transparent, not just charge fees. It avoids that.

Fee’s (via a cap on capacity) are a thing we should think about. I’ve been convinced setting ones that are high enough for anyone to care andbut not high enough to force people off the platform might be very challenging. And there may be almost no distance between the price that causes one and the other.

But its possible to start fees low and raise them as long as we are converting enough transparent usage to shielded. And hopefully what it does is signal that this will be a problem and the market and exchanges adapt in anticipation. Where-as users just drop off once the situation is actually bad.

1 Like

Is there any evidence that the growth of z2z is inhibited by the existence of other options?

I’m not saying that the universe we live in is the following, but hypothetically:

We live in a universe where current t2t users will switch to a different option before switching to z2z.

Sooo… isn’t it an article of faith that decreasing transparent usage will increase shielded usage?

Also… correct me if I am wrong, but isn’t my security enhanced by more z2z transactions?

Just for clarification, suppose there are two options:

Option One: Twice as many z2z.
Option Two: 1000x as many z2z.

Shouldn’t I always prefer option two, for my own security, regardless of the t2t in either universe?

Also… isn’t it a known that increasing z2z usage will enhance my security?

My personal approach to expanding secure/private usage is to invite new people to use zcash in a secure way.

Correct me if I’m wrong:

If I cause more z2z transactions, then I have increased the security of the system.

So, if I increase z2z transactions then I have increased system security… if others decrease t2t transactions… well… who knows what effect that will have?

Any claim that reducing t2t transactions necessarily increases z2z transactions carries a burden of evidence. Doesn’t it? Isn’t the reduction of t2t only an indirect proxy for increasing z2z?

1 Like

It will have positive impact on shielded storage (because t2z), In fact this is going to encourage folks storing securely. Real security is provided by shielded storage not z2z.

I urge you to pay attention to history, in the recent ECC report on transfers Zcash Metrics - Electric Coin Company we can look at the past period, what we see there on transparent and secure transfers and storage

  1. Zcash Transactions by Month a drop in the total number of transfers since December 2017 (I suppose it is related to price or popularity), while even within 2020 there is a decrease since August, which again is related to the price?
    I do not see the growth of protected transfers, in general, there are fluctuations, but the volume is equal to May 2020, there is no progress, as for me, taking into account the changes in the ease of z to z.There is a slight surge in September, but then the volume decreased, perhaps there was some kind of testing.
  2. Aggregate Number of Shielded Transactions Over Time Here you can see the growth of secure transfers, but why the first table clearly shows that there is no growth of secure transfers, I don’t understand, or somehow you need to read the table differently, but in any case, the data on sprout suggests that they are made artificially, it cannot be 2 months absolutely the same numbers, and within two years the data has hardly changed in any way, correct me if I am wrong and these are not translations, but something else.
  3. Zcash Stored in Shielded Pools There is a slight increase here, while what we see is not clear, it is possible to transfer the storage from Z to T address, or a special transfer to show progress, because the emphasis is on officially protected storage, in this case there is no evidence of either the first option or the second.
    But another thing is important, how many coins are in the protected pool, there are 700 thousand of them, and in total 10 million 900 thousand were issued, which will happen to 10 million if people find changes in the protocol inappropriate, I’m not saying that there is no need to make changes, I say that these changes must be for the majority and not for the minority, otherwise there will be no future for anyone. And so most of the changes were for the sake of changes and a brighter future, but as we see there is no explosive growth after them, which means they were not accepted by the public, what to do for adoption is the first point of success!

There’s an issue of actual principles at play. Remember, Zcash was created because Bitcoin was public. In a very real way, the entire point of Zcash is to drastically reduce the number of transparent cryptocurrency transactions in the world. It’s incorrect to reduce Zcash’s principles to number go up for shielded.

Although utilitarianism is useful for meeting principles sometimes, it’s dangerous for setting them. And you just showed why: What would we do if increasing shielded transactions in zcash by 2x increased Bitcoin transparent transactions by 100x?

Given that we seem to have totally lost track of Zcash’s principles as a pointed out in the thread on resetting zcash, yes we need this principle. We need to reaffirm our beliefs.

As to the question of evidence, I thank you for proving why we need principles.
Of course there is no evidence, because no one has tried. Instead they’ve grand standed on the kind of technicalities you made above and a mistaken belief in “the best of both worlds.” And they have removed warnings from the wallet SDK about transparent transactions exposing your data. This is the logical conclusion from acting without this principle.

There’s reason to believe a principle of depricating t2t transaction may work as I described in the original post up top. It might not work. Principles don’t exist in a vacuum and we have multiple. We should not follow this one when it conflicts with the principle of increasing shielded usage. So if it does cause the harm you imply, then we stop and re-evaluate. We aren’t robots.

5 Likes

Since the launch of zcash with its principles, the entire project has become a hostage of funding, I understand that this may not be so, but let’s figure out the situation when the project and the principles are separate and the needs and opportunities are separate, as I said earlier that for moving in the right direction according to the principles funding will be needed not from a block that depends on the price (from exchanges and volumes indirectly), then you can do something for the sake of a goal, and when the goal depends on money, then money becomes the main thing (the principle of capitalism) and not recognizing this and not finding a workaround all disputes are meaningless because the dispute is not necessary or not necessary, but it is possible and what will it cost us in the end, the chance of losing everything is higher, I think.
What if on this road, which according to assurances still goes to the goal, is simply very distant. In other words, on the scales there is a risk of losing the opportunity to reach the goal in general, or just wait, say, 10 years to get there theoretically, but with money as much as possible.
I think that is why there is no support for people who are tied to the risk of losing their jobs, work out how to minimize these risks and I think there will be support for this proposal right away, because it is correct in essence, but if it does not work and zcash is waiting for delisting with a price drop, will there be a chance to return everything as it was, I think not.

1 Like

Does anyone have contacts at Harvard Business School? Coz this will make one damn good Case Study.

1 Like

Why would you think there will be delistings if t2t is disabled? exchanges internally can store ZEC shielded, or do t2z or z2t on customer funds. They don’t need to support shielded withdrawals (they can just do z2t). Unless I’m missing something, I don’t think t2t disabling will lead to any major delistings. Again, when we make the statement & communicate before/after with exchanges, we’d know more.

t2t disabling will make exchanges to move funds to shielded pool, but they won’t have regulatory issues as that has nothing to do with user deposits or withdrawals which can come from/to t-address (onramp).

I do not think that delisting will be 100 percent, I say that it is possible and this risk needs to be calculated, is there a guarantee that it will not be 100 percent for anyone? If there is a guarantee, I would like to hear it and think it over, I just say the possible variant of events, as always, based solely on my thoughts, but if I am right then it will be bad and if you act according to this plan without receiving a guarantee, then it is simply stupid. I initially proposed to make a statement / intention (official) in order to determine the direction of action, if in response to the official statement, an answer is received from many exchange exchanges and users that this is the right way, then forward, if the results are controversial, then the question is returned.
It’s just that the whole discussion revolves around should / should not, and I think this is not the right way, the right way to determine the possibilities of each choice, “it is necessary” but it can stop the project, “it is not necessary” but it can stop the project, both options are not correct, I I think we need to make a choice in favor of what we need to do in order to guarantee the continuation of the project and the achievement of the goal, the calculation of options for changes and which path is guaranteed to reach the goal, but again it is necessary to take risks to shorten the path, but only if it shortens the path, and for understanding it is necessary to analyze what the path shortens and what poses a threat.
I fully support the view of secparam that it is necessary to restore the idea of ​​the project, but I just want to explain the threats that I see during sudden changes, if you can bypass everything that I wrote, then you need to act, but so far I only read the opinion of people without a specific plan and sufficient guarantees to start changing something, again, we are not deciding it here, although we are trying to discuss it, we don’t make it worse, but we don’t get closer to the goal either.

Vision, mission & principles comes first before defining the roadmap, strategy, tactics & path to get there. We are trying to build consensus on the ideas. How? part comes next, although various options were mentioned previously.

For example, ZF/ECC can reach out to top exchanges & ask them about their views on t2t (so there won’t be any surprises).

1 Like

You describe desires and you need to calculate the possibilities, so we do not hunt each other. Well, for example, the trademark owner will tell the community do as you want and the ECC and the fund united by a common mission will support you, we take a step and it leads to my fears what then? The plan is to achieve the goal and not in the process of moving towards the goal, where there are no guarantees that what we come up with will come true, so we need specialists who bring ideas to implementation, not dreamers who just see the goal.

And regarding contacting the exchanges, this is the first step in my opinion, I have already written above and before, but in order to make a statement and start to act, the teams need to calculate the risks of this statement and understand that this seemingly harmless step is not will jeopardize the current state of affairs, but I could be wrong (this is the general rule in business and what they have in years I do not know).
ZF in one person does not have the authority to act without the consent of the other side, this is the problem, otherwise the work would have been done, I think.
Just look at all this from an economic point of view and everything will become clear, a mission without money is nothing, there will be no team without money, and some enthusiasts will not go far, there will be no money in the project and it will end, so it was with many and will be with by many and not only in the world of cryptocurrencies.
I urged the fund to determine the possibility at the level of the user and the owner of the trademark, this is the first step on the way, if a strict refusal is received, then there is no point in this discussion, do you agree? If there is no refusal, but there are fears about the goal and mission, then public opinion from the industry is needed and, in principle, to calculate the legal risks for the future, but this means you can act.

In this issue, I urge everyone to determine not the goal (it is clear), but the possibilities for achieving it, firstly, get an answer from the trademark owner that this does not contradict the mission, and we must support the initiator of this issue, and then we will argue what to do and what not.
It seems to me that in the first post, in addition to the mission, there is not enough target audience, for whom this project actually is, for themselves or for a mass of people who will need it in the future (perhaps already now, but apparently they do not know about it yet), this project was for people (this is my personal opinion), but it seems that everything that is being done is a project for the sake of the project, they decide what is best for everyone, do not consult with the target audience, do not know the target audience, and everything revolves around friends, acquaintances and enthusiasts who, again, are not a fact that users, just project staff and valanters, and of course around exchanges and individuals. Where is all that mass of people who are waiting for this project?
If I am right and the project has become for “no one” then this explains the fact that he has gone astray and that no matter what news and efforts are made, it still becomes cheaper, and the fact that no one listens to us and that there are no visible changes that they want some forum members and other people who write on different social networks, and the negative attitude from the outside is increasing, is this possible?

We can instead put double incentive to mine ztoz if its possible start with something better 2 or 3%
And high fee like 3% extra to mine just t to t
This would have great promotion to start z to z transfers easily…
I feel the fee model makes sense

The better we make it scalable the better it becomes to be used as payment method… I’m sure we are heading to right direction I would agree with zookos vision.
Could zcash foundation bring some views and tell us what’s next?

1 Like