op return – What are the imply, median, vary, limits and developments within the dimension of coinbase transactions?

0
154
op return – What are the imply, median, vary, limits and developments within the dimension of coinbase transactions?


A. Is there a restrict within the general dimension of the coinbase tx?

I assumed the restrict for coinbase was the identical as the overall restrict for transactions.

What’s the most dimension of a transaction?

However as Murch famous:

coinbase transactions aren’t topic to mempool insurance policies and standardness guidelines, as a result of they aren’t relayed on the community outdoors of the context of being included in blocks. Subsequently, they’re solely restricted by the blockweight restrict as an alternative of the load restrict of 400,000 wu for normal transactions.

n.b. What number of weight models does an enter use?


B. Is there a restrict to the variety of OP_RETURN statements within the coinbase transaction?

As far as I do know, you’ll be able to solely have one OP_RETURN in anybody Bitcoin script, any following information just isn’t parsed.

Like all transaction, a Coinbase transaction can have many outputs, though just one enter. So it might have quite a few OP_RETURNs.

As Pieter Wuille famous:

There will be a number of OP_RETURN opcodes inside a transaction output too. The standard standardness guidelines about OP_RETURN outputs require the opcode to be the primary script byte, however once more as a result of standardness guidelines do not apply to coinbase transactions, that does not matter.

It’s in all probability price saying that scripts in coinbase inputs ought to by no means get executed, though the primary opcode ought to push the block peak. Apart from that, their contents will be thought-about as arbitrary byte information which could comprise the worth 0x6A (OP_RETURN) a number of occasions.


C. What’s the imply, median, vary and common development within the dimension of coinbase transactions

You possibly can work this out in the event you acquire information utilizing a full node corresponding to Bitcoin core. See

You possibly can write your individual analytic device utilizing a blockchain parser. I wrote my very own parser library (unpublished) which may very well be used as follows

bundle foremost

import (
    bc "blockchain/blockchain"
    "fmt"
    "os"
    "time"
)

func foremost() {
    b, err := os.ReadFile(`blk02000.dat`)
    examine("Studying information", err)

    parser := bc.New(BlockHandler)
    err = parser.ParseBlocks(&b)
    examine("Parsing information", err)
}

// Extract size of coinbase transactions 
var i int = 1
func BlockHandler(b *bc.Block) {
    blockDate := time.Unix(int64(b.Header.TimeStamp), 0).Format("2006-01-02 15:04")
    coinbase :=  b.TransactionList[0]
    txBytes := coinbase.Measurement()
    fmt.Printf("Block %5d dated %s has coinbase of %5d Bytesn",
        i, blockDate, txBytes) 
    i++
}

// Rudimentary comfort perform for error dealing with
func examine(the place string, err error) {
    if err != nil {
        fmt.Println(the place, err)
        os.Exit(1)
    }
}

outcomes

