Author: Jeff Garzik 2013-05-08 23:42:55
Published on: 2013-05-08T23:42:55+00:00
In an email thread dated May 8, 2013, Addy Yeow asked why there were both 32-bit and 64-bit timestamp fields in the Bitcoin protocol specification. Jeff Garzik replied with a short and somewhat cryptic answer: "Hysterical raisins." The term "hysterical raisins" is a play on words of the phrase "historical reasons," which suggests that the reason for having both types of timestamp fields was simply due to legacy issues or decisions made in the past. The Bitcoin protocol specification is a technical document that defines how the Bitcoin network operates. It includes details about how transactions are processed, how blocks are added to the blockchain, and how nodes communicate with each other. The timestamp fields in question are used to record the time at which a block was mined. In the original version of the protocol, these fields were 32 bits long, allowing for timestamps up to January 19, 2038. However, in 2011, a change was made to the protocol to increase the timestamp field to 64 bits. This change allowed for timestamps up to the year 584,942,417, which should be more than enough to cover any conceivable use case. Despite this change, the 32-bit timestamp field was not removed from the protocol, likely because it would require a hard fork and could potentially cause compatibility issues. In conclusion, the reason for having both 32-bit and 64-bit timestamp fields in the Bitcoin protocol specification is likely due to legacy reasons or decisions made in the past. While the 64-bit field allows for longer timestamps and is now the recommended option, the 32-bit field remains in the protocol for backwards compatibility.
Updated on: 2023-06-06T16:26:58.721539+00:00