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
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:
ContractCall
andContractCreate
transactions to check and update thenonce
field, should we also changeTopicCreateTransaction
,CryptoTransferTransaction
, etc. It's not clear how deep into the rabbit hole we should go and what the value would be