A Cryptocoin Mixer is a tool used to obscure history and ownership of cryptocoin accounts. This function carries particular utility in the Bitcoin community, where all transactions are fully visible in a public ledger.
The lack of account privacy in some cryptocurrencies could be undermining to potential adopters who are resultantly deterred from using the currencies. Users similarly would like to maintain anonymity from antagonists and to secure privacy in their personal transactions. These concerns are remedied by the use of a properly functioning Cryptocoin Mixer.
To use a Mixer, users submit their coins into the black-box process of the Mixer and have their coins arrive untraceably into a number (preferably more than one) of uncompromised accounts identified by the user. This Cryptocin Mixer is one such implementation of the black-box mixing process.
The theme of this Cryptocoin Mixer is obfuscation and deception.
In this approach, transactions can be mapped to a DAG (directed acyclic graph). Transactions flow in one direction from the input address, through layers of nodes in the Mixer and ultimately to the output address.
Antagonists can use the service to discover the input and output addresses and, by following the DAG, discover the other addresses within the hidden layers. Any addresses that immediately receive coins from a compromised address are known to have used the service. Temporal analysis can also be indicative of where coins from the input node 'disappeared to'.
This is the approach taken by this Mixer.
In this approach, transactions flow through the Mixer in stochastic "mean-reverting random-walk" patterns which contain cycles. To combat antagonists who would use the system to discover addresses within the system, compromised addresses are identified and phased out as new addresses are phased in. Coins taken into the system are not permitted to flow in a straight line to an output address. The addresses within the Mixer form an ecosystem that is intended to mirror the appearance of transactions in the external system. This is the approach taken by this Mixer.
An iterative improvement on this design may be to have multiple Tumbler eco-systems that rotate among input and output nodes. This would be roughly similar to the conduct of Casinos that rotate multiple decks of playing cards to diminish the threat of card counters.
A further iterative improvement on this design would be to incorporate behavioral analysis of addresses outside the Mixer. The aim here would be to outsmart trained binary classifiers models which may be able to identify addresses within the Mixer vs. external addresses used by humans. At a level of low complexity, this might involve adjusting the frequency and size of transactions; at a level of high complexity in combatting gradient boosted decision trees or deep learning models this may involve manipulating the subtle interactions of various parameters.
Advanced analysis may be able to identify the behavioral characteristics that differentiate addresses within the Mixer eco-system from human addresses in the external system. Moreover, network analysis may indicate that compromised addresses within the eco-system have interacted more heavily with other addresses (within the eco-system). With knowledge of which nodes belong to the Mixer, temporal analysis can be used to narrow identification of deposits that match withdrawals from the input address.
A significant disadvantage of this approach is the cost of capital tied up in the Tumbler. Akin, to storing money under a mattress, storing currency in the Mixer incurs a steep opportunity cost. Moreover, many cryptocurrencies have historically high volatilities in their relation to the US Dollar. Therefore, investments in the Mixer would have to be considered more similarly in comparison to high-beta investments than to low-risk, low-yield financial instruments.
In this approach, many users maintain permanent accounts with the Mixer, thus negating the risk of temporal analysis of deposits and withdrawals.
Users who choose to maintain an account with the Mixer reserve a private account identity with the Mixer that is known only to the user and to the Mixer. Through this private identity, the Mixer can regularly rotate new addresses to the user, who stores the majority of his or her wealth not in a private cryptocoin address but within the single address of the Mixer. In the extreme, the Mixer can create and deposit coins into new single-use cryptocoin addresses for every individual user transaction.
The Mixer, which now operates more in the manner of a banking institution, productively allocates the capital wealth stored within its address. The evolution in branding and context extirpates the desire of users to hide that cryptocoins have passed through the Mixer.
Active participation in the Cryptocoin spot and futures markets hedges the Mixer against the volatility of US Dollar-Cryptocurrency exchange rates. Read more about spot–future parity.
This approach requires substantial liquidity to maintain low transactional costs. Furthermore, significant institutional trust is required to attain client confidence in the Mixer and in the Mixer's ability and desire to preserve the confidentiality of its user's data. Security regarding the user's private identity authentication becomes its own concern.
$ make build-docker
$ make run-docker
Monte Carlo Simulation parameters are configurable from within the monte_carlo_simulation.py
script.
$ make test
$ make run-monte-carlo-simulations