126 / 691WU

Block weight

O peso de bloco do BIP 141 limita um bloco válido a 4 000 000 WU. Não é a quantidade de bytes físicos nem a quantidade de Proof of Work.

Para o tamanho B sem witness e o tamanho completo T, W = 3 × B + T. O cálculo cobre todo o bloco serializado, incluindo cabeçalho e coinbase.

B é o tamanho da serialização original sem witness e T o tamanho completo. W = 3 × B + T combina ambos os valores e resulta em WU, não bytes. [BIP 141 — Segregated Witness] [BIP 144 — SegWit peer services]

Um byte base custa 4 WU. Um byte acrescentado pela serialização witness custa 1 WU, incluindo marker, flag e outros itens serializados dessa parte. [BIP 141 — Segregated Witness] [BIP 144 — SegWit peer services]

BIP 141 exige W ≤ 4 000 000 WU. A igualdade é permitida; tarifas maiores, mais Proof of Work ou aprovação do minerador não justificam ultrapassar o limite. [BIP 141 — Segregated Witness] [Bitcoin Core v29.0 — consensus limits] [Bitcoin Core v29.0 — validation]

Os valores ilustrativos B = 500 000 e T = 2 500 000 dão W = 4 000 000 WU. B = 750 000 e T = 1 750 000 dão o mesmo peso; um bloco cheio não tem tamanho fixo de 4 MB. [BIP 141 — Segregated Witness]

Um bloco inclui cabeçalho de 80 bytes, quantidade codificada de transações e coinbase. Cabeçalho e contador são dados base; somar apenas pesos das outras transações não basta. [Bitcoin Developer Reference — Block chain]

O vsize arredonda W / 4 para cima para cada transação inteira. Somar esses tamanhos arredondados também omite parte da sobrecarga do bloco e não calcula exatamente o peso de consenso. [BIP 141 — Segregated Witness] [Bitcoin Developer Reference — Block chain]

Um Full Node ainda verifica assinaturas e scripts pertinentes. Witness consome transmissão e computação; peso menor não significa custo zero nem verificação opcional. [BIP 141 — Segregated Witness] [Bitcoin Core v29.0 — validation]

BIP 141 também limita custos de operações de assinatura a 80 000 unidades. Não é uma simples contagem de todas as assinaturas; as regras dependem do tipo de script e versões mais novas têm outros limites próprios. [BIP 141 — Segregated Witness] [Bitcoin Core v29.0 — consensus limits]

Um minerador pode escolher peso alvo menor por motivos operacionais. Seu modelo ou a política local de um nó não mudam o máximo de consenso nem garantem incluir uma transação específica. [Bitcoin Core v29.0 — consensus limits] [Bitcoin Core v29.0 — validation]

getblock no Bitcoin Core v29.0 retorna size, strippedsize e weight. chainwork é diferente: refere-se ao trabalho acumulado da cadeia, não ao peso em bytes de seus blocos. [Bitcoin Developer Reference — Block chain] [Bitcoin Core — getblock RPC]

Para ter uma visão mais completa, leia este verbete junto com Virtual byte (vbyte), Witness data, SegWit, Guerra do tamanho dos blocos. Também há referências a este verbete em Virtual byte (vbyte), Witness data.

DOC · 001BIP 141 — Segregated WitnessEspecificação ↗DOC · 002BIP 144 — SegWit peer servicesEspecificação ↗DOC · 003Bitcoin Core v29.0 — consensus limitsDocumentação ↗DOC · 004Bitcoin Core v29.0 — validationDocumentação ↗DOC · 005Bitcoin Developer Reference — Block chainDocumentação ↗DOC · 006Bitcoin Core — getblock RPCDocumentação ↗
Fontes em primeiro lugar · Não é recomendação de investimento