What is Nostr?
Jeff Garzik [ARCHIVE] /
npub1kf0…3f58
2023-06-07 10:19:41
in reply to nevent1q…ctuw

Jeff Garzik [ARCHIVE] on Nostr: 📅 Original date posted:2012-07-06 📝 Original message:Please review and ...

📅 Original date posted:2012-07-06
📝 Original message:Please review and comment...

Block v2, Height in Coinbase
https://en.bitcoin.it/wiki/BIP_0034

BIP: 34
Title: Block v2, Height in Coinbase
Author: Gavin Andresen <gavinandresen at gmail.com>
Status: Draft
Type: Standards Track
Created: 2012-07-06

Abstract

Bitcoin blocks and transactions are versioned binary structures. Both
currently use version 1. This BIP introduces an upgrade path for
versioned transactions and blocks. A unique nonce is added to newly
produced coinbase transactions, and blocks are updated to version 2.


Motivation

1. Clarify and exercise the mechanism whereby the bitcoin network
collectively consents to upgrade transaction or block binary
structures, rules and behaviors.

2. Enforce block and transaction uniqueness, and assist unconnected
block validation.


Specification

1. Treat transactions with a version greater than 1 as non-standard
(official Satoshi client will not mine or relay them).

2. Add height as the first item in the coinbase transaction's
scriptSig, and increase block version to 2. The format of the height
is "serialized CScript" -- first byte is number of bytes in the number
(will be 0x03 on main net for the next 300 or so years), following
bytes are little-endian representation of the number.

3. 75% rule: If 750 of the last 1,000 blocks are version 2 or
greater, reject invalid version 2 blocks. (testnet3: 51 of last 100)

4. 95% rule ("Point of no return"): If 950 of the last 1,000 blocks
are version 2 or greater, reject all version 1 blocks. (testnet3: 75
of last 100)


Backward compatibility

All older clients are compatible with this change. Users and merchants
should not be impacted. Miners are strongly recommended to upgrade to
version 2 blocks. Once 95% of the miners have upgraded to version 2,
the remainder will be orphaned if they fail to upgrade.


Implementation

https://github.com/bitcoin/bitcoin/pull/1525 and
https://github.com/bitcoin/bitcoin/pull/1526

--
Jeff Garzik
exMULTI, Inc.
jgarzik at exmulti.com
Author Public Key
npub1kf0ppcjaguxekg24yx6smgxlu73qn0k8lm0t2wrqc0scpl7u3sgsmf3f58