guys. I am new to the technical details about Bitcoin and has been reading Developer guide on bitcoin.org. I have a question about below contents mentioning merkle tree, identical txids.
I googled and searched here but seemed to be no answer.
“Note: If identical txids are found within the same block, there is a possibility that the merkle tree may collide with a block with some or all duplicates removed due to how unbalanced merkle trees are implemented (duplicating the lone hash). Since it is impractical to have separate transactions with identical txids, this does not impose a burden on honest software, but must be checked if the invalid status of a block is to be cached; otherwise, a valid block with the duplicates eliminated could have the same merkle root and block hash, but be rejected by the cached invalid outcome, resulting in security bugs such as CVE-2012-2459.”
===>I don’t quite understand above contents. how would a merkle tree collide with a block? what does”collide”and “eliminate duplicates” mean ? identical txids either mean same transactions or duplicate txid in order to generate a merkle root. what does “cache the invalid status of a block” stand for ? how would this be rejected by the cached invalid outcome?
I would appreciate it if you could help me understand. Thanks!
Article First Published here