Reading Block Headers on the Bitcoin wiki, I learned that the timestamp in a block header is four bytes, and the timestamp in the "version" message is eight bytes. Why are there two sizes, and why isn't it more consistent?
Bitcoin Stack Exchange is a question and answer site for Bitcoin users, developers, and enthusiasts. It only takes a minute to sign up.Sign up to join this community
This was discussed in the mailing list a while back: http://sourceforge.net/mailarchive/message.php?msg_id=30824341
I'm guessing 32-bit timestamp was used by Satoshi in the original client and the 64-bit timestamp was introduced later to avoid timestamp overflow.
We may need to change (hardfork) the old 32-bit timestamp fields to 64-bit at some point. See https://en.bitcoin.it/wiki/Hardfork_Wishlist