This PR introduces a permissioned system for the core blockchain which facilitates priority transactions and a gas price waiver:
Electroneum will afford transaction level permissions to specific entities whose principal endeavours are worthy of those permissions by their virtue of their ongoing contribution to the overall project. Permissions may be given out on a subscription basis in future, but the details of this are yet to be established. The permissions are managed by interacting with a smart contract, which is read during block verification and creation to ensure that transactions with priority settings have been sent by priority transactors appropriate permissions.
Transactions between and out of accounts accounts contained within the my.electroneum.com will now be completely free and have priority status.
A new priorityTx transaction type has been created.
Priority transactors will embed a secp256k1 signature within their priority transactions that is signed with their priority private key. This signature is what is read during block validation and the public key is checked against the priority transactors contract.
Priority Transactions will be included in blocks before regular transactions and, at least in the beginning, transaction ordering amongst priority senders will be pari-passu.
Some, but not all priority senders will be afforded a gas price waiver, meaning that they can send transactions for free. The holder of such a priority key need not make use of this gas price waiver when sending transactions; they can send transactions with a base fee and a tip if they so chose (and there may be multiple reasons for doing this, some of which may emerge over time requiring such behaviour). However if a priority sender does not make use of their gas price waiver, they will be subject to the same fee based consensus rules as a normal user of the network.
Priority transactions have their own txpool level priority slots, which helps them propagate through the network even when there is a bottleneck for regular transactions.
This PR introduces a permissioned system for the core blockchain which facilitates priority transactions and a gas price waiver: