Bitcoin Forum
May 25, 2024, 02:06:50 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: Out of order blocks  (Read 905 times)
gnaget (OP)
Full Member
***
Offline Offline

Activity: 154
Merit: 102


View Profile
July 18, 2011, 02:34:57 AM
 #1

I was just looking at the recent block statistics on btcguild.com, and I noticed some out of order

1682 136704    2011-07-17 11:07:43    0:05:49    170287    7 until confirmed    493   
1681 136706    2011-07-17 11:01:54    0:11:11    334530    9 until confirmed    919   
1680 136702    2011-07-17 10:50:43    0:43:33    1344240    5 until confirmed    3526


Notice how the block at 11:01 has 9 more until confirmed (ie discovered 101 blocks ago), and the one at 11:07 has 7 more until confirmed (ie discovered 103 blocks ago), The timestamp and id have 1682 discovered after 1681; however, the confirmations disagree.  How is this possible?
DrHaribo
Legendary
*
Offline Offline

Activity: 2730
Merit: 1034


Needs more jiggawatts


View Profile WWW
July 18, 2011, 03:36:10 PM
 #2

Probably blocks created on different servers, then syncing the data put them out of order.

▶▶▶ bitminter.com 2011-2020 ▶▶▶ pool.xbtodigital.io 2023-
gigabytecoin
Sr. Member
****
Offline Offline

Activity: 280
Merit: 252


View Profile
July 18, 2011, 05:41:05 PM
 #3

Yes, timestamps come from the mining computer and can be off by as much as 2 hours.
eleuthria
Legendary
*
Offline Offline

Activity: 1750
Merit: 1007



View Profile
July 18, 2011, 06:05:42 PM
 #4

When a server sync error happens, the new block script aborts and retries later to make sure a server's shares are properly counted when allocating block rewards.

The new bock script simply iterates through listtransactions in each bitcoind, adds them to a list by their txid, and then checks for items in that list that aren't in the database of blocks that were found already.

If a sync error/connection error between servers happens for a few minutes and we find another block, it means when it iterates through the list, the newer block might get picked up first, and applied to the earlier round instead.  The servers only keep track of blocks by Round #, they know that a round completed before the new block script associates a given block with them.

It's not a very common occurrence recently, since the servers have been very stable and the block script hasn't had to abort due to sync errors.

RIP BTC Guild, April 2011 - June 2015
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!