Mission Untraceable: How Zcash is Being Used to Obscure Ethereum Transactions

shutterstock_158321111
5 August 2016

Screen Shot 2016-08-05 at 10.50.06 AM

Cryptographer Andrew Miller posed for a Snapchat selfie with one of his fans at an event earlier this week where he presented a paper on how to make ethereum smart contracts untraceable.

It was the third time during my attempt to interview him that he was approached by people who wanted to speak about his latest project, Hawk, which uses untraceable digital currency startup Zcash’s underlying protocol to mask the sending and receiving addresses of ethereum transactions.

Speaking to a group of about 150 people at Microsoft’s New York City headquarters, Miller delivered a detailed breakdown of his newly published white paper on the concept, a system of smart contracts that can be layered on top of any existing blockchain to hide not only a transaction’s counterparty, but the amount of the transaction itself.

Miller argues that such a system could extend the usefulness of contracts running on a public blockchain where the code of the contract, data sent to the contract and money sent and received by the contract can be viewed by anyone. These factors, he posits, limit the technology’s utility, enabling other parties to gain insight into a stock trader’s activities and orders, should smart contracts be applied to such a use case.

An associate director of the Initiative for Cryptocurrencies and Contracts (IC3) and an advisor to digital currency startup Zcash, Miller told CoinDesk after the lecture:

“The goal of Hawk is to provide the programmability and expressiveness of ethereum while also providing the privacy-preserving nature of Zcash.”

The Hawk smart contract system begins with a simplified version of the open-source zerocash protocol, and it layers its smart contract system on top of that base.

In Hawk, a wide range of encrypted data — or digital currency — can then be used as the inputs and outputs of the smart contracts, “so the blockchain can’t see what the output values of the contract are,” said Miller.

The contracts wouldn’t be implemented on every transaction, but rather used on a case-by-case basis when additional privacy is needed by users of a public blockchain.

Hawk compiler, Zcash

If you build it…

Last week, Miller joined Casey Detrio of the Ethereum Foundation and other members of Zcash and Cornell University to build zero-knowledge proofs, known as zk-SNARKS, into a fork of ethereum’s Parity client.

Zk-SNARKS have been heralded as an innovation in cryptographic privacy that could help move forward key ideas in the digital currency space, as they allow for a prover and verifier to share a common reference without exchanging data.

The event was hosted by the Foundation and Cornell.

Though Miller is currently focused on building zk-SNARKS into ethereum, he says they can technically be implemented on other blockchains and ledger systems. He listed Rootstock and Eris as examples of smart contract systems that might benefit from the privacy-enhancing implementation.

In fact, increasing privacy across blockchains is one of the goals for the project.

In interview, Miller reiterated the case for inclusivity made by his colleague at Zcash, engineer Sean Bowe, in a post last week about their work.

Miller said:

“The ethos of Zcash is to be very inclusive and welcoming. What we care about is building privacy enhancing technology, full stop. Whether that’s done through a sidechain, through an altcoin, whatever.”

For more details on the project, you can view the complete slideshow of his talk here.

Disclaimer: CoinDesk is a subsidiary of Digital Currency Group, which has an ownership stake in Zcash. 

Paper shredder visualization via Shutterstock