Post
Topic
Board Mining
Merits 2 from 1 user
Topic OP
Why does ViaBTC fork its own blocks?
by
Cricktor
on 09/09/2025, 21:48:18 UTC
⭐ Merited by ABCbits (2)
Recently I observed something strange on https://fork.observer. There are currently a few occurances visible there when a mining pool has forked its own blocks:


My own node didn't see above fork, so can't provide any further details.


Also this fork wasn't seen by my own node.


Only this last fork was also observed by my own node. Here's the portion from the debug.log:
Code:
2025-09-01T15:52:16Z Saw new header hash=00000000000000000001f9d2891b2580a1ba5316948651b7e53ec024d159e4d6 height=912721
2025-09-01T15:52:16Z UpdateTip: new best=00000000000000000001f9d2891b2580a1ba5316948651b7e53ec024d159e4d6 height=912721 version=0x2d084000 log2_work=95.800758 tx=1235467945 date='2025-09-01T15:51:57Z' progress=1.000000 cache=166.6MiB(1048788txo)
...
2025-09-01T16:20:48Z Saw new header hash=0000000000000000000005d69e1b45c5fc045a7ef36281054690125aa4e1eafe height=912722
2025-09-01T16:20:48Z Saw new cmpctblock header hash=0000000000000000000005d69e1b45c5fc045a7ef36281054690125aa4e1eafe peer=4079
2025-09-01T16:20:48Z UpdateTip: new best=0000000000000000000005d69e1b45c5fc045a7ef36281054690125aa4e1eafe height=912722 version=0x25448000 log2_work=95.800770 tx=1235471810 date='2025-09-01T16:20:15Z' progress=1.000000 cache=166.8MiB(1071977txo)
2025-09-01T16:20:49Z Saw new header hash=00000000000000000002265cf3ec81a70bc15dbdf31e36d0d2c21689e9555dc0 height=912722
2025-09-01T16:22:00Z Saw new header hash=0000000000000000000106a89e0f1ed365dc6c89fd5800cff5673c252997c546 height=912723
2025-09-01T16:22:08Z UpdateTip: new best=00000000000000000001f9d2891b2580a1ba5316948651b7e53ec024d159e4d6 height=912721 version=0x2d084000 log2_work=95.800758 tx=1235467945 date='2025-09-01T15:51:57Z' progress=0.999993 cache=166.6MiB(1060974txo)
2025-09-01T16:22:08Z UpdateTip: new best=00000000000000000002265cf3ec81a70bc15dbdf31e36d0d2c21689e9555dc0 height=912722 version=0x2001a000 log2_work=95.800770 tx=1235471809 date='2025-09-01T16:20:15Z' progress=1.000000 cache=166.8MiB(1072217txo)
2025-09-01T16:22:08Z UpdateTip: new best=0000000000000000000106a89e0f1ed365dc6c89fd5800cff5673c252997c546 height=912723 version=0x2c4c8000 log2_work=95.800782 tx=1235476515 date='2025-09-01T16:21:42Z' progress=1.000000 cache=167.0MiB(1079133txo)
The two new header announcements for block 912722 came just one second apart to my node. And I was a bit surprised to see that there was a second UpdateTip event for block 912721, quite some minutes past the first one.

I'm still wondering why this happens to a pool. So far I could only observe this for Foundry USA and ViaBTC. Any explanations or ideas for this?

My naive thinking is, once a pool finds a block, they are the first to know to immediately start mining on top of their own last block. If they get lucky to find another block quickly, they'd have two blocks potentially pocketed. It doesn't make sense to me to fork their own block.

As I'm no mining pool "mechanics" expert, I'd like to know why this happens and why pools don't prevent this to occur.