Subject: Re: [bitcoin-dev] Block size hard fork

From: Gregory Maxwell <[email-masked]>
Date: Sat, 1 Aug 2015 00:17:25 +0000

On Sat, Aug 1, 2015 at 12:05 AM, Hector Chu via bitcoin-dev
<[email-masked]> wrote:
> There is nothing tying
> transactions to the blocks they appear in.

Transactions can be recieved or accepted in different orders by
different nodes. The purpose of the blockchain is to resolve any
potential conflicting transactions by providing a globally agreed
total ordering.

As soon as one of the forks accepts a different transaction in a
conflicting set then there will be transactions which exist on one
chain which cannot exist on the other.

One can quite easily transact in a way to intentionally produce such a
split to seperate the existance of your coins onto the seperate forks;
just as anyone would need to do to perform a reorg-and-respend attack
on a single blockchain.

Additionally, new coins will be issued, along with fees, on both
chains. These new outputs become spendable after 100 blocks, and any
transaction spending them can exist exclusively on one chain.

Also any transaction whos casual history extends from one of the above
cases can exist only on one chain. This also means that someone who
has single-chain coins (via a conflict or from coinbase outputs) can
pay small amount to many users to get their wallets to consume them
and make more of the transactions single chain only-- if they wanted
the process to happen faster.

> Miners will migrate to the bigger chain in search of higher profits due to higher volume of fees

The migration remark is a considerable oversimplification. Imagine if
I released a version of the software programmed to reassign ownership
of a million of the earliest created unmoved coins to me at block
400k, and then after that I made transaction to pay 5 coin/block in
fees. Would miners move to this chain?  It pays more in fees!