I am no programmer, but i have a proposal to solve the mixing problem.
How about a pooled approach that is not traceable?
We have at specific times per day (or maybe once a day if traffic is low) a mixing event where everyone can send their coins to an automated mixing address that collects all coins. Once the specific time comes, the logic of the address creates packs of 10000 NXTs and sends them to specific addresses. For example, if you send 100.000 NXT to that address, your coins will be split into 10k pieces on 10 addresses. Those addresses are generated by the mixing algo and the private code is sent to original sender via encrypted address that is only readable if the private key of the original address is known.
Rules:
You can send whatever amount between 1000 and higher
The splitting follows those rules, Balance/10000 --> remainder/1000 --> remainder /100 --> rest is donation(? or maybe remainder/10?)
E.g. If you send 17.200 then you get 1 10k, 7 1k and 2 100 outputs.
The interval of the mixing is depending on the traffic. Only if enough people participate, the mixing will be anonymous.
The passwords are send per AM and are encrypted per the private key of the original account. (i guess that is possible)
What do you think?
Everyone must use it or it's vulnerable to a Knapsack problem solver again. I'm thinking of accepting that 1M offer coz it looks like the guy is on a right way.
Why not zerocoin? Any unproven tech will need to be reviewed by cryptographic authority and we know that is not so easy.