A modest proposal: squeeze out taddrs

We all want shielded usage to increase. And transparent transactions are a philosophical contradiction for Zcash. Remember, you can always disclose the contents of a private transaction, even on chain. Just the default is private. There is a use for transparency on zcash , but there is no long term use for Bitcoin style transparent tx’s which are public by default. Defaults matter and as a protocol, Zcash doesn’t have privacy by default until they are gone.

We can’t force shielded adoption by getting rid of transparent transactions, and we should be aware of the risks of getting rid of transparent transactions too quickly. But we can still create market incentives to make exchanges support private transactions and make users demand it.

With that I have a proposal: we cap the amount of block space that can be used for t2t transactions ( and then later t2z). We set this cap at say 105% of current transparent usage. Optionally, we can have a soft overrun allowed, but at sharply increasing prices. And then we have the available amount halve with each halving.

This would give everyone, exchanges and wallets included, predictable steady pressure towards removing public transactions. As fees go up, exchanges will want to use shielded to reduce the fees they pay. If they pass them on to users, users will demand they support shielded.

Zcash is remarkably scalable even right now. 2mb blocks every 75 seconds gives it about 7 times as much block space as Bitcoin. Why should any of that go to bitcoin like transactions?

I wanted to use this thread to see if 1) this is a good idea 2) how big the overrun allowed should be 3) discuss what the pricing mechanism should be for extra transparent transactions in the overrun (maybe theres an EIP 1559 like scheme if @vbuterin thinks about it ). Maybe we should just have the price increase for every subsequent transparent TX in a block.


Would love a proposal that gets rid of t-addresses by 2022.

But it ain’t gonna happen so I’ll just remain sad and bearish :slight_smile:


Let’s see. Let’s see how ZF poll will turn out.

If people want, we could always set the starting cap at 50% of current taddr usage with increasing fees there after.

Is it possible to publicly disclose the contents of a z2z transaction on chain?

I am highly skeptical of adding/modifying “caps” and dealing with the game theory aspects of this later. Imagine being an exchange in China with large t transactions and who are not able to deal with this change, they will simply drop ZEC support because of a technical change like this. Enter market FUD around Zcash being de-listed.

My suggestion for increasing shielded usage is around giving users UX cues and ease of use of auto-shielding (t to z) transactions the moment they hit a wallet, be it desktop, mobile or hardware.

1 Like

My only problems with taxing taddy usage, which I also mentioned in leap frog was that I don’t think regulators would care how much more we, the community, decide to tax ourselves for usage, that exchanges, though would undoubtedly pass the tax to the user who may or may not have much choice in the exchange because of their countrys laws or something, might pass it disproportionately and that might create a perverse incentive to not adopt zaddys and continue to increasingly profit.
I like the idea of incentivizing zaddy usage vs disencentivizing the other but I don’t know.

Regulators don’t care if its t or z. they see privacy coin and either have an issue (which is rare, its usually bad banking partners for an exchange) or don’t. KYC works just as well for z as t.

There is a little risk. Butkeep in mind browsers ended up marking http sites as insecure to get https adoption. So we probably need some nudge.

Also, forcing functions are a useful thing for making people do something they want to but cannot get their managers to do. An effective forcing function would probably get us shielded support at a couple of exchanges.


Yes. Stick view key in memo in the clear. Probably could use an all 0 view key too.

As I said up thread, I don’t think regulators care about t vs z in general. its a privacy coin. And KYC works just as well in either case.

Anyway, doesn’t that worry apply to any plan that removes transparent transaction support? i wanted to think about the mechanism specific consequences of various mechanisms for removing taddrs.


Limit t2t txns to 50% of every 8th block with high fees and its bitcoin…


Is there a way to tweak this proposal where sending to t-addr is infeasible (cost-wise it doesn’t make sense) at some point in future.

Slightly orthogonal question: is it possible to redirect some of the fees to z-addr holders without any privacy impact? or BURN ing the fees

Slightly orthogonal:
Problem right now in Zcash ecosystem:
t-addr freely move without any worry while z-addr users worry about privacy leakage, doing constant turnstiles, hidden inflation. For this reason, there should be a way to tax t-addr usage & incentivize z-addr for the risk (or effort) they are taking in.


Sure, but thats the hard abrupt stop. I think we want gradual.

Re burning, sure but why? You could charge higher fees on transparent transactions and pay them in a lottery to zaddrs. Problem is miners would just flood blocks with zaddrs, so you wouldn’t incentivize anyone else getting zaddr support. Actually, maybe thats fixable.

  1. Good idea. For the rest, I think that a smooth transition is needed, i.e., create a concept to increase starting from a small amount (10 percent at first), then look at the market reaction to the concept as a whole and the reaction of users to an increase in commission. The question is, how often can you make changes once every half a year or even less often?

It could be small, with fee doubling every N blocks, so in a year or so (time when shielded multisig & hardware wallets are available) fee would become significant enough, so folks might start migrating to z.

yeah that was along the lines of what i was going for. But instead of a direct tax, we just allocated block space. Which seems more palatable. Also doesn’t mess with the fee market. We’ve just kept much of a zcash block for private TXs

I don’t think I completely understand this. Mind simplifying it? Does reducing block capacity mean for t2t, it will take longer to send a transaction with default fee? so they need to send it with higher fee?

This seems like the best way of doing it… whatever incentive is to be applied, do it for sending to a t addr (t2z and z2z are both free, t2t and z2t would be subject to this nudge)


How about start with straight out deprecating t to t transfer. This makes Zcash users understand the workflow of shielded transaction as I believe there is an educational gap surrounding z-addrs usage.

So a user who buys ZEC on an exchange or gets paid in ZEC on a t-addr, can only send it to their z-addr. And they can send it back from their z-addr to t-addr, but we stop the t to t market totally. Instant shielded pool boom.


Yep I like it. PLUS @secparam proposal for z2t instead of t2t ?

Can all exchanges send from their T address to an external Z?

1 Like

That’s the educational gap that will need to be filled as the exchange can start using z address to store their stash and start sending out withdraws to t-addrs, or better, just enable z2z withdrawals!