BIP 141 определяет vsize = ceil(weight / 4). Это взвешенный размер, не всегда физический байт; некоторые правила Bitcoin Core дополнительно учитывают стоимость операций подписи.
Пусть B — размер без witness, а T — полный сериализованный размер. Вес W = 3 × B + T измеряется в WU, виртуальный размер — в vB. [BIP 141 — Segregated Witness] [Bitcoin Developer Reference — Transactions]
Базовый байт даёт 4 WU; данные сериализации witness, включая marker и flag, дают 1 WU на байт. Скидка не означает пропуска их проверки. [BIP 141 — Segregated Witness] [BIP 144 — SegWit peer services]
Вверх округляется сумма для всей транзакции: 401 WU даёт 101 vB. Сложение отдельно округлённых оценок входов может дать другой результат. [BIP 141 — Segregated Witness] [Bitcoin Core — decoderawtransaction RPC]
Без witness выполняется B = T, поэтому W = 4 × T, а базовый vsize равен числу байтов. SegWit не делит все передаваемые байты на четыре. [BIP 141 — Segregated Witness]
Иллюстративные B = 100 и T = 208 дают W = 508 WU и vsize = 127 vB. Полная сериализация всё равно требует передачи всех 208 байтов. [BIP 141 — Segregated Witness] [Bitcoin Core — decoderawtransaction RPC]
Комиссия — сумма входов минус сумма выходов. При 127 vB и 2 sat/vB она составляет 254 sat; это не непосредственно процент переводимой суммы. [Bitcoin Core — policy fees] [Bitcoin Developer Reference — Transactions]
До завершения кошелёк оценивает подписи, входы и возможный выход сдачи. Эффективную ставку определяют только фактическая комиссия и конечный размер. [Bitcoin Core — policy fees] [Bitcoin Core — decoderawtransaction RPC]
Bitcoin Core v29.0 также использует скорректированный размер ceil(max(W, sigop_cost × bytes_per_sigop) / 4). Множество операций подписи может его увеличить; это не меняет базовую формулу BIP 141 или консенсусный вес. [Bitcoin Core — transaction policy]
Оценка пакета может сравнивать сумму комиссий с суммой соответствующих виртуальных размеров. Это не простое среднее отдельных ставок и не гарантия принятия или подтверждения. [Bitcoin Core — policy fees] [Bitcoin Core — transaction policy]
CompactSize кодирует целые числа переменной длиной в сериализации. Vbyte — единица измерения; похожие названия не означают одинаковый формат или сокращённый файл. [BIP 144 — SegWit peer services] [Bitcoin Developer Reference — Transactions]
Для полной картины прочитайте эту статью вместе с Block weight, Compact block relay, Block propagation, Initial block download. На эту статью также ссылаются Block weight.