Since segwit was activated at block 494,784, the limiting resource on block space is 'weight', which is defined in BIP 141 as:
Block weight is defined as Base size * 3 + Total size. (rationale[3])
Base size is the block size in bytes with the original transaction serialization without any witness-related data, as seen by a non-upgraded node.
Total size is the block size in bytes with transactions serialized as described in BIP144, including base data and witness data.
For fee market analysis, the relevant metric is transaction weight (Base transaction size * 3 + Total transaction size), which can be normalized to virtual size (Transaction weight / 4). This is because miners will order transactions by fee/virtual byte to maximize the fee yield from a block.
For transactions without any segwit inputs, virtual size is the same as size.
BlockSci should therefore store the tx virtual size instead of tx size. Virtual size is exposed in the getrawtransaction and getblock (with verbosity=2) RPC methods as vsize.
Since segwit was activated at block 494,784, the limiting resource on block space is 'weight', which is defined in BIP 141 as:
For fee market analysis, the relevant metric is transaction weight (Base transaction size * 3 + Total transaction size), which can be normalized to virtual size (Transaction weight / 4). This is because miners will order transactions by fee/virtual byte to maximize the fee yield from a block.
For transactions without any segwit inputs, virtual size is the same as size.
BlockSci should therefore store the tx virtual size instead of tx size. Virtual size is exposed in the
getrawtransactionandgetblock(with verbosity=2) RPC methods asvsize.