Problem: you have a bunch of UTXOs in your wallet. Maybe you got them from coinjoining, paynyming, or plain old bitcoining. Eventually you need to make a payment that's bigger than any one UTXO, so you'll need to combine some UTXOs. But doing so can be bad for privacy! What do?
Solution: [compactor]
[compactor] is an app that consolidates smaller UTXOs into bigger UTXOs without creating any public link between the original UTXOs.
Here's a high level explanation of how it works, along with some wireframes for visuals:
1. Select the UTXOs in your wallet that you want to consolidate, then deposit the UTXOs into the zSide shielded pool. The app will take care to send the UTXOs one by one at predefined time intervals to avoid timing analysis correlation.
3. Import the master pubkey of the bitcoin wallet you want your consolidated UTXOs sent to and select the denominations you want to withdraw. The app will derive one unused address per consolidated UTXO and automatically send the consolidated UTXOs to those addresses one by one.
4. In the end you will have one or more consolidated UTXOs that are larger than the UTXOs you started with, enabling you to make those larger transactions without creating any public link between the original UTXOs.
For the bitcoin designathon, I have two main goals and one stretch goal:
1. Finish all of the user journey flows
2. Make some real UI designs (not just wireframes)
Stretch goal: Make a (working? clickable?) frontend GUI
1. Does this work as a personal coin join
2. Is it possible to go from one big UTXO to a bunch of smaller UTXOs and then consolidate to a different big UTXO, while breaking the link between the 2 big UTXOs?
Interesting concept but you can always send payment in installments on different addresses to avoid consolidation.
Example: Alice has 2 UTXOs in wallet (0.01 and 0.01), she needs to make a payment of 0.015, Bob shares 2 addresses and Alice sends 0.01 to each with some delay.
you could, but this is not typically how merchant invoice software works. it also turns Bob into a TTP who Alice trusts not to reveal that she made both payments.