Proof of Innocence

$4,538.70 crowdfunded from 744 people

$14,997.54 received from matching pools

83%
average score over 1 application evaluations
A tool enabling users to prove that withdrawals from Tornado Cash are not linked to any blacklisted deposits, preserving privacy while demonstrating lawful use.

Tornado Cash is a popular protocol on Ethereum that allows users to make private transactions by breaking the on-chain link between the recipient and destination addresses. However, there may be instances where a user wants to demonstrate that their use of Tornado Cash is above board and not related to any illicit activity.

That’s where Proof of Innocence comes in. Proof of Innocence is a tool that allows users to prove that their withdrawals from Tornado Cash are not from a list of specified deposits, selected by the user themselves. This allows users to clear their name and demonstrate their innocence without revealing their identity.

Check our Medium Post and Github Repository

How it works

When making a withdrawal from Tornado Cash, users provide a zero-knowledge proof to demonstrate that their commitment (i.e., their deposited funds) is securely held within the Tornado Cash system and has not been withdrawn. This proof, which is based on the use of a Merkle Tree data structure, allows the user to confirm the existence and status of their commitment without revealing any identifying information about themselves or their transaction history. The zero-knowledge proof therefore ensures the privacy and security of the user’s funds while also enabling them to access and withdraw their commitment as needed.

The “Proof of Innocence” protocol adds an additional layer to this process by allowing users to prove that their commitment is not in a given list of commitments. This helps to ensure that the user is not a hacker or other bad actor who has been sanctioned or flagged for illegal activities.

To create this proof, the user provides the blacklisted commitments and constructs a Sparse Merkle Tree of this blacklist. This allows the user to easily and efficiently prove that their commitment is not in the blacklist. This proof can then be verified by anyone.

Future Plans

The project is and will remain open source

We will make trusted setup ceremony

Your assistance would greatly enhance the user experience and increase the usability of the protocol.

Proof of Innocence History

  • accepted into ZK Tech Round 1 year ago. 744 people contributed $4,539 to the project, and $14,998 of match funding was provided.

People donating to Proof of Innocence, also donated to

App for learning Web3 interactively, facilitating wallet creation for over 1600 users, launched in March 2023 without using technical jargon.
Launched in March 2023, Revolte is an app making Web3 learning easy and fun, helping over 1600 new users create their first wallets.
Support a coordinator introducing groups to potential venues and local partners for a confederation of co-living/coworking pop-up cities in Chiang Mai, fostering a network advancing humanity through technology, health, and social innovation.
Developing a climate-positive mobile school/home bus and Web3 Neighborhood Governance program for peer-governed, regenerative smart cities, including eco-technology research and implementations.