ElementsProject / ElementsProject/elements
We should bump the surjectionproof default # of inputs from 3 to 7+
- Dominant language
- C++
- Stars
- 1.2k
- Forks
- 416
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 15
Description
I meant to do this in 0.21 but forgot. Maybe could slip into the next rc.
Background:
* The surjection proofs are zkps of the statement "this output's asset ID is equal to that of one of these N inputs", where N is chosen by the signer and is currently max(3, n_inputs) in the Elements wallet.
* There is a separate surjection proof on every blintded output
* The weight of a surjection proof is 32 * (N+1) bytes, so currently they max out at 128 bytes.
* So by at most doubling the size of the proof, to 256 bytes, we could increase this 3 to 7
Our rangeproofs currently default to about 4k; post-bulletproofs these will be a bit under 700 bytes. So I think spending an extra 128 bytes per output is well-worth it for improved privacy.
Contributor guide
Assessment
This issue has not been assessed yet.