PIP-9: Removing Stamp
Removing Stamp from Transactions
Authors | Amir Babazadeh (@amirvalhalla) |
---|---|
Discussion | View Discussion PIP-9 |
Category | Core |
Created | 2023-09-19 |
Requires | PIP-2 |
Table of Contents
Abstract
This document proposes simplifying transactions by removing the Stamp
field.
Specification
Currently, transactions in Pactus
are stamped.
“Stamping a transaction” refers to adding a piece of information from a previously
committed block to the transaction’s header.
In Pactus
, stamps are represented by the first 4 bytes of a block hash.
Stamping transactions serve two primary purposes:
- It specifies the interval for the execution of transactions.
- It protects the main fork from long-range attacks.
In this section, we argue that removing the stamp will not compromise security and will simultaneously offer a more streamlined transaction format.
LockTime vs. Stamp
With the finalization of PIP-2, each transaction now includes the LockTime
field.
The LockTime
is mandatory and should be set to the block number that the transaction can be committed after.
In this case, the need to set the stamp is no longer necessary, and users will likely ignore it.
Long-Range Attack
Although stamping transactions can help prevent long-range attacks, any long-range fork can be ignored and rejected by the community. Therefore, stamping transactions appear to be a redundant field in transaction data.
Security Considerations
Removing the stamp should not impact the security of the blockchain.
Copyright
Copyright and related rights waived via CC0.