Visão geral
O desconto de testemunha é um recurso chave do Segregated Witness (SegWit) que aplica um desconto de 75% aos dados de testemunha ao calcular o "peso" de uma transação para fins de taxa e tamanho de bloco. Dados que não são de testemunha contam 4 unidades de peso por byte, enquanto dados de testemunha contam 1 unidade de peso por byte. Isso cria um incentivo econômico para que as carteiras usem formatos de transação SegWit e aumenta efetivamente a capacidade de transações do bloco.
Cálculo de peso
Cálculo de unidades de peso:
Dados não de testemunha: 1 byte = 4 unidades de peso (UW)
Dados de testemunha: 1 byte = 1 unidade de peso (UW)
Limite de peso do bloco: 4.000.000 UW (4 MUW)
Exemplo de transação (250 bytes no total):
Dados não de testemunha: 150 bytes × 4 = 600 UW
Dados de testemunha: 100 bytes × 1 = 100 UW
Peso total: 700 UW
Transação legada equivalente (250 bytes no total):
Todos os dados: 250 bytes × 4 = 1.000 UW
A tx SegWit usa 30% menos peso de bloco para o mesmo tamanho em bytes!
Por que o desconto existe
O desconto de testemunha foi projetado para abordar vários objetivos simultaneamente:
-
Compatibilidade retroativa: Ao introduzir um sistema baseado em peso em vez de simplesmente aumentar o limite de tamanho de bloco, o SegWit manteve a compatibilidade retroativa como um soft fork. Nós não atualizados veem blocos dentro do antigo limite de tamanho serializado de 1 MB.
-
Proteção do conjunto UTXO: Criar saídas (que se tornam parte do conjunto UTXO armazenado por cada nó) custa mais peso do que fornecer dados de testemunha (que são necessários apenas durante a verificação). Isso alinha corretamente os custos com o ônus de longo prazo para a rede.
-
Adoção incentivada: Ao tornar as transações SegWit mais baratas em termos de taxa, os usuários e carteiras são economicamente motivados a adotar o novo formato.
Aumento efetivo do tamanho do bloco
O desconto de testemunha significa que um bloco cheio de transações SegWit pode conter mais dados de transações do que um bloco cheio de transações legadas:
- Blocos somente legados: Máximo ~1 MB de dados de transações
- Blocos SegWit: Máximo ~2-2,3 MB de dados reais (com uma mistura típica de tipos de transações)
- Máximo teórico: ~4 MB se um bloco consistisse inteiramente de dados de testemunha (irrealista, mas o limite superior matemático)
Impacto nas taxas
Os usuários que enviam de endereços SegWit (P2WPKH, P2WSH, P2TR) se beneficiam de taxas mais baixas porque suas transações consomem menos unidades de peso. A economia é mais significativa para transações com muitas entradas, pois os dados de assinatura (o maior componente dos dados de testemunha) escalam com o número de entradas.
Conceitos errôneos comuns
O desconto de testemunha não significa que os dados de testemunha são "gratuitos" ou sem importância. Eles ainda são transmitidos, armazenados e validados por todos os nós completos. O desconto é um mecanismo econômico que ajusta o custo relativo dos diferentes tipos de dados para melhor refletir seu impacto na rede.