PIP: PIP-0037 Title: Distinguish account updates between active/passive mode Type: Protocol Impact: Hard-Fork Author: Albert Molina based on @bentley idea at Discord Channel and others Comments-URI: https://discord.gg/sJqcgtD Status: Proposed Created: 2019-10-20
Update the previous Account.updated_block
field to distinguish between active updates versus passive updates
Motivated by the activation of the PIP-0012 and some improvements made that distinguish between an active usage of the account versus a passive modification
Currently the OP_RECOVER operation is based on a single updated_block
field that is updated each time an account changes.
The change can be caused by any operation that affects this account, even if the private key of this account has not been used (for example, receiving a transaction)
In order to distinguish when the update has been made in active or passive mode, the proposal is to separate the single update_block
field in 2 fields:
updated_on_block_active_mode
updated_on_block_passive_mode
Adding this distinction, will allow a fair use of the OP_RECOVER operation as was originally designed in initial PascalCoin WhitePaper
Add 2 new fields on Account
object:
updated_on_block_active_mode
updated_on_block_passive_mode
Delete the previous updated_block
field because can be calculated with =MAX( updated_on_block_active_mode, updated_on_block_passive_mode)
Definition of active mode
When an account is the originator of the operation and the private key of this account has been used.
For example: A Sender
of any transaction, or when an account has been changed it's state including when is not the signer of the operation
By definition, every time n_operation
field is updated, updated_on_block_active_mode
is updated too