-
Notifications
You must be signed in to change notification settings - Fork 3.7k
Bug: Frequent transaction hash collision on mainnet #9454
Comments
I would like to add onto that:
Using the Trace API, we have found in the case of the above 8 collisions, the transactions to be exactly the same in the consecutive blocks with the only difference being CPU and NET usage. However, in the following two transaction hash collisions in consecutive blocks, the transactions are not exactly the same and have different set of
We're sure we'll find more collisions as we progress through the chain. Are these transaction hash collisions a feature or a bug? And are they resolved later in the chain? And what is the feature/bug that is causing them? |
Pinging @johndebord @larryk85 @lparisc @heifner, any thoughts on this? 🙏 |
@alexprut @rajathchain those are deferred TXs. The scheduling appears in one block and the execution in the later block |
This should be fixed by the patch in issue #6115. As far as we know this fix hasn't been deployed on the EOS network, but if that's not the case please let me know. |
@jafri @aclark-b1 thanks for looking into this, a few follow-up questions:
|
Not at this time, we can look into documenting it further in the future. While this behavior is allowed by the protocol prior to deployment of
No, delayed transactions are distinct from deferred transactions and this only occurs with deferred transactions. Delayed transactions are explicitly constructed and signed by a user but contain a delay to meet authorization requirements. Deferred transactions are implicitly created as a result of contract execution. I will file an issue to get the ambiguity in those documents corrected. It is worth noting that seeing these transactions with same IDs and a status of
This is not intentional however, it is a hallmark of the conditions that create these transactions with the protocol AND the officially released code prior to Again, after |
@b1bart this is super helpful, thanks for answering! At this point, should we leave the issue open or it makes sense to close it? |
@alexprut Let's keep it open until EOSIO/eosio.cdt#971 is addressed. @iamveritas |
Currently on the mainnet there are multiple cases of the same transaction hash included in different block numbers.
The content of the transaction does not appear to be the same in all the clashing cases, as an example consider:
7dcdcdb558028c7703faddee96e1aa48e9bbe7cd3a07cd0a74513a3599185b40
, in this case the content of the transaction seems to be the same.0bd119c4fea6a1147b0eb6cfab1363c1c83b12eaab466fae35b74906d4cf69bc
, in this case the content of the transaction seems to be different.The text was updated successfully, but these errors were encountered: