Good morning Mostafa,

First off, the proposed mechanism can be made into a softfork by using an 
unspendable `scriptPubKey` with 0 output value.

For example, a stamp could by convention be any 0-value output whose 
`scriptPubKey` is `<blockhash> OP_0`, which should be unspendable.

Post-softfork nodes would reject blocks where some transaction is stamped and 
the stamped `<blockhash>` is not within the last N blocks.
Pre-softfork nodes would not see anything special about the unspendable 
`scriptPubKey` and would just accept it (but would not relay such transactions 
due to standardness).

Engineering-wise, block validation now needs to memorize the last N block 

The mempool design currently assumes that a transaction that enters the mempool 
is always valid unless any UTXOs it spends have been removed.
This is important since miner block selection algorithms assume the mempool 
contains transactions that are currently valid.
Thus, there is the additional need to drop transactions from the mempool if 
they are stamped with a block that has dropped from the stamp TTL.

Another issue is incentives.
The stamp takes up blockchain space that is paid for by the creator of the 
Further, the creator of the transaction gains no advantage from the stamped 
transaction; it is others who gain an advantage (the stamped transaction is 
more likely to be dropped from the mempool).
Discounting the stamp somehow will probably make this into a hardfork.
It might be sneaked into the witness somehow by adding it as a field somewhere 
in the new parts of Taproot (there is, a new block of data in Taproot that can 
be used for this), but note that the cost will still be non-zero (and users of 
this feature will still have a disadvantage in that their transactions are more 
likely to be dropped from the mempool).

Finally, it is expected to increase bandwidth use since a dropped stamped 
transaction will probably be rebroadcast with a new stamp, so effectively the 
transaction is retransmitted again with a different stamp.

bitcoin-dev mailing list

Reply via email to