Block     1 dated 2020-03-14 06:24 has coinbase of   300 Bytes
Block     2 dated 2020-03-14 14:20 has coinbase of   300 Bytes
Block     3 dated 2020-03-14 08:42 has coinbase of   246 Bytes
Block     4 dated 2020-03-13 23:08 has coinbase of   300 Bytes
Block     5 dated 2020-03-14 04:19 has coinbase of   306 Bytes
Block     6 dated 2020-03-14 15:47 has coinbase of   295 Bytes
Block     7 dated 2020-03-13 14:39 has coinbase of   216 Bytes
Block     8 dated 2020-03-14 13:04 has coinbase of   362 Bytes
Block     9 dated 2020-03-14 09:31 has coinbase of   308 Bytes
Block    10 dated 2020-03-14 10:16 has coinbase of   306 Bytes
Block    11 dated 2020-03-14 15:39 has coinbase of   346 Bytes
Block    12 dated 2020-03-14 08:05 has coinbase of   377 Bytes
Block    13 dated 2020-03-14 13:48 has coinbase of   362 Bytes
Block    14 dated 2020-03-14 17:15 has coinbase of   299 Bytes
Block    15 dated 2020-03-14 06:18 has coinbase of   342 Bytes
Block    16 dated 2020-03-14 11:37 has coinbase of   377 Bytes
Block    17 dated 2020-03-14 12:35 has coinbase of   377 Bytes
Block    18 dated 2020-03-14 17:32 has coinbase of   377 Bytes
Block    19 dated 2020-03-14 13:22 has coinbase of   316 Bytes
Block    20 dated 2020-03-14 18:37 has coinbase of   291 Bytes
Block    21 dated 2020-03-14 15:10 has coinbase of   377 Bytes
Block    22 dated 2020-03-14 09:35 has coinbase of   362 Bytes
Block    23 dated 2020-03-14 12:58 has coinbase of   295 Bytes
Block    24 dated 2020-03-14 06:37 has coinbase of   317 Bytes
Block    25 dated 2020-03-14 18:46 has coinbase of   299 Bytes
Block    26 dated 2020-03-13 23:12 has coinbase of   298 Bytes
Block    27 dated 2020-03-14 16:27 has coinbase of   362 Bytes
Block    28 dated 2020-03-14 16:53 has coinbase of   377 Bytes
Block    29 dated 2020-03-14 19:04 has coinbase of   217 Bytes
Block    30 dated 2020-03-14 07:26 has coinbase of   342 Bytes
Block    31 dated 2020-03-14 13:42 has coinbase of   289 Bytes
Block    32 dated 2020-03-14 20:10 has coinbase of   295 Bytes
Block    33 dated 2020-03-14 12:32 has coinbase of   295 Bytes
Block    34 dated 2020-03-13 08:50 has coinbase of   342 Bytes
Block    35 dated 2020-03-14 18:07 has coinbase of   308 Bytes
Block    36 dated 2020-03-14 16:59 has coinbase of   263 Bytes
Block    37 dated 2020-03-14 21:43 has coinbase of   296 Bytes
Block    38 dated 2020-03-14 20:27 has coinbase of   377 Bytes
Block    39 dated 2020-03-14 18:33 has coinbase of   289 Bytes
Block    40 dated 2020-03-14 18:15 has coinbase of   290 Bytes
Block    41 dated 2020-03-14 23:05 has coinbase of   362 Bytes
Block    42 dated 2020-03-13 16:19 has coinbase of   377 Bytes
Block    43 dated 2020-03-14 13:48 has coinbase of   263 Bytes
Block    44 dated 2020-03-14 09:30 has coinbase of   308 Bytes
Block    45 dated 2020-03-14 20:07 has coinbase of   316 Bytes
Block    46 dated 2020-03-15 01:10 has coinbase of   289 Bytes
Block    47 dated 2020-03-14 19:19 has coinbase of   362 Bytes
Block    48 dated 2020-03-14 19:51 has coinbase of   300 Bytes
Block    49 dated 2020-03-14 22:40 has coinbase of   377 Bytes
Block    50 dated 2020-03-15 02:16 has coinbase of   296 Bytes
Block    51 dated 2020-03-14 21:43 has coinbase of   217 Bytes
Block    52 dated 2020-03-14 15:43 has coinbase of   308 Bytes
Block    53 dated 2020-03-14 22:42 has coinbase of   306 Bytes
Block    54 dated 2020-03-14 20:45 has coinbase of   306 Bytes
Block    55 dated 2020-03-14 12:13 has coinbase of   296 Bytes
Block    56 dated 2020-03-15 04:06 has coinbase of   342 Bytes
Block    57 dated 2020-03-15 01:09 has coinbase of   285 Bytes
Block    58 dated 2020-03-15 05:13 has coinbase of   299 Bytes
Block    59 dated 2020-03-15 00:31 has coinbase of   289 Bytes
Block    60 dated 2020-03-14 17:39 has coinbase of   308 Bytes
Block    61 dated 2020-03-15 01:12 has coinbase of   290 Bytes
Block    62 dated 2020-03-14 22:31 has coinbase of   299 Bytes
Block    63 dated 2020-03-15 08:39 has coinbase of   362 Bytes
Block    64 dated 2020-03-14 13:30 has coinbase of   295 Bytes
Block    65 dated 2020-03-15 01:45 has coinbase of   377 Bytes
Block    66 dated 2020-03-15 02:08 has coinbase of   311 Bytes
Block    67 dated 2020-03-15 03:10 has coinbase of   377 Bytes
Block    68 dated 2020-03-14 19:02 has coinbase of   290 Bytes
Block    69 dated 2020-03-15 01:31 has coinbase of   377 Bytes
Block    70 dated 2020-03-15 03:41 has coinbase of   377 Bytes
Block    71 dated 2020-03-15 09:34 has coinbase of   342 Bytes
Block    72 dated 2020-03-15 03:25 has coinbase of   285 Bytes
Block    73 dated 2020-03-14 16:20 has coinbase of   261 Bytes
Block    74 dated 2020-03-14 21:04 has coinbase of   298 Bytes
Block    75 dated 2020-03-15 04:01 has coinbase of   362 Bytes
Block    76 dated 2020-03-15 05:09 has coinbase of   377 Bytes
Block    77 dated 2020-03-15 04:32 has coinbase of   296 Bytes
Block    78 dated 2020-03-15 05:59 has coinbase of   289 Bytes
Block    79 dated 2020-03-15 03:24 has coinbase of   362 Bytes
Block    80 dated 2020-03-15 05:22 has coinbase of   377 Bytes
Block    81 dated 2020-03-14 18:40 has coinbase of   313 Bytes
Block    82 dated 2020-03-13 17:48 has coinbase of   298 Bytes
Block    83 dated 2020-03-15 10:38 has coinbase of   316 Bytes
Block    84 dated 2020-03-15 06:46 has coinbase of   362 Bytes
Block    85 dated 2020-03-15 06:28 has coinbase of   342 Bytes
Block    86 dated 2020-03-13 10:28 has coinbase of   306 Bytes
Block    87 dated 2020-03-15 06:41 has coinbase of   362 Bytes
Block    88 dated 2020-03-14 23:00 has coinbase of   306 Bytes
Block    89 dated 2020-03-15 04:09 has coinbase of   339 Bytes
Block    90 dated 2020-03-14 21:11 has coinbase of   295 Bytes
Block    91 dated 2020-03-15 11:18 has coinbase of   266 Bytes
Block    92 dated 2020-03-15 09:37 has coinbase of   306 Bytes
Block    93 dated 2020-03-15 09:07 has coinbase of   296 Bytes
Block    94 dated 2020-03-15 11:51 has coinbase of   299 Bytes
Block    95 dated 2020-03-15 09:26 has coinbase of   306 Bytes
Block    96 dated 2020-03-15 02:03 has coinbase of   289 Bytes
Block    97 dated 2020-03-15 12:26 has coinbase of   263 Bytes
Block    98 dated 2020-03-14 23:34 has coinbase of   377 Bytes
Block    99 dated 2020-03-15 10:32 has coinbase of   342 Bytes
Block   100 dated 2020-03-15 11:35 has coinbase of   342 Bytes
Block   101 dated 2020-03-15 10:51 has coinbase of   291 Bytes
Block   102 dated 2020-03-15 10:18 has coinbase of   377 Bytes
Block   103 dated 2020-03-15 05:58 has coinbase of   299 Bytes
Block   104 dated 2020-03-15 11:57 has coinbase of   306 Bytes
Block   105 dated 2020-03-15 13:38 has coinbase of   377 Bytes
Block   106 dated 2020-03-15 03:58 has coinbase of   298 Bytes
Block   107 dated 2020-03-15 02:17 has coinbase of   306 Bytes
Block   108 dated 2020-03-15 05:25 has coinbase of   296 Bytes
Block   109 dated 2020-03-15 06:43 has coinbase of   299 Bytes
Block   110 dated 2020-03-15 10:41 has coinbase of   342 Bytes
Block   111 dated 2020-03-15 12:15 has coinbase of   300 Bytes
Block   112 dated 2020-03-15 11:54 has coinbase of   299 Bytes

Clearly its a small step from that to build up min, max, median values by 12 months. Or simply feed that information into another device.

LEAVE A REPLY

Please enter your comment!
Please enter your name here