Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: bitcoinandroid on December 10, 2011, 11:52:18 PM



Title: Clarification on a block protocol rule
Post by: bitcoinandroid on December 10, 2011, 11:52:18 PM
On the protocol rules here https://en.bitcoin.it/wiki/Protocol_rules#.22block.22_messages

it states: "8. For the coinbase (first) transaction, scriptSig length must be 2-100"

But it looks like the coinbase transaction doesn't have any scriptSig param at all, for example:
http://blockexplorer.com/rawblock/000000000000073ab0ea030440998db75d5c74393c6a0875a37fc4f00f1539e8

What am I missing?

Thanks!


Title: Re: Clarification on a block protocol rule
Post by: theymos on December 11, 2011, 12:46:54 AM
The coinbase field is the scriptSig field.


Title: Re: Clarification on a block protocol rule
Post by: bitcoinandroid on December 11, 2011, 01:58:35 AM
Thanks theymos!  I thought that might be it.

As a follow up, on https://en.bitcoin.it/wiki/Transactions#Generation (https://en.bitcoin.it/wiki/Transactions#Generation) it says:

"The data in "coinbase" can be anything; it isn't used"  So why the check for between 2 and 100 characters?  Is this just to prevent too much data from being stuffed in there?  Just trying to understand the reason behind it.

Also, this block looks like it has a really long coinbase field (130 characters).  How was it allowed?
http://blockexplorer.com/rawblock/00000000000009e6e9b08e2ced87f48e08654d03bbd0027ef0f5d1da803522a3

Thanks I really appreciate the help!


Title: Re: Clarification on a block protocol rule
Post by: theymos on December 11, 2011, 02:01:15 AM
Is this just to prevent too much data from being stuffed in there?

Yes.

Quote
Also, this block looks like it has a really long coinbase field (130 characters).  How was it allowed?

The restriction is 100 bytes. That's 65 bytes.


Title: Re: Clarification on a block protocol rule
Post by: gmaxwell on December 11, 2011, 02:15:27 AM
Also, this block looks like it has a really long coinbase field (130 characters).  How was it allowed?
http://blockexplorer.com/rawblock/00000000000009e6e9b08e2ced87f48e08654d03bbd0027ef0f5d1da803522a3

That block has merged mining, and it's also signaling support for OP_EVAL. It's an eligius block.




Title: Re: Clarification on a block protocol rule
Post by: bitcoinandroid on December 12, 2011, 01:18:13 AM
Ok great, thanks for the feedback guys!