Make Zcash private by default

Continuing the discussion from Proposal for a Fresh Zcash:

@joshs proposal is full of very interesting ideas that deserve their own separate post so we can figure out how we could make them work. I like the idea of moving out of t-addrs, which is why I have created this post.

I’ll start with an important challenge: first we need a way for people to be able to keep their z-addr tokens safe on an offline wallet. Ideally both Ledger as well as Trezor. Today we have neither (supported officially), although @hanh did the development heavy lifting but is seemingly at a road block with Ledger requiring submission of his app through a registered organization.

What else is a roadblock for us to move forward and deprecate t-addresses?


All hands on deck for the shielded hardware (Ledger) integration seems like a good thing. To do that, some org needs to sponsor @hanh. The issue is which org? Could it be the Tor Foundation? They’ve been a recipient of devfund money in the past. Seems like a fair ask.


I see no benefit in making Zcash shielded by default.


I agree with @Olek .

Wallets already have functionality to autoshield transparent funds received.

Removing t-addresses would effectively disconnect the Zcash network from exchanges, so then you not only have to beg Trezor and Ledger to implement shielded support, but also Coinbase, Binance, Kraken, etc., etc.

What would the benefit be? Some sort of “purity” badge?

  • Major increase of the z-pool (increased privacy for all).
  • Simplification of the code base
  • Protects users believing their tokens are private while only stored in a t-addr.

Healthy discussion though, glad we can see various opinion on this. Thank you.


Wallets are very very very sparsely used. 90% of all ZEC are used via exchange wallets and transparency addresses. Touting sparsely used, and currently usability damaged, off-exchange wallets isn’t exactly a strong talking point.

Upgrading Zcash to remove transparency flaws would let major central exchanges also upgrade the feature offerings to Zcash investors. The Zcash mission has nothing to do with catering to a few large centralized exchange, its embarrassing to see the suggestion that we dampen the proliferation of shielded Zcash in order to keep a handful of CEXes happy.

The benefit is that everyone with Zcash ZEC explicitly experiences the full privacy feature set. No confusion about shielding and un-shielding, no more confusion about leading address characters, increase shielded memo usage, and it realizes Zcash as a serious privacy project (right now, Zcash is not regarded as a serious privacy project. Zcash is a transparency project like Bitcoin, with sparsely used, highly technical, optional privacy features)

Deprecating the Transparency Pool will also give the ecosystem a boost of momentum in its initiatives to deprecate old shielded pools too.


It’s my opinion that empowering people with consent means that they should have the right to opt-out of privacy instead of requiring someone to opt-in. People are confused about the address types - thinking they have privacy when they do not. That’s a big problem. I applaud Edge for taking a hard stance here.

I believe there needs to be some sort of forcing function, but you are right, we first need easy-to-use secure storage options that fully support shielded ZEC.

Historically, exchanges and custody providers have identified two issues that have limited the ability to move forward with shielded storage - HSM support and threshold sigs for custody providers. Diogo Monica at Anchorage told me a couple years ago that if it worked with Thales, we’d have a huge part of the market. It’s my understanding that this isn’t too onerous. With Frost, perhaps there is now a path forward for custody. Mike Belshe at Bitgo is a Zcash supporter, and perhaps there is a way forward with them now.

Once baseline support is there, we might consider taxing transactions that send to a t-address at a higher rate over time. Assuming shielded addresses are widely available and easy to use, and also cheap to use, I suspect more users would opt into private-by-default options. A concern that I have is that it introduces UX friction for a time, but so would a simple EOS.


Advocating to give users a choice of privacy (in a self-proclaimed privacy coin) is about as foolish as an auto-maker who would sell people a vehicle without seatbelts or airbags. A hazardous choice proposition.

A complete fool’s game. Crypto users who don’t want privacy features have 10,000 altcoins to choose from, starting from the top down with Bitcoin, there is no value in Zcash remaining entrenched in that pro-surveillance blockchain camp.

To become a serious and respected privacy project, Zcash must deprecate the Transparent Model.

Otherwise we will continue to neither have cake or eat it

The gorilla in the room that Zcash powers that be won’t acknowledge, is that the Transparent Model has been defended and maintained for their material interests. The Bootstrap and Zcash Foundation selfishly need to keep Zcash Transparent because of their OTC regulatory obligations. Fully Shielded ZEC block rewards would violate KYC-AML standards for American Non-Profit status, that is why the Power that be are likely to never advocate for Zcash to become a Privacy Project.


They fight to keep Zcash Transparent because they need to readily and indiscriminately keep on liquidating the transparent ZEC block rewards.


Can we make only the Sprout, Sapling, and transparent pools available through zcashd, and reserve Zebra exclusively for the Orchard pool?
Light wallets will utilize only Orchard, ensuring full privacy by default. If someone wants to use other pools, they should set up a zcashd node themselves (though we could maintain one server on zcashd available).

1 Like

You are 100% on the target here with the reason why T-addresses are still so protected. It’s absolutely to protect the non-profit status :triangular_flag_on_post:

Everyone knows non-profits enrich the people who run them.

1 Like

. . . or cause them to delist Zcash.


I find this argument interesting, because while indeed it is absolutely a risk, it should also be a strength we have that no other privacy tokens have. We are the compliant privacy token. See Regulatory - Electric Coin Company.

That is, if we implement z/u-addrs only, then exchange can just ask for viewing keys before accepting a transfer. It’s probably adding complexity on their side, but it’s going to have to happen that way eventually anyway.

So, we could start implementing this with 2-3 large exchanges, and if it works then as far as this aspect is concerned, we could turn off t-addrs and all keep moving forward. One thing to absolutely keep in mind here though: it will also add a step on the side of users. Which implies that it would have to be very straightforward on the wallet side as well, so users can find their viewing key and share it easily.


You are off the mark here, and spinning uniformed conspiracies. I understand the conjecture, but it’s simply not true.


Complicated subject.

In some cases, delisting is compulsory based on local regs. But usually, it’s based on a lack of understanding or misinformation.

In some cases, delisting is unnecessary but incorrectly assumed to be necessary. It’s an easy button.

In some cases, the CEX doesn’t care one way or another. They’re here for fees, that’s all.

In some cases, like with Gemini, delisting isn’t a consideration as they understand regs, and are ideologically aligned. Cameron and Tyler don’t get enough credit.

Regardless, we need dex-style and p2p options.


Putting aside compliance concerns, transparent addresses & transactions also make it easy for exchanges to leverage their existing backend Bitcoin integrations to also support Zcash (since on the transparent side Zcash implements much of the 2016-era Bitcoin RPC calls).

Granted, if exchanges took the time to investigate, they would be thrilled with diversified addresses (enabling one shared private key across all customer deposit addresses). But that would still require custom dev work on their part.


Decred is an interesting DEX for ZEC but it’s very hard to use. At least from my POV, I couldn’t achieve exchanging zec following the public documentation

I disagree, this should be the #1 metric in a privacy coin. How much of privacy exists in the network ? The figures are miserable today.
A good tradeoff would be to make t-addresses very difficult to use, and z-addresses easy.

1 Like