consensus: Verify OP_CHECKCONSOLIDATION (draft) #2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is a draft implementation for the proposed OP_CHECKCONSOLIDATION (OP_CC) opcode. It does not include activation logic.
OP_CC is a simple introspection opcode. OP_CC pushes false for the first transaction input spending a particular SPK, and true for every subsequent input spending the same SPK. This enables a scheme where all inputs spending the same SPK rely on the signature for the first input.
Here's a simple example:
We save 58 bytes (29 bytes per script-path input) compared to spending all three UTXOs via key-path spends:
The savings are much higher for
n<mmultisigs and possible quantum signature scripts!Consolidation markers are be precomputed in
checkerto ensure linear time complexity.