Skip to content

Instantly share code, notes, and snippets.

@nopara73
Created December 4, 2020 17:35
Show Gist options
  • Save nopara73/2e2a34fd56529fc2c73725bb03e152ea to your computer and use it in GitHub Desktop.
Save nopara73/2e2a34fd56529fc2c73725bb03e152ea to your computer and use it in GitHub Desktop.
Simple Amount Organization for WW2 as a Plan ZS

What do the users want?

  • faster mixes
  • cheaper mixes
  • no changes
  • more money a user have, the more output it tolerates
  • avoid coin bloat
  • low minimum denomination

Output Creation

Coordinator gives out the largest possible denomination. This is the largest powers of 2 from the second largest input registered.

User decomposes its input sum to powers of two and those will be its outputs. The largest denomination must be considered by the user to this decomposition.

To make the system more user friendly, powers of two is starting at 1BTC and under 1BTC it'd be divisions by 2.

Why powers of 2? It's because this is what gives us the smallest number of denominations. ToDo: research more.

Input Selection

Any wallet aims to achieve a desired coin distribution in the wallet. ToDo: research more.

If inputs aren't merged, then the coin with the smallest anonset is selected.

If inputs are to be merged, then minimum hamming weight and for maximum graph disconnectedness.

Network Fees

Transaction fees are paid by chunking the smallest decomposition of outputs and split the remaining difference between equal outputs. -> Would this actually achieve nearly perfect flow of denomination from one mix to another?

With this we could make sure to only let in x coin with awesome low hamming weight to the mix for security reasons?

Coordination Fees

Coordination fees fees are paid with least anonymous coins.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment