Skip to main content

Descritor de Script de Saída | Bitcoin Glossary | Mapping Bitcoin

Descritor de Script de Saída

Desenvolvimento

Also known as: descriptor, script descriptor

Linguagem padronizada para descrever scripts e chaves de saídas Bitcoin, facilitando importação e exportação de configurações de carteira entre softwares.

Visão Geral

Os Descritores de Script de Saída são uma notação compacta e legível por humanos para descrever exatamente quais scripts uma carteira pode assinar e como as chaves são derivadas. Introduzidos principalmente através do trabalho no Bitcoin Core, os descritores substituem a abordagem antiga de "despejar todas as chaves" para backup e portabilidade de carteiras por uma linguagem precisa e componível.

Como os Descritores Funcionam

Uma string de descritor codifica três informações-chave: o modelo de script, as informações de origem da chave e um checksum para detecção de erros.

Estrutura do Descritor:
┌─────────────────────────────────────────────────┐
│  wpkh([d34db33f/84h/0h/0h]xpub.../0/*)#checksum │
│  ─┬──  ──────┬──────────── ──┬─── ─┬─  ──┬────  │
│   │          │               │     │     │       │
│ tipo de    origem da       xpub  caminho checksum │
│ script     chave                                  │
│            (impressão +                          │
│             derivação)                           │
└─────────────────────────────────────────────────┘

As funções de descritor comuns incluem:

  • pk(CHAVE) — chave pública simples
  • pkh(CHAVE) — saída P2PKH
  • wpkh(CHAVE) — saída SegWit nativa P2WPKH
  • sh(wpkh(CHAVE)) — SegWit aninhado
  • tr(CHAVE) — saída Taproot P2TR
  • multi(k, CHAVE1, CHAVE2, ...) — multisig k-de-n
  • sortedmulti(k, CHAVE1, CHAVE2, ...) — multisig com chaves ordenadas

Por Que os Descritores Importam

Antes dos descritores, exportar uma carteira exigia despejar cada chave privada individual ou depender de strings xpub/xprv com suposições implícitas sobre caminhos de derivação. Isso criava problemas de compatibilidade entre diferentes softwares de carteira. Os descritores tornam a configuração da carteira totalmente explícita e portável, eliminando ambiguidade.

Relação com Miniscript

Os Descritores de Script de Saída e Miniscript são tecnologias complementares. Enquanto os descritores descrevem quais scripts uma carteira usa e como as chaves são derivadas, o Miniscript fornece uma maneira estruturada de expressar as condições de gasto dentro desses scripts. Juntos, eles permitem que as carteiras raciocinem sobre políticas complexas de Bitcoin Script de forma segura e componível.

Conceito Errôneo Comum

Os descritores não são apenas para carteiras avançadas ou multisig. Mesmo uma carteira simples de chave única se beneficia dos descritores porque eles registram inequivocamente o tipo de endereço e o caminho de derivação, prevenindo o problema comum de importar uma semente em software diferente e ver endereços diferentes.