Comments (6)
I strongly support this proposal.
Fungibility is required for Miximus to become usable as a form of private payment rather than an occasional decentralized "coin mixer".
Same goes for join/splits, Miximus would be far more useful if withdrawal out of Miximus was not required by the recipient.
I'm working on a project where I am considering to use Miximus with DAI and both of these features are a must for it to work.
from ethsnarks-miximus.
Cool, I will make this a priority.
Have you considered fungibility between multiple stable coins? e.g. Deposit DAI withdraw USDC or TUSD of equivalent value?
from ethsnarks-miximus.
Different stablecoins are generally not fungible among one another. That includes different stablecoins on the same chain and same CDP stable coins on different chains.
This is mainly because you make different trust & security assumptions for each coin. For instance, with DAI you trust in the MakerDAO price oracle, but you make an assumption that in case the pegging is broken, a global settlement will occur, replacing your DAI with the equivalent ETH.
While for USDT, for example, you trust that it's backer, Tether, will (A) continue to exist (B) will continue to hold 1-to-1 USD reserves and (C) will continue to accept the token for fiat USD.
from ethsnarks-miximus.
Also, can you explain how join/split can allow for a payment correlation to be noticed?
from ethsnarks-miximus.
Also, can you explain how join/split can allow for a payment correlation to be noticed?
I think this may have been a mental note to think about this again, however there some example I can think of:
- I send a payment to you, I do this by performing a Split, this creates two UXTOs (my balance, and the output)
- Recipient performs a Join, combining their balance with the UXTO
- The Gas payer allows correlation of events
- If the wallet software automatically performs the Joins immediately upon receiving a payment and the recipient is assumed to be online at the time of the payment then you can link the Sender and Recipient together - although you may not know the value of the payment.
The ability to correlate increases with the number of payments, e.g. if 10 payments are made, then somebody performs 10 Join transactions, there is a higher probability of that one entity being the recipient for all of the payments.
This worries me because it can erode anonymity, although Miximus with fixed denomination tokens has similar problems with correlation.
This all hinges on the 'Gas Payer' problem, and the lack of account abstraction or meta-transactions (although Gnosis Safe is working towards providing viable meta transactions which can enhance anonymity).
Other references worth reviewing:
- http://www.coinjoinsudoku.com/
- http://www0.cs.ucl.ac.uk/staff/M.Maller/slides/zcon0.pdf
- https://arxiv.org/pdf/1805.03180.pdf
from ethsnarks-miximus.
https://github.com/snjax/zDai-mixer allows arbitrary sized coins
from ethsnarks-miximus.
Related Issues (13)
- compiling error for macOS HOT 9
- Allow a relay service to be used with Miximus
- Make interface for mixer compatible with Vitalik's spec
- Support multiple tokens, atomic swaps between tokens HOT 1
- Verify that inputs to contract are within the scalar field to avoid aliasing
- Nullifier front-running in Miximus HOT 10
- cannot 'make' project
- Add the snark complexity that we need for semaphore in miximus
- PoC Miximus application for end-users HOT 19
- Document the Miximus / Semaphore construction HOT 4
- Drop Truffle, replace with something else HOT 1
- Error when running Python tests 'No such node (gammaABC)' HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ethsnarks-miximus.