Block Version Number in Bitcoin
The block version number in Bitcoin serves as an indicator of which set of consensus rules a block follows. It's also used to signal miners' readiness or support for upcoming protocol upgrades. Over time, block version numbers have evolved from simple sequential numbers (like versions 1 through 4) to a more complex bit-field system, which allows for multiple upgrades to be signaled at once.
From last time you badgered me I made some notes.
Evolution of Block Versions
Early Versions (1-4):
These were straightforward indicators of protocol changes. For example:
Version 1 was used from the Genesis block until March 2013.
Version 2 came with BIP 34, authored by Gavin Andresen, it added the block height to the coinbase transaction and was activated at Block 227,931 on March 27, 2013.
Version 3 enforced stricter signature validation with BIP 66, authored by Pieter Wuille, it ensured correct DER encoding of signatures. It activated at Block 363,725 on July 4, 2015.
Version 4 enabled CheckLockTimeVerify (CLTV) with BIP 65, also authored by Pieter Wuille, it allowed for time-locked transactions and activated at Block 388,381 on December 11, 2015.
Then come the Version Bits format:
Bitcoin upgrades were becoming increasingly complex, the block version system transitioned to the Version Bits signaling mechanism, which allows multiple protocol changes to be signaled at once using specific bits in the block version field, allowing miners to signal support for up to 29 features simultaneously, each represented by a specific bit in the 32-bit version field.
When Segregated Witness (SegWit) was introduced, Bitcoin transitioned from simple block versions to the complex numbers seen today.
Special Note: before we review the important key version bits, I have to make something clear. These version numbers are more than just sequential; they signal specific changes using bits
I am going to call out version numbers like 536 870 912, which is is the decimal representation of the hexadecimal value 0x20000000
The full number 536870912 in binary is 00100000000000000000000000000000.
“536" doesn't have standalone significance. It’s just a part of the decimal value when the binary representation of 0x20000000 is converted into base 10 (which equals 536870912).
The important part lies in the bitwise representation, where the leading bits "001" in the binary form, are reserved for signaling purposes, indicating that version bits are being used.
But for the purpose of conveying version numbers to a human (this human being you Max) we will use the decimal representation instead of 0x2 nd a bunch of zeros or 001 and 29 more zeros.
Now to the bit version section…
Version 536 870 912 indicated readiness for SegWit, introduced through BIP 141 (authored by Pieter Wuille). SegWit was activated on August 24, 2017, at Block 481,824.
Version 536 870 913 was used to signal support for BIP 91 and authored by James Hilliard. BIP 91 lowered the threshold required for SegWit’s activation. It was locked in at Block 477,120 on July 20, 2017.
Version 536 870 914 and 536 870 916 continued signaling for SegWit deployment through various BIPs.
How It Works Today
Today, miners use the Version Bits system to signal support for new upgrades, and they must keep their block version numbers in line with consensus rules. Version numbers like 536870912 (SegWit) are still recognized by the network, and each bit in the version number, a miner can signal support for different soft forks simultaneously.
For instance, if the network is ready for a future upgrade, miners will flip the corresponding bit in their block version number, signaling their support for the upgrade. The rest of the version field remains intact, allowing multiple soft forks to be signaled at the same time.
First 3 bits = 001: Reserved and indicate version bits are being used.
Remaining 29 bits: Available for signaling specific soft forks or protocol changes. Each of these bits corresponds to a different potential feature being activated.
Car Analogy for Bitcoin Block Version Numbers
Let’s compare Bitcoin’s block version numbers to Fords and how their cars evolved from simple model numbers to VIN numbers that represent various features and changes in their design over the years.
The Model T and Block Version 1:
Just like Ford's Model T, the first Bitcoin blocks (version 1) were basic, so basic, buyers didn’t even have a choice in what color vehicle they could buy “you can have a car in any color so long as its black. Similar to early block versions that had no special features—the first blocks had no complex rules or signals, just the essentials.
Evolving Model Years and Version Numbers:
As Ford expanded its lineup, more models came out, and so did the need for differentiating cars beyond going from model T to Model A.
Apply that to Bitcoin, version 1 to 4 were indicators of upgrades like block height (BIP-34), stricter validation (BIP-66), and time-locked transactions (BIP-65) can be compared to model T to model A
Complex Version Bits = New Ford VIN Structure:
Eventually, car manufacturers standardized more details in its VIN numbers to reflect all the specifics of each model the world manufacturers identifier, vehicle description section, and the vehicle identifier section—just like Bitcoin's version bits system, which allows for more granular signaling.
The VIN was introduced in 1965 to track each vehicle's specifications.
The first two characters of the VIN, such as “1F,” identify Ford and where the vehicle was built. 1F is a Ford built in the USA.
For example, characters 4-8 in a Ford VIN indicate engine type, body style, and model, much like Bitcoin’s complex version numbers (536 870 912 or 0x20000000) that signal specific features like SegWit (BIP-141) or BIP-91 activation.
Or version 536 870 916 (0x20000004) signals both SegWit and BIP-91—much like how characters in the Ford VIN specify the engine, body, and trim level of a car.
VINs were more standardized in the 80’s. Ford’s VIN numbers now include production year, plant location, and a unique serial number to distinguish every car (that’s characters 10-17). Likewise, Bitcoin’s version bits (introduced with version 536870912) can signal multiple protocol changes at once. Just as the tenth digit in a VIN tells you the model year (e.g., “J” for 1988), a Bitcoin version number can tell you which upgrades are active. Bits 1-3: Reserved for version signaling format (for example, the top three bits set to 001 for soft fork signaling).
Bits 4-32 can each represent a specific feature or soft fork proposal, meaning multiple upgrades can be signaled simultaneously within the same block version field.
Conclusion
In both cases, as the products (Fords and Bitcoin blocks) became more complex, the identifiers also became more detailed. From simple model numbers like T and A (Max likes T & A) to VIN numbers, Bitcoin’s version bits both allow for greater customization and finer control.
Like how car manufacturers track and signal changes to its cars over time with VINs, Bitcoin uses block version numbers to ensure the network continues to evolve. Bitcoin is still Bitcoin, and a Ford is still a Ford regardless of the fact Henry Ford is dead, and Satoshi is not Craig Wright, or Adam Back, or Peter Todd.
IMPORTANT LINKS
VALUE FOR VALUE
Thanks for listening you Ungovernable Misfits, we appreciate your continued support and hope you enjoy the shows.
You can support this episode using your time, talent or treasure.
TIME:
- create fountain clips for the show
- create a meetup
- help boost the signal on social media
TALENT:
- create ungovernable misfit inspired art, animation or music
- design or implement some software that can make the podcast better
- use whatever talents you have to make a contribution to the show!
TREASURE:
- BOOST IT OR STREAM SATS on the Podcasting 2.0 apps @ https://podcastapps.com
- DONATE via Paynym @ Max
- DONATE via Paynym to JON @ Jon
- DONATE via Monero @ https://xmrchat.com/ugmf
- BUY SOME CLOTHING @ https://ungovernablemisfits.com/store/
- BUY SOME ART!! @ https://ungovernablemisfits.com/art-gallery/
ALTAIR TECHNOLOGIES
Altair Tech is your one-stop shop for pleb mining supplies. They carry Bitaxes, Urlacher Conversion Kits, Bitmain Antminers, Shrouds, etc. Anything you can think of when it comes to Bitcoin Mining :).
Use the affiliate link above and don't forget to use code UNGOVERNABLE at checkout.
(00:00) Welcome To Bitesize Bitcoin!
(00:35) Who The Fuck Is That?
(02:04) What Do You Want Max?
(03:52) Block Version Number
(04:57) The Versions
(08:09) Version Bits Upgrades
(11:25) It's Like A VIN!
(15:00) What's a Wolf Doing on Wall Street?
(16:35) In Conclusion...
(16:59) Night Mate
(17:33) SPONSORED BY ALTAIR
Activity