Announcements¶

Piazza course schedule lists all remaining assignments

  • Can re-submit each of HW1 through HW7 one more time, until Saturday 4/15
  • Project: sign up ASAP, then submit project draft on 4/21 and final version on 5/1
  • Final Exam on Monday, May 8 at 9-11am

Lecture 20: Pseudonymity and Mixing on a Blockchain¶

Throughout this course, we have studied four fundamental topics.

  1. Cryptocurrencies and the blockchains within them, which enable financial transactions in a decentralized way, without the need to give your money to trusted intermediaries (aka, banks).

  2. Broadcast protocols in the (a)synchronous setting, which enable consensus over the Internet without needing to rely on trusted intermediaries (aka, leaders).

  3. Secure multi-party computation, which enables data analysis without the need to give your data to trusted intermediaries (aka, clouds).

  4. Zero knowledge proofs, which enable the world to hold an entity (such as a bank, leader, cloud, or any one of us) accountable, without the need for trusted intermediaries (aka, auditors).

The first two topics provide integrity and availability, and the final two topics added confidentiality as a concern to protect.

Last week, we combined ZK proofs with blockchains in order to build privacy-preserving cryptocurrencies such as Zcash and Mina.

  • Their transparent addresses work (more or less) just like Bitcoin does
  • Their shielded addresses offered something new: nobody knows the sender, receiver, or amount of any transaction!

Private transaction between two shielded accounts

Source: Blockchair

Or to be more precise: the blockchain itself doesn't reveal the sender, receiver, and amount of the transaction. It's entirely possible that people can find out about your transaction in other ways.

Deshielding transaction from a shielded account to a transparent one

For today, we will explore the extent to which transparent Bitcoin-style cryptocurrency transactions do -- or do not -- provide anonymity.

[For the rest of today's lecture, we will follow Prof. Abhishek Jain's slides on Anonymity in Cryptocurrencies.]