miximus icon indicating copy to clipboard operation
miximus copied to clipboard

A proof of concept trustless ethereum mixer

Results 20 miximus issues
Sort by recently updated
recently updated
newest added

https://github.com/scipr-lab/libsnark/tree/92a80f74727091fdc40e6021dc42e9f6b67d5176/libsnark/zk_proof_systems/ppzksnark/r1cs_gg_ppzksnark

This will allow use with any token. To do this we need to replace ``` mapping (bytes32 => bool) roots; mapping (bytes32 => bool) nullifiers; ``` with ``` mapping (address...

Right now we have to call the cpp code to make a zksnark proof before withdrawing. It would be better if this was done in javascript so that cpp only...

Below are some scalability ideas: 1. **3-pairing SNARKs**: The [Groth 16 paper](https://eprint.iacr.org/2016/260.pdf) reduces the number of pairings from 8 to 3, so that should reduce the gas cost of withdrawals...

When `0x3fdc3192693e28ff6aee95320075e4c26be03309FFFFFFFFFFFFFFFFFFFFFFFF` and `0xc9b94d9a757f6a57e38809be7dca7599fb0d1bb5ee6b2e7c685092dd8b5e71db` we get leaf `0x06cb95f83223c9c472957b7bb259bc1e2e6f9ddd8abf902e8f03d1a8ebf4c818` Which does not agree with what we get in libsnark. But lets revisit this after https://github.com/barryWhiteHat/miximus/issues/6 which may solve this.

`deploy.js` exports `tree17 = new BigNumber(tree[17], 16).toString(2).split("").join(" ,");` and several other parmeters needed by `../src/main.cpp` for creating a proof. However the current method drops some leading zeros in the output...

help wanted
good first issue

libsnarks only allows 253 bit variables. So we end up padding the last two bits of `input[2]` and `input[0]` What we should do is merge `input[0]` with input[1] and merge...

assert is not working in src/main.cpp. Its probably cmake that disables it.

Based on readme, I have to run a ethereum node with unlocked account, I think it would be better if we can specify in .env file public RPC node, Public...