TL;DR: Block model – WTF!??
I’m discovering it complicated to know block model numbers and haven’t discovered full info in a single place. Issues I’ve found up to now:
-
The sphere was initially (2008), and weirdly, outlined as a 32-bit signed integer. Early blocks had values from 1 to 4 (what do these signify?) encoded in a traditional approach as 0x01000000 by 0x04000000
-
BIP 34 (2012) elevated the model quantity to 2. That is the place block-height began to be encoded within the first few bytes of the unlocking script of the coinbase transaction. BIP34 offered a way whereby miners incremented the model quantity to sign readiness for a soft-fork. This has been superceded by BIP 9 however I assume some outdated blocks could have larger model numbers in consequence.
-
BIP 9 (2015) Makes use of “bits 0-28” of the Model for miners to sign readiness for smooth forks (i.e. essential adjustments). It additionally adjustments the way in which variations are encoded – it’s not a traditional little-endian signed integer. As a substitute the “high bits” (bits 29-31?) are set to 001 with future provision for 010 and 011. I am not clear how these ought to be offered (v1, v2 and v3?)
-
Some miners use the model discipline as a method to accellerate mining. That is referred to as “ASIC enhance” and appears to have an effect on the primary two or three bytes. I am unsure in the event that they utterly obliterate the precise model data or whether or not some significant model info can nonetheless be extracted.
-
One thing else?
Examples of model numbers I’ve seen:
- 0x00000001 (model 1)
- 0x00000004 (model 4)
- 0x20000000 (v1?)
- 0x20400000 (v1? + prepared for one softfork outlined at the moment)
- 0x27ffe000 (v1? + ASICboost)
- 0x37ffe000 (v2? + ASICboost)
I am not clear the right way to distinguish ASIC enhance from readiness for an unusually giant variety of concurrent softforks.
Is it potential to create a solution ample to parse all potential makes use of of the model discipline thus far? (excluding the exact identification of signalled softforks)
References
