LearnBitcoin

Bitcoin Dev Archive 2012

Bitcoin script opcode counts

4 messages, 26 Jul 2012. Started by Jeff Garzik.

Jeff Garzik (2), Mike Hearn, Greg Maxwell

Permalink Original thread on gnusha.org

Jeff Garzik permalink original

Just run a query over the entire blockchain, looking at script opcode use. I counted the number of times each opcode was used, in total: https://gist.github.com/3180470

(data in full) OP_0 104 OP_1 27 OP_2 12 OP_2OVER 182 OP_2SWAP 182 OP_3 16 OP_4 1 OP_CHECKMULTISIG 22 OP_CHECKSIG 12188693 OP_CODESEPARATOR 14 OP_DEPTH 182 OP_DROP 19 OP_DUP 11699991 OP_EQUAL 88 OP_EQUALVERIFY 11699985 OP_HASH160 11700067 OP_IF 182 OP_IFDUP 182 OP_MIN 4 OP_NOP1 1 OP_NOP2 15 OP_NOP 5 OP_PUSHDATA1 18 OP_PUSHDATA2 4 OP_PUSHDATA 32350369 OP_SHA256 2 OP_VERIFY 182

Jeff Garzik in reply to Jeff Garzik permalink original

On Thu, Jul 26, 2012 at 1:50 AM, Jeff Garzik <jgarzik@exmulti•com> wrote:

Quoted text (3 lines)
> Just run a query over the entire blockchain, looking at script opcode
> use. I counted the number of times each opcode was used, in total:
> https://gist.github.com/3180470

And here is the testnet3 data: https://gist.github.com/3180486

Mike Hearn in reply to Jeff Garzik permalink original
Quoted text (2 lines)
> OP_CODESEPARATOR 14
> OP_DEPTH 182

I'm interested to see what scripts were using OP_DEPTH and OP_CODESEPARATOR, as the latter appears to be useless to my eyes.

Could you give some tx ids which use unusual opcodes?

Greg Maxwell in reply to Mike Hearn permalink original

On Thu, Jul 26, 2012 at 7:27 AM, Mike Hearn <mike@plan99•net> wrote:

Quoted text (7 lines)
>> OP_CODESEPARATOR 14
>> OP_DEPTH 182
>
> I'm interested to see what scripts were using OP_DEPTH and
> OP_CODESEPARATOR, as the latter appears to be useless to my eyes.
>
> Could you give some tx ids which use unusual opcodes?

The OP_DEPTH are all screwups in P2Pool blocks.

( the software was making tiny payments to scriptpubkey 'script' due to a bug, and it went unnoticed for a long time because it was assumed that it was just some p2sh user intentionally being stupid )