-
Notifications
You must be signed in to change notification settings - Fork 52
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add NUT-XX: Describe a primes-based keyset, proof scheme #184
Conversation
99b9e79
to
0a6ef0c
Compare
Isn't this terrible for privacy? |
Good question. Intuitively, I think not because except for I ran some tests to see what's the distribution of the keyset amounts used to represent tokens between 1 and 1000. Sorted by occurrences, it's this: Click to show table
No keyset amount appears only once. The biggest one ( For
The more users the mint has, the harder this becomes. As part of Carol's swap or melt, fees are paid so 997 becomes 996 or lower and has to be further decomposed. It gets exponentially harder for other amounts, which are used more often. |
Yes, it seems. The whole idea with keysets for different amounts is to reduce the number of keys so we can gain privacy. We're purposefully trade efficiency vs privacy in favor of privacy with the keysets that we use. Here, 1000 keys can't even represent 10000 sats. With powers of two, we can represent the entire bitcoin supply with just 54 keys. @ok300 appreciate the effort but I don't see why this should be a NUT. A mint can choose whatever keyset they like, nothing stops them from using (way too many!) prime numbers for decomposing the amounts. Then, it becomes a wallet-side issue to decompose these amounts efficiently. I don't see why anything should have to be specified in the spec for that, everyone can just do it without breaking compatibility (although, I would strongly advice against it because of the privacy implications). Another note, on the format. Although I think the tables and the benchmarks are very interesting, however, they should rather be written up in an article or gist, but the specs is not a place for them. The specs have the sole purpose of establishing consensus. We want to keep them concise, specific, and quick and easy to read. |
nACK |
NACK, the proposal decreases privacy significantly |
Draft describing a primes-based keyset and proof scheme to achieve smaller tokens.
For easier viewing: https://github.com/ok300/nuts/blob/ok300-keyset-token-primes/xx.md