You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We currently include the following in a transaction input -
output features
commitment
So spending (plain, C) is different to spending (coinbase, C).
We currently enforce uniqueness on output commitments in the utxo set.
So this is not of material concern other than this being redundant data in a transaction.
If/when we support "duplicate outputs" then things get a little more complicated.
We want to build a transaction that spends the most recent commitment C, regardless of output features.
We do not plan to support granular selection of the output being spent based on specific output features. The rule will simply be "last-in-first-out" and will be strictly enforced. The specific instance of multiple duplicate outputs (based on output commitment) will be the one with the highest output MMR position (right-most).
We should consider simplifying transaction and block serialization sooner rather than later to simplify this and remove the output features on inputs.
Ideally we would remove the features bytes on all inputs.
We may want to consider enforcing a zero features byte if necessary as an interim solution.
We do not want to simply ignore the feature byte as this would introduce potential malleability.
The text was updated successfully, but these errors were encountered:
We currently include the following in a transaction
input
-So spending
(plain, C)
is different to spending(coinbase, C)
.We currently enforce uniqueness on output commitments in the utxo set.
So this is not of material concern other than this being redundant data in a transaction.
If/when we support "duplicate outputs" then things get a little more complicated.
We want to build a transaction that spends the most recent commitment
C
, regardless of output features.We do not plan to support granular selection of the output being spent based on specific output features. The rule will simply be "last-in-first-out" and will be strictly enforced. The specific instance of multiple duplicate outputs (based on output commitment) will be the one with the highest output MMR position (right-most).
Related #3271.
We should consider simplifying transaction and block serialization sooner rather than later to simplify this and remove the output features on inputs.
Ideally we would remove the features bytes on all inputs.
We may want to consider enforcing a zero features byte if necessary as an interim solution.
We do not want to simply ignore the feature byte as this would introduce potential malleability.
The text was updated successfully, but these errors were encountered: