project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4
project screenshot 5

TornadoMina

TornadoMina: Tornado Cash on Mina protocol. We implemented TornadoCash protocol on Mina protocol. TornadoCash realize the mixing of the tokens or native currency.

TornadoMina

Created At

ETHGlobal Tokyo

Winner of

🥉 Mina — Best Use

Project Description

TornadoMina: Tornado Cash on Mina protocol

Concept

We implemented TornadoCash protocol on Mina protocol. TornadoCash realize the mixing of the tokens or native currency.

Why

Mina protocol strong points are below

  • constant size state proof, it realize constant size client node that have same power to the fullnode
  • user privacy through zero knowledge

But the Mina protocol itself is so early stage on the roadmap. So a lot of informations like MINA balance, token balance are public. Then we decided develop TornadoCash protocol on Mina in order to provide the basic user privacy.

What this PoC can do

This product offers constant MINA native currency mixing and cli based demo using local network.

Architecture

Deposit

https://github.com/mwtndmik/TornadoMina/blob/main/img/deposit.jpg

Withdraw

https://github.com/mwtndmik/TornadoMina/blob/main/img/withdraw.jpg

Problems

Data availability

This PoC product assume that below 2 data is available and update offchain

  • CommitmentHash MerkleMap
  • NullifierHashesRoot MerkleMap

But the assumption is so strong known as data availability problem. Let's discuss with it.

Development

How to build

npm run build

How to run tests

npm run test
npm run testw # watch mode

How to run coverage

npm run coverage

Current Coverage

| File | % Stmts | % Branch | % Funcs | % Lines | |:---------------|--------:|---------:|--------:|--------:| | All files | 100 | 100 | 100 | 100 | | TornadoMina.ts | 100 | 100 | 100 | 100 |

License

Apache-2.0

How it's Made

This project is built on Mina protocol, so used all Mina protocol technologies, tools such as SnarkyJS. Our product TornadoMina is ZK app product so it suits Mina and the Mina development tools made us to implement easier. Our project starts from debugging tutorials🤣 Document was good, but Mina itself is still early stage on the roadmap, so the implementation example spread and it made us a little harder.

background image mobile

Join the mailing list

Get the latest news and updates