pull down to refresh
I got some timestamps for a miner mining at Foundry's pool:
https://bnoc.xyz/t/two-block-reorg-at-height-941880/97/20
It indeed seems to be the case that they mined these two blocks just after the competing ones.
However, if the timestamps are accurate, it is possible that Foundry found both of those blocks just after the competing blocks were found, before they had learned about the competing blocks, but after their block would have propagated widely on the network.
But that still seems like a very big coincidence for noone else to have seen the block in time. The direct peers of Foundry should have still seen it when it was found. But so far I haven't seen anyone claiming to have seen the Foundry block 941882 before 15:55:00.
It could perhaps even be the case that the block was found by a pool participant even after Foundry saw the Antpool block, but before they had updated all the jobs. It would still make sense and not be malicious for a pool to mine on their own block when they have one.
Wow you might be right. It seems this is what actually happened.
https://bnoc.xyz/t/two-block-reorg-at-height-941880/97/20
What a massive coincidence though.
Could be.
But even in this scenario I believe the usual bitcoind behaviour is to broadcast this block out to its direct peers.
As I mentioned above, Bitcoin Core nodes will request and store blocks in competing chaintips with the same PoW as their best chaintip, but they will not announce those blocks to their own peers. Even if Foundry had announced it after having found it, the block could have not made it beyond the Foundry nodes’ peers if they all had seen the competing block before it, or it would have possible made it another hope from a few peers before getting blackholed.
Thanks for these details. So, it's not a huge leap to say that it was mostly a coincidence that some nodes didn't see Foundry's blocks until after the reorganization?
Even if this wasn't intentional by Foundry, it wouldn't change the fact that they benefited from this and AntPool+ViaBTC lost their reward. (Accidental Selfish Mining) And this was only possible because they already control so much hash rate.
Bitcoiners tend to entertain conspiracy theories perhaps a little too enthusiastically
yes. that is certainly a trait of this community.
Nodes will retrieve and store competing chaintips with the same amount of POW, when they are offered, but they will only propagate their best chaintip to peers. So a second competing block would not be forwarded. It would therefore be expected for competing blocks to propagate less widely than uncontested blocks.
Foundry’s first block was timestamped 12s after the Antpool block and Foundry’s second block was timestamped six seconds after ViaBTC’s block. Timestamps do not have to be super accurate, but looking at Foundry’s recent blocks, those seem to be pretty accurate to the actual time (some miners time-roll, but it might be the case Foundry does not—I’d have to look more into it to confidently say so).
However, if the timestamps are accurate, it is possible that Foundry found both of those blocks just after the competing blocks were found, before they had learned about the competing blocks, but after their block would have propagated widely on the network.