Discussion about this post

User's avatar
Governology's avatar

It might be interesting to note that there is a fundamental trade off between privacy and soundness. If you want unconditional sound money, you need everyone to be able to verify that the money is in fact sound. In other words, you need the public to be able to count up all the money so they can see the quantity is as expected.

Something like monero or zcash cannot do this, because the public can't see the amounts of the transactions. You trust that the quantity of money has not inflated because you can trust the cryptography that enforces this. However, if the cryptography is broken, someone might *secretly* inflate the money supply of the broken coin. This is known as "computational soundness".

On the other hand, bitcoin is unconditionally sound but isn't even computationally private. Mixing services give you "hide in the crowd" privacy, but its not strong enough to really be called "computationally private". It is possible to do confidential transactions in a way that is unconditionally sound and computationally private, but I'm not sure if anyone is doing that (possibly Oasis and Secret?).

Personally, I would never store my life savings on a chain that merely has computational soundness. Unconditional privacy is nice for transactions tho, and I certainly would consider using a coin like Monero for transactional purposes when I need privacy.

But another interesting thing about privacy is that fundamentally it's always a "hide in the crowd" type of privacy at a certain level. Even for something like Zcash, you at very least know that if someone is using zcash, they might be related to any zcash transaction. The larger the group of zcash users, the bigger the crowd to hide in. I don't know how big of a crowd is sufficient to eliminate any realistic attempt to correlate you, but it seems plausible that Zcash and Monero have reached those numbers.

Bitcoin will almost certainly will never be unconditionally private (because of the strong cultural importance given to unconditional soundness), but it is very likely to achieve default privacy of some kind. Specifically the kind of privacy that reduces transaction costs. Batching transactions can allow you to create a smaller (in megabyes) and therefore cheaper transaction than they would be separately. Having a system of transaction mixing where people collaborate to build a larger transaction can give people a similar level of privacy to mixing services. And since doing so would be cheaper than a normal transaction, its very likely that everyone will want to do it that way whenever possible. To me, this makes it inevitable, unless a cheaper form of transaction is invented that doesn't allow the privacy aspect.

Expand full comment
David Trost's avatar

It's an honor to be mentioned, even if my comment had to be called bullshit by Zooko to get it 🙂. Since my comments were about Monero, and privacy coins generally, not ZCash specifically, I took some time to square my knowledge of AML laws with my lack of knowledge of ZCash. It's odd to me that the distinction between private and public addresses within ZCash was never mentioned.

From coinbase:

(https://www.coinbase.com/price/zcash)

>Zcash is a cryptocurrency that offers two types of addresses: transparent addresses that are publicly visible on the Zcash blockchain and shielded addresses that are more private. Coinbase customers can receive Zcash from both transparent and shielded addresses and send Zcash to transparent addresses. Sending to shielded addresses is not supported at this time.

This means to me that at the end of experiment #2, you've taken self custody, but everything is still as transparent and public as Bitcoin. The fact this detail was left out seems disingenuous to me.

Regardless it seems you could then make those transparent funds private by moving them to a shielded address, fair enough. Impressive actually, I didn't know you could do that. But at this point the layers of indirection are exactly the point I was originally trying to make. Usage of private money is theoretically possible, but not convenient or practical for the average Joe.

So how does this fit with AML laws?

The centralized exchange (Coinbase in this case), which knows you intimately, also knows your new (transparent) ZCash address. And as a compliant Money Services Business (MSB) has to follow 31 USC 5311. To pull a quote:

>(2) prevent the laundering of money and the financing of terrorism through the establishment by financial institutions of reasonably designed risk-based programs to combat money laundering and the financing of terrorism;

The term "risk-based programs" is key. MSBs are expected to monitor their customers for anything and everything that could signal "higher risk". You must have an appointed officer and processes in place to monitor your customers and look for and secretly report red flags. This report is called a SAR (Suspicious Activity Report). Any cash transaction over $10k MUST have a SAR filed, as example. A SAR's content or even its existence cannot be revealed, not by the government, or the MSB, or even in court discovery. (https://www.federalregister.gov/documents/2010/12/03/2010-29880/confidentiality-of-suspicious-activity-reports) This is to encourage and embolden MSBs (All financial institutions but I'm focusing on MSBs) to report early and often.

As soon as you move those funds to a shielded address, Coinbase will almost certainly identify that as a risky behavior and file a SAR with anything else they find odd about your account. (Any suspicious IP locations? Unusual sums for your employment? Did you appear in the news for something bad or suspicious? (In AML world this is called "adverse media" or "negative news"). You are also expected to warn and collaborate and share data with other financial institutions to investigate and build a more complete profile of your suspicious customer for your SAR. From there various agencies and investigators decide whether further investigation is merited.

Why can Coinbase accept funds from shielded addresses and not send them? I'm speculating here but I'd guess that (1) Financing of terrorism relies on disguising the outgoing funds, less so their source. And the other goal (2) money laundering has other patterns to look for, such as volume and frequency and where the funds are subsequently moved. Investigators would much rather that money be on Coinbase tied to a known person they can investigate, than remain in a shielded anonymous wallet. That said, Coinbase gets as close to the edge of compliance as possible. And they've already paid 9 figures in AML compliance fines.

Why doesn't Coinbase support Monero, or the privacy-protecting elements of ZCash? It's not *de jure* illegal, but it is *de facto* illegal for them to do so, because a regulator expects a MSB to only take on new business with risks that it can manage successfully. How can a MSB justify to a regulator that it has the risk of money laundering and terrorist financing under control while also offering a product specifically designed to evade that due diligence? It can't, so they don't.

Is this government overreach? Maybe. Probably. I'm sympathetic to the kindof anarcho-individualist ideal where everyone takes sovereignty over their money and no business is involved. But the real world involves businesses facilitating transactions for any number of reasons besides just convenience. Those businesses, with current laws, are absolutely incompatible with a privacy currency.

I hope I'm wrong, because I'd love to exchange fiat for crypto, facilitate transactions and do all the things my customers need me to do while also respecting their maximum privacy.

None of this is intended as an attack on you @Zooko or ZCash. I believe we're on the same team at the end of the day.

Expand full comment
15 more comments...

No posts