Git Product home page Git Product logo

Comments (6)

nourharidy avatar nourharidy commented on July 17, 2024 1

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.

HarryR avatar HarryR commented on July 17, 2024

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.

nourharidy avatar nourharidy commented on July 17, 2024

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.

nourharidy avatar nourharidy commented on July 17, 2024

Also, can you explain how join/split can allow for a payment correlation to be noticed?

from ethsnarks-miximus.

HarryR avatar HarryR commented on July 17, 2024

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:

from ethsnarks-miximus.

HarryR avatar HarryR commented on July 17, 2024

https://github.com/snjax/zDai-mixer allows arbitrary sized coins

from ethsnarks-miximus.

Related Issues (13)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.