Agree. This data does not belong in the coinbase. That space is for miners to use, not devs. I also think that a hard fork is better for SegWit, as it reduces the size of fraud proofs considerably, makes the whole design more elegant and less kludgey, and is safer for clients who do not upgrade in a timely fashion. I don't like the idea that SegWit would invalidate the security assumptions of non-upgraded clients (including SPV wallets). I think that for these clients, no data is better than invalid data. Better to force them to upgrade by cutting them off the network than to let them think they're validating transactions when they're not. On Dec 8, 2015, at 11:55 PM, Justus Ranvier via bitcoin-dev wrote: > If such a change is going to be deployed via a soft fork instead of a > hard fork, then the coinbase is the worst place to put the segwitness > merkle root. > > Instead, put it in the first output of the generation transaction as an > OP_RETURN script. > > This is a better pattern because coinbase space is limited while output > space is not. The next time there's a good reason to tie another merkle > tree to a block, that proposal can be designated for the second output > of the generation transaction.