Os primeiros caracteres de um endereço de Bitcoin indicam o tipo: 1 é Legacy, 3 é um endereço de script (Nested SegWit em uma carteira de uma chave só), bc1q é Native SegWit e bc1p é Taproot. Um caminho de derivação é a rota que uma carteira segue das palavras de recuperação até esses endereços. Um aplicativo que segue outra rota encontra outro conjunto de endereços, geralmente vazios. Com essas duas ideias, você vai conseguir conferir um endereço antes de enviar fundos para ele, escolher o tipo que custa menos em taxas e lidar com o susto mais comum da autocustódia: restaurar as palavras e ver saldo zero. Geralmente, as moedas estão seguras na blockchain e a carteira está procurando no lugar errado.
Aqui partimos do que você viu na aula Como funcionam as frases-semente: como palavras viram chaves. Se chaves públicas e endereços são novidade para você, leia primeiro a aula Chaves, endereços e assinaturas em linguagem simples.
Quatro tipos de endereço em uma só rede
Um endereço é uma forma curta de escrever um script de bloqueio: a regra que diz o que é preciso para gastar as moedas enviadas para ele. O Bitcoin ganhou novos tipos de script de bloqueio ao longo dos anos, cada um com um formato de endereço próprio. Os quatro abaixo funcionam na mesma rede hoje, e você pode enviar de qualquer tipo para outro, desde que o programa usado para enviar conheça os formatos mais novos (mais abaixo).
| Começa com | Nome comum | Nome técnico | Em uso desde | Vale saber |
|---|---|---|---|---|
1 |
Legacy | P2PKH (pagamento para o hash da chave pública) | 2009 | O original. O mais caro para gastar |
3 |
Nested SegWit, em uma carteira de uma chave só | P2SH (pagamento para o hash do script). Aqui, P2SH-P2WPKH: SegWit dentro de um endereço de script | 2017 (endereços de script desde 2012) | Uma ponte para software antigo. Um endereço 3 também pode ser de uma carteira multisig, que precisa de várias chaves para gastar |
bc1q |
Native SegWit | P2WPKH (42 caracteres), P2WSH, geralmente multisig (62 caracteres) | Agosto de 2017 | Uma opção padrão comum hoje |
bc1p |
Taproot | P2TR (pagamento para Taproot) | Novembro de 2021 | Sempre 62 caracteres. O mais barato para gastar |
O SegWit (Segregated Witness) moveu as assinaturas para uma parte separada da transação que conta com desconto, barateando o gasto. Foi ativado no bloco 481.824 em 24 de agosto de 2017. O Taproot, que acrescentou um esquema de assinatura mais novo (assinaturas Schnorr) e o formato bc1p, foi ativado no bloco 709.632 em 14 de novembro de 2021.
Um conjunto de palavras, quatro carteiras separadas
A frase de demonstração da aula sobre frases-semente, abandon abandon … abandon about, gera estes primeiros endereços de recebimento nos quatro caminhos padrão:
- Legacy (
m/44'/0'/0'/0/0):1LqBGSKuX5yYUonjxT5qGfpUsXKYYWeabA - Nested SegWit (
m/49'/0'/0'/0/0):37VucYSaXLCAsxYyAPfbSi9eh4iEcbShgf - Native SegWit (
m/84'/0'/0'/0/0):bc1qcr8te4kr609gcawutmrza0j4xv80jy8z306fyu - Taproot (
m/86'/0'/0'/0/0):bc1p5cyxnuxmeuwuvkwfem96lqzszd02n6xdcjrs20cac6yqjjwudpxqkedrcr
As mesmas doze palavras, quatro endereços sem relação entre si. Cada caminho leva a uma família própria de endereços, com saldo próprio, então um conjunto de palavras pode ter várias carteiras lado a lado. Um aplicativo que verifica só uma delas mostra apenas as moedas daquela carteira. Essas palavras são públicas, então qualquer pessoa pode gastar o que chegar a esses endereços: leia os endereços, nunca envie fundos para eles.
Como ler um endereço
Endereços que começam com bc1
Vamos separar bc1qcr8te4kr609gcawutmrza0j4xv80jy8z306fyu em partes:
bcsignifica a rede principal do Bitcoin.1é um separador.- O próximo caractere é a versão:
qrepresenta a versão 0 (SegWit), ep, a versão 1 (Taproot). Daí os nomes bc1q e bc1p. - A parte longa do meio são os dados: em uma carteira de uma chave só, são feitos a partir da sua chave pública.
- Os últimos seis caracteres são uma soma de verificação, uma checagem de erros integrada calculada a partir de tudo o que vem antes.
Depois do separador, esses endereços usam só dígitos e letras, nunca 1, b, i ou o: os caracteres foram escolhidos para evitar os parecidos. Normalmente, são escritos em minúsculas. Maiúsculas são permitidas, mas só no endereço inteiro: o padrão as recomenda dentro de códigos QR, onde ocupam menos espaço, e BC1QCR8TE… é o mesmo endereço. Misturar maiúsculas e minúsculas é inválido.
Endereços que começam com 1 ou 3
Usam uma codificação mais antiga chamada Base58, que mistura maiúsculas e minúsculas e deixa de fora os caracteres parecidos 0, O, I e l. Aqui as maiúsculas importam, então copie e cole em vez de digitar de novo. Uma soma de verificação também está escondida nesses endereços.
O que uma soma de verificação detecta e o que não detecta
Somas de verificação detectam erros de digitação. Em um endereço bc1, há garantia de detectar até quatro caracteres errados. Em um endereço 1 ou 3, um erro aleatório passa despercebido só cerca de uma vez em quatro bilhões de tentativas.
Mas uma soma de verificação não diz se um endereço é o certo. Malware que troca um endereço copiado e golpistas que colocam endereços parecidos no histórico de transações (envenenamento de endereços) usam endereços perfeitamente válidos. A proteção é comparar o endereço inteiro, de preferência na tela da própria carteira de hardware, como na aula Como configurar uma carteira de hardware. A aula Os golpes que esvaziam carteiras de autocustódia trata desses ataques.
Sequências que parecem endereços, mas não são
lnbc…é uma fatura Lightning, elno…, uma oferta Lightning reutilizável: pague as duas com uma carteira Lightning.tb1…ou sequências Base58 que começam comm,nou2pertencem às redes de teste do Bitcoin, cujas moedas não têm valor no mundo real.0x…pertence a outra blockchain. Endereços de Bitcoin começam com 1, 3 ou bc1. Na aula Seu primeiro saque, você vai ver por que isso importa quando uma corretora oferece “BTC” em outras redes.xpub…,ypub…,zpub…são chaves públicas estendidas, explicadas abaixo. Revelam todos os endereços de uma carteira, então ficam fora dos formulários de saque.
Qual tipo de endereço usar hoje?
Taxas por tipo
As taxas são cobradas pelo tamanho da transação em bytes virtuais (vB), a uma taxa em sat/vB que sobe e desce com a demanda. Cada moeda que você gasta é uma entrada. Cada pagamento ou quantia de troco que cria é uma saída. Esses tamanhos vêm da calculadora de tamanho de transações do Bitcoin Optech, com a linha Nested SegWit calculada pelo mesmo método:
| Tipo | Gastar uma moeda (entrada) | Um pagamento ou troco (saída) | Uma moeda entra, duas saem, todas desse tipo |
|---|---|---|---|
Legacy (1) |
148 vB | 34 vB | 226 vB |
Nested SegWit (3) |
91 vB | 32 vB | Cerca de 166 vB |
Native SegWit (bc1q) |
68 vB | 31 vB | Cerca de 141 vB |
Taproot (bc1p) |
57,5 vB | 43 vB | 154 vB |
Com uma taxa de exemplo de 10 sat/vB, esse pagamento típico custa 2.260 sats em Legacy e cerca de 1.410 sats em Native SegWit: quase 40% menos.
Entre Native SegWit e Taproot, a diferença é menor. Quem paga para você cobre a saída que cria sua moeda. Você cobre a entrada quando depois gasta a moeda. Comparado com um endereço bc1q, um Taproot custa 12 vB a mais para quem envia e economiza 10,5 vB por moeda que você gasta, então, ao longo da vida de uma moeda, os dois ficam quase empatados. Taproot leva vantagem quando você gasta várias moedas de uma vez: juntar dez moedas em uma saída exige cerca de 722 vB em Native SegWit e cerca de 629 vB em Taproot.
A recomendação
- Para receber, Native SegWit (bc1q) é a escolha segura na dúvida. É o padrão desde 2017, tem amplo suporte e gera o menor pagamento do dia a dia. O Sparrow a usa por padrão, assim como as carteiras novas do próprio Electrum.
- Taproot (bc1p) é uma boa escolha quando toda a sua configuração aceita o formato: o aplicativo da carteira, a carteira de hardware e os serviços que pagam para você. Além de entradas mais baratas, Taproot foi projetado para que mais tipos de carteira pareçam iguais na blockchain, o que ajuda a privacidade.
- Guarde as moedas Legacy e Nested SegWit que já tem e pare de criar endereços novos desses tipos. Moedas em endereços 1 e 3 estão seguras e podem ser gastas, sem pressa para movê-las. Se for movê-las, espere taxas baixas e leia primeiro a aula Gestão de UTXO e controle de moedas, porque juntar moedas em uma transação as liga publicamente.
Quando um formulário recusa seu endereço bc1p. Endereços Taproot usam uma soma de verificação atualizada chamada bech32m. Os bc1q mantêm a antiga, bech32. Software que só conhece bech32 vê um endereço bc1p como inválido e o recusa. Os autores do padrão escolheram isso de propósito, para que o software antigo pare em vez de perder moedas. Se uma corretora recusar um endereço bc1p copiado da carteira, primeiro confira se o menu de rede diz Bitcoin (leia a aula Seu primeiro saque). Se disser, o endereço está certo: dê a esse serviço um endereço bc1q de uma carteira Native SegWit criada com as mesmas palavras.
Caminhos de derivação: das palavras aos endereços
Suas palavras produzem uma chave mestra, e cada chave da carteira é calculada a partir dela ao longo de um caminho de derivação. Leia m/84'/0'/0'/0/7 assim: a família Native SegWit (84), Bitcoin (0), a primeira conta (0), o ramo de recebimento (0), o oitavo endereço (7, contando de 0). Uma conta é um conjunto separado de endereços sob as mesmas palavras. Carteiras começam pela conta 0. A aula O que é uma carteira de Bitcoin? explica os níveis. Aqui está como cada caminho padrão se relaciona com um tipo de endereço:
| Padrão | Caminho da conta | Tipo de endereço | Chave da conta geralmente mostrada como |
|---|---|---|---|
| BIP44 | m/44'/0'/0' |
Legacy (1) |
xpub |
| BIP49 | m/49'/0'/0' |
Nested SegWit (3) |
ypub |
| BIP84 | m/84'/0'/0' |
Native SegWit (bc1q) |
zpub |
| BIP86 | m/86'/0'/0' |
Taproot (bc1p) |
xpub |
Carteiras multisig geralmente seguem um padrão separado, BIP48, tratado na aula Como funcionam as carteiras multisig. O apóstrofo marca um passo reforçado, uma barreira na árvore: uma chave vazada de uma conta não pode ser usada para calcular as chaves de outra conta ou a chave mestra. Os dois últimos passos não são reforçados, o que permite que a chave pública de uma conta calcule todos os endereços dela.
Caminho e tipo de endereço precisam coincidir
Algumas carteiras pedem o caminho e o tipo de endereço separadamente, e os dois precisam corresponder à carteira que recebeu suas moedas. A chave em m/84'/0'/0'/0/0 da frase de demonstração gera bc1qcr8te…306fyu como Native SegWit. Mostrada como endereço Legacy, a mesma chave gera 1JaUQDVNRdhfNsVncGkXedaPSM5Gc54Hso: um endereço diferente e vazio.
xpub, ypub, zpub e descritores de saída
Uma chave pública estendida é a chave pública de uma conta mais os dados extras necessários para calcular todos os endereços dela, mas nenhuma das chaves de gasto. Os rótulos xpub, ypub e zpub são prefixos diferentes no mesmo tipo de chave: para a frase de demonstração, zpub6rFR7y4Q…AGutZYs e xpub6CatWdiZ…rjPC7PW6V são a mesma chave de conta com dois rótulos. O rótulo sugere o tipo de endereço, mas só sugere: Taproot não tem rótulo próprio e reutiliza xpub, e descritores de saída (a seguir) sempre escrevem xpub, então uma xpub sozinha não distingue Legacy de Taproot.
Um descritor de saída elimina as dúvidas: uma linha que informa o tipo de endereço, a impressão digital da chave mestra, o caminho e a chave estendida. De forma abreviada, os endereços de recebimento Taproot da frase de demonstração são:
tr([73c5da0a/86h/0h/0h]xpub6BgBgses…MMj92pReUsQ/0/*)
Aqui tr significa Taproot (Native SegWit seria wpkh). 73c5da0a é a impressão digital mestra, um identificador curto da chave mestra e, portanto, das palavras mais qualquer passphrase. 86h/0h/0h é o caminho com h no lugar do apóstrofo. /0/* significa todos os endereços no ramo de recebimento. Um descritor não pode gastar, mas revela todos os seus endereços e histórico, então guarde-o em sigilo. Para uma carteira de uma chave só, é uma nota opcional que evita dúvidas depois. Para multisig, é essencial, como mostra a aula Como funcionam as carteiras multisig.
Limites de endereços sem uso e contas: por que uma restauração pode parar cedo demais
Na restauração, a carteira confere os endereços um a um e para após uma sequência de endereços sem uso, chamada gap limit. O padrão BIP44 fixa o limite em 20, e Sparrow e Electrum usam 20 para endereços de recebimento. Se você já passou muitos endereços que nunca receberam pagamentos, por exemplo em faturas, e um posterior recebeu, a busca pode parar antes de chegar até ele. Aumente o limite e as moedas aparecem: no Sparrow, abra a aba Settings da carteira, clique em Advanced, aumente o gap limit e clique em Close e Apply. No Electrum, ative a aba Console pelo menu View e digite wallet.change_gap_limit(100). Um limite maior só deixa a busca mais lenta.
As contas funcionam do mesmo jeito um nível acima. Se usou uma segunda conta (conta 1) na carteira antiga, uma carteira que verifica só a conta 0 não vai mostrá-la. A busca BIP44 até para na primeira conta sem transações. Acrescente a conta manualmente.
Parte do saldo também fica em endereços de troco, o segundo ramo, que você talvez nunca tenha visto. Por isso, o endereço de que você se lembra pode parecer vazio enquanto o total da carteira está certo (mais no guia Por que meu endereço de Bitcoin muda sempre?).
Sua restauração mostra zero: uma lista para conferir com calma
Deixe as palavras onde estão: palavras que protegem economias só entram na carteira de hardware, e ninguém que oferece “ajuda para recuperar” em um chat ou e-mail precisa delas. Depois, confira isto em ordem:
- Confira se a carteira está conectada e terminou de sincronizar. Uma carteira que não alcança o servidor também mostra zero.
- Confira as palavras e o tipo de frase. Compare cada palavra e o número dela com o backup: uma palavra errada ou trocada de lugar geralmente falha na soma de verificação, mas nem sempre. Um backup Trezor de 20 palavras, uma semente Electrum ou as palavras de uma carteira Lightning talvez não permitam restaurar essa carteira (próxima seção).
- Confira a passphrase, se acrescentou uma às palavras. A falta dela ou um erro, até nas maiúsculas e nos espaços, abre uma carteira válida, mas diferente, sem mensagem de erro. Se anotou a impressão digital mestra, compare-a: uma impressão diferente significa palavras ou passphrase diferentes.
- Encontre o tipo de endereço. Procure um endereço no qual recebeu fundos, por exemplo no histórico de saques da corretora. Os primeiros caracteres dizem o tipo:
3significa Nested SegWit,bc1psignifica Taproot. - Confira o caminho e a conta. Use o caminho padrão daquele tipo, acrescente a conta 1 se a usou e procure os caminhos específicos da carteira no Wallets Recovery.
- Aumente o gap limit.
Teste tipos de endereço sem expor as palavras. Com uma carteira de hardware, conecte-a ao Sparrow ou Electrum e crie uma carteira a partir do aparelho para cada tipo de endereço que quer testar: o aparelho só passa chaves públicas estendidas. O Sparrow (versão 2.4 ou posterior) pode buscar para você: escolha File → Import Wallet, clique em Scan for Connected Devices, abra o menu ao lado de Import Keystore e escolha Discover Wallet. Ele procura transações anteriores em todos os tipos de endereço compatíveis com o aparelho e em quantas contas você pedir. Precisa de um servidor Electrum, o tipo de servidor que responde às perguntas das carteiras sobre os endereços delas (público ou seu), então não funciona quando o Sparrow se conecta diretamente ao Bitcoin Core. Cada consulta diz para esse servidor, ou para qualquer explorador de blocos (um site que mostra o que está na blockchain) que você consultar, quais endereços interessam a você. Por isso, quando puder, use seu próprio nó: um computador com software de Bitcoin e uma cópia própria da blockchain (a aula Privacidade na rede: Tor, VPNs e seu próprio nó).
Que tipo de frase de recuperação você tem?
Na aula Como funcionam as frases-semente, você conheceu as frases de recuperação que não são BIP39. Esta tabela as reúne com mais algumas para você saber o que tem antes de restaurar a carteira.
| O que você tem | Como reconhecer | Onde permite restaurar |
|---|---|---|
| Semente BIP39 | 12, 15, 18, 21 ou 24 palavras da lista padrão de 2.048 palavras | Qualquer carteira BIP39, com o tipo de endereço, o caminho e a passphrase certos |
| Backup SLIP-39 (padrão da Trezor desde junho de 2024) | 20 ou 33 palavras por parte, de outra lista com 1.024 palavras. Um backup de várias partes tem vários conjuntos | Aparelhos Trezor e carteiras compatíveis com SLIP-39, como Sparrow e Electrum. Não pode ser convertido em palavras BIP39 |
| Semente Electrum | Geralmente 12 palavras da mesma lista de 2.048 palavras, então parece exatamente BIP39 (sementes anteriores ao Electrum 2.0 usam a lista própria de 1.626 palavras do Electrum) | Electrum, digitada como semente Electrum. Carteiras BIP39 geralmente a recusam como inválida |
| Semente de nó LND (aezeed) | 24 palavras da lista BIP39, em um formato próprio | Software de nó Lightning baseado em LND |
| Autocustódia da Wallet of Satoshi | 12 palavras que são uma frase de recuperação Spark | Carteiras compatíveis com recuperação Spark, não carteiras de hardware ou BIP39 |
| Parte do Coldcard Seed XOR | Uma frase BIP39 de 12 ou 24 palavras com aparência normal | Sozinha, uma carteira diferente. Todas as partes juntas reconstroem a semente real |
| Uma chave de uma carteira multisig | Geralmente uma frase BIP39 normal | Restaura aquela única chave. Você também precisa das outras chaves ou do descritor |
O Electrum usa a lista de palavras BIP39, mas a própria soma de verificação e a própria forma de transformar palavras em chaves, então até uma carteira que aceitasse as palavras calcularia chaves diferentes. O Electrum atual evita criar sementes que passem na verificação BIP39, mas versões antigas nem sempre faziam isso, então uma semente Electrum antiga pode ocasionalmente abrir uma carteira BIP39 vazia. Para Lightning, as palavras são só parte da história: os saldos dos canais também dependem dos backups dos canais, como explica a aula Backups Lightning e torres de vigilância.
Sementes Electrum, sementes LND e frases Spark só permitem restaurar em software, o que põe as palavras em um computador ou celular conectado à internet. Use um em que confia e passe qualquer economia para uma carteira cujas palavras foram criadas pela carteira de hardware.
O hábito que evita tudo isso: junto das palavras, anote qual carteira as criou, qual padrão usam, o tipo de endereço, a conta e a impressão digital mestra. Não coloque a passphrase nessa nota. Guarde-a em um lugar separado.
Confira o que você aprendeu
1. O formulário de saque de uma corretora diz que seu endereço começando com bc1p é inválido. O endereço está errado e o que fazer?
Resposta
Primeiro confira se o menu de rede do saque diz Bitcoin. Se disser, o endereço provavelmente está certo e o software da corretora não aceita bech32m, a soma de verificação dos endereços Taproot. O software antigo os recusa de propósito, para parar em vez de perder moedas. Dê para a corretora um endereço bc1q de uma carteira Native SegWit criada com as mesmas palavras, compare o endereço inteiro depois de colá-lo e envie uma quantia pequena de teste primeiro.
2. Você restaura suas 24 palavras em uma carteira de hardware nova, conecta a carteira a uma de computador e o saldo mostra zero. O histórico da corretora mostra que você sempre sacou para endereços começando com 3. Qual é a causa provável e como corrigir com segurança?
Resposta
A carteira de computador provavelmente está olhando endereços Native SegWit (bc1q), enquanto suas moedas estão em Nested SegWit (m/49'/0'/0'). Crie a carteira a partir do aparelho de novo com o tipo de endereço Nested SegWit ou deixe o Discover Wallet do Sparrow buscar todos os tipos para você. Se continuar vazia, confira a passphrase, qualquer segunda conta e o gap limit. As palavras ficam na carteira de hardware: nunca em outros aplicativos e nunca com alguém oferecendo ajuda.
3. Você encontra uma frase antiga de 12 palavras do Electrum e uma carteira BIP39 diz que as palavras são inválidas. A frase está danificada?
Resposta
Provavelmente não. O Electrum cria sementes no formato próprio, geralmente com a mesma lista de palavras BIP39, mas uma soma de verificação diferente e outra forma de criar chaves, então carteiras BIP39 geralmente as recusam. Restaure a carteira no Electrum e deixe o tipo de semente em Electrum, o padrão, em vez de BIP39. Ao digitar, o Electrum indica o tipo que reconhece, como segwit. Faça isso em um computador em que confia e, se a carteira tiver economias, envie os fundos para um endereço da carteira de hardware, conferido na tela dela.
