Such are the trials of trying to be originators. It's just a proposal, we are still researching a means to accomplish what we want to do in a trust-less fashion. It's just that it hasn't been done before, so it will require more research and work.
None of the present systems that I am aware of are truly untraceable if given the proper amount of time and money. We would like to change that.
Indeed. To this regard I recently made the following post in the CBX thread:
https://bitcointalk.org/index.php?topic=951753.1640..."All of the crypto-currency obfuscation systems in existence, to date, still cannot fully prevent the two main factors that can be used by a strong adversary to identify or to track an individual. These factors remain (1) acquisition (i.e. the trail of where your coins came from or how you originally acquired them) and (2) storage (i.e. your actual balance on a specific address and how it changed over time with regards to transactions, regardless of any obfuscation efforts). At best, users might gain only some plausible deniability.
As satoshi stated, Bitcoin can provide reasonable anonymity and privacy if it's used correctly i.e. you might mine PoW coins to a fresh wallet address, over Tor, at a .onion enabled pool (such as eligius or mmpool, for example), only ever connecting the wallet via Tor, making transactions that don't identify you personally (which is practically impossible in reality, being the you are most likely the recipient of any goods or services etc.,) and then abandoning said wallet / address entirely.
It could also be argued that using 3rd party mixing services is actually bad for your anonymity!"...and from :
https://wikipedia.org/wiki/Dual_modular_redundancy-
There is an old adage to this effect, stating: "Never go to sea with two chronometers; take one or three." Meaning, if two chronometers contradict, how do you know which one is correct? -
http://www.onion-router.net/History.html-
http://freehaven.net/anonbib/cache/tor-design.pdfStill much great reading to be found here:
http://www.freehaven.net/papers.html I agree completely, and this is one of the reasons I wanted to Dev a coin. The means exist to make this coin truly untraceable, it is just making it trust-less at the same time that is difficult. More research is needed..
I've made a basic review of the existing design and thought on how it might be possible to try and improve it, considering what we know works in existing anonymity systems.
Firstly, being based on CoinJoin -
https://wikipedia.org/wiki/CoinJoin - the inputs/outputs method only partly solves privacy, but is still somewhat open to traceability, by a strong
adversary.
-
https://en.wikipedia.org/wiki/Dash_(cryptocurrency):
"...Darksend is a coin-mixing service originally based on CoinJoin. Later iterations used a more advanced method of pre-mixing denominations built into the user's wallet.
In its current implementation it adds privacy to transactions by combining identical inputs from multiple users into a single transaction with several outputs. Due to the identical inputs, transactions usually cannot be directly traced, obfuscating the flow of funds. A heuristic (based on inputs/outputs order) was suggested for partial tracing the transactions, but neither formal proof nor counter-proof was presented..."As s3v3nh4cks mentioned in an earlier post the best potential alternative to this method is likely utilizing an Air-Gapped solution.
In other words, the outgoing transaction is sent to node A where the funds never directly leave to their destination address and instead node B sends the funds to the destination address.
Looking at building onto the existing system it should be possible to create say
Authority based servers, perhaps routed through several masternodes, for anonymity, similar to the Tor network design in principal.
So, the transaction is sent from an already obfuscated balance, whereby the MN1 forwards the transaction (via 2 separate circuits) to Authority A and Authority B destinations (perhaps being larger, ephemeral pools of combined MN's!), that are able to combine identical inputs readily (without the need to match input/output).
Example;
The client sends to MN1 (which chooses the a and b (Middle Node Paths):
- MN1 (Entry) - knows only the client and MN2a and MN2b (Middle), but does not know MN3a or MN3b respectfully or Authority A or Authority B.
- MN2a and MN2b (Middle) - knows only MN1 and MN3a or MN3b respectfully (Exits), but does not know the client or Authority A or Authority B.
- MN3a and MN3b (Exits) - knows only MN2a and MN2b (Middle) respectfully and Authority A or Authority B respectfully, they do not know MN1 (Entry) or the client.
- Authority A retains the transaction amount (only knows MN3a). Authority B pays the destination (only knowing the recipient and MN3b) and confirms the transaction chain.
Transactions overtime would likely average out the starting balances of Authority A or Authority B, although round-robin checks and balances could also be used. Furthermore, if Authority A and Authority B are actually comprised of random and ephemeral mix-clusters of existing Masternodes, then 'risk' is split between nodes, as well as outgoing payments to destinations i.e. their is no actual Authority A or Authority B.
The above is highly theoretical, although is probably a near perfect anonymity system in terms of transaction privacy and masking traceability.
One flaw still remains, which is the change in the balance on the clients wallet address, although partly obfuscated ofc, the coins remain 'spent'.
It is of course very difficult to spend 'money', without actually spending it though!