Bitcoin Forum

Bitcoin => Bitcoin Technical Support => Topic started by: someshwar on June 04, 2015, 12:35:47 PM



Title: How to make coinbase transaction of the Bitcoin Genesis block spendable ?
Post by: someshwar on June 04, 2015, 12:35:47 PM
Because of some quirk in the implementation, the Genesis block coinbase transaction can not be spent.

Can anyone point where in the code this quirk is ? and how to make it spendable.

bitcoind, bitcoin.

Thanks


Title: Re: How to make coinbase transaction of the Bitcoin Genesis block spendable ?
Post by: TheRealSteve on June 04, 2015, 05:28:50 PM
Because of some quirk in the implementation, the Genesis block coinbase transaction can not be spent.
It's not a quirk - it's on purpose by now.  Start reading here:
http://www.reddit.com/r/Bitcoin/comments/1nc13r/the_first_50btc_block_reward_cant_be_spend_why/cchdhrm

Can anyone point where in the code this [...] is ?
There may be multiple places, but here's a specific test for it:
https://github.com/bitcoin/bitcoin/blob/master/src/main.cpp#L1785

and how to make it spendable.
You can't - you can try and fail, though :)


Title: Re: How to make coinbase transaction of the Bitcoin Genesis block spendable ?
Post by: tspacepilot on June 09, 2015, 05:53:42 PM
Because of some quirk in the implementation, the Genesis block coinbase transaction can not be spent.
It's not a quirk - it's on purpose by now.  Start reading here:
http://www.reddit.com/r/Bitcoin/comments/1nc13r/the_first_50btc_block_reward_cant_be_spend_why/cchdhrm

FWIW, the bitcoin wiki has that line about it being a "quirk"

The first 50BTC block reward went to address 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa, though this reward can't be spent due to a quirk in the way that the genesis block is expressed in the code (this may have been intentional).

Also the reddit page you linked to is interesting, but it doesn't really have anything about the motivation (from what I saw).  It seems to me that it may have indeed been a "quirk".  What did I miss?





Title: Re: How to make coinbase transaction of the Bitcoin Genesis block spendable ?
Post by: TheRealSteve on June 09, 2015, 06:10:57 PM
It was a quirk, but now it's intentional, is what I was getting at :)  The relevant part in theymos' post:
Current versions of Bitcoin-Qt handle the block/transaction databases in a totally different way, so the genesis block's transaction is now just a weird special case in the code
( emphasis mine )


Title: Re: How to make coinbase transaction of the Bitcoin Genesis block spendable ?
Post by: tspacepilot on June 09, 2015, 11:09:15 PM
It was a quirk, but now it's intentional, is what I was getting at :)  The relevant part in theymos' post:
Current versions of Bitcoin-Qt handle the block/transaction databases in a totally different way, so the genesis block's transaction is now just a weird special case in the code
( emphasis mine )

Sounds a little like a quirk which was reified for posterity or something like that.  Anyway, thanks for the clarification.  I guess Satoshi has plenty of spendable bitcoins if he ever wanted to actually do that.