hiero-ledger / hiero-ledger/hiero-consensus-node
Hedera native transactions do not update the account nonce field
- Dominant language
- Java
- Stars
- 406
- Forks
- 226
- Avg merge
- 3d 4h
- Merged PRs (30d)
- 210
Description
Accounts in Hedera have a field `ethereum_nonce` which EthereumTransactions use for replay attacks protection.
Native ContractCall and ContractCreate transactions do not check or update this value though.
This may lead to confusing behavior and unexpected results.
This issue is logged for clarity. There are some good reasons not to change this:
- Hedera has a different mechanism protecting from replay attacks and doesn't use the nonce field
- Hedera transactions have a different structure than Ethereum transactions and are not designed to work with nonces
- If we change `ContractCall` and `ContractCreate` transactions to check and update the `nonce` field, should we also change `TopicCreateTransaction`, `CryptoTransferTransaction`, etc. It's not clear how deep into the rabbit hole we should go and what the value would be
Contributor guide
Assessment
This issue has not been assessed yet.