Why do some generation transactions use pubkey, instead of hash?

5

At BlockExplorer I can see that (edit: some) generation transactions use a pubkey in the script (<key> OP_CHECKSIG), while ordinary transactions use address/hash (OP_DUP OP_HASH160 <hash> OP_EQUALVERIFY OP_CHECKSIG). Why don't generation transactions use hash as well?

hmp

Posted 2012-07-19T23:35:47.393

Reputation: 303

Answers

3

Pubkey transactions use a little less space in the block chain overall (if no pruning is used), so you might as well use them when you can.

I think that Satoshi's main reasoning was as follows, though:

Satoshi originally expected that most transactions would be pubkey transactions: the sender would contact the recipient directly and retrieve a public key to send funds to (the protocol has commands for getting this info from recipients, but it's almost never used nowadays). Bitcoin addresses were just a "hack" useful for sending BTC to offline recipients. You know your own public key for use in generation transactions, so addresses aren't necessary and Satoshi avoided using the "hack".

theymos

Posted 2012-07-19T23:35:47.393

Reputation: 8 228