Como usar uma carteira Bitcoin air-gapped e assinar transações offline
O air gap não é o que protege as suas moedas. O que protege é a verificação do PSBT nos dois lados, no aparelho offline e na máquina conectada. Trocar o cabo por um QR code só muda o canal, não elimina o ataque.
Uma carteira Bitcoin air-gapped é uma carteira cuja chave privada vive em um aparelho que nunca se conecta a nenhuma rede, nem por cabo, nem por bluetooth, nem por wi-fi. O termo air gap significa isolamento físico total, uma lacuna de ar entre o dispositivo que guarda a chave e qualquer coisa conectada à internet. A transação viaja entre os dois mundos por código QR ou cartão microSD, nunca por conexão elétrica direta.
A promessa parece definitiva. Sem cabo, sem vetor de ataque pela porta USB. O problema é que quase todo material em português para nessa frase, e é justamente aí que mora o erro mais caro da autocustódia avançada. O air gap não é o que protege as suas moedas. O que protege é a verificação da transação nos dois lados, no aparelho offline e na máquina conectada. Trocar o cabo por um QR code apenas muda o canal de transporte. Não elimina o ataque, e pior, cria uma falsa sensação de invulnerabilidade que faz o operador baixar a guarda no único momento em que ela importa.
Este guia é o nível avançado da escada de autocustódia, o degrau que vem depois de você já dominar a configuração de uma hardware wallet. Ele assume que você já tem um aparelho físico funcionando e quer eliminar o último fio que ainda o liga ao computador. Vamos ao mecanismo, ao passo a passo e, sobretudo, à verificação que separa o air gap seguro do air gap teatral.
O que é uma carteira air-gapped
Uma hardware wallet, a carteira de hardware, é o aparelho físico que guarda a sua chave privada e assina transações sem expô-la. A maioria dos modelos populares faz isso conectada por cabo ao computador ou por bluetooth ao celular. A chave nunca sai do aparelho, mas o aparelho toca, ainda que por um instante, uma máquina conectada à internet. Uma carteira air-gapped remove esse contato. O dispositivo que assina jamais é conectado a nada. A comunicação com o mundo online acontece por um intermediário que só carrega dados, nunca energia nem rede.
Os dois canais de transporte mais comuns em um arranjo air-gapped são estes.
- Código QR. A máquina conectada mostra na tela um QR code com a transação a assinar. O aparelho offline lê o código pela câmera, assina, e devolve outro QR code que a máquina lê de volta. Nenhum arquivo troca de mãos.
- Cartão microSD. A transação é gravada em um cartão de memória na máquina conectada, o cartão é levado fisicamente ao aparelho offline, que lê, assina e regrava o resultado no cartão. O cartão volta para a máquina que transmite.
Em ambos os casos, o objeto que atravessa a lacuna de ar não é a chave. É a transação. E o formato padronizado que torna essa viagem possível tem nome, é o PSBT.
O que realmente protege
O PSBT é a transação de Bitcoin parcialmente assinada, a partially signed bitcoin transaction. É um documento padronizado que carrega tudo sobre uma transação, de onde as moedas saem, para onde vão e quanto de taxa, exceto a assinatura. A máquina conectada monta esse documento incompleto e o entrega ao aparelho offline. O aparelho lê, confere, assina com a chave que nunca saiu dele, e devolve a versão assinada. Se você ainda não tem o conceito firme, vale a leitura de o que é um PSBT e como ele viabiliza a assinatura offline.
Aqui está o ponto que quase ninguém explica direito. O que dá segurança ao air gap não é o transporte por QR ou microSD. É o fato de o PSBT ser um contrato auditável nas duas pontas. A máquina online sabe o que pediu. O aparelho offline mostra na própria tela o que vai assinar. Quando os dois batem, e só quando batem, você autoriza. O air gap sem essa conferência é um cofre de porta blindada com a chave embaixo do tapete.
“O cabo nunca foi o problema principal. O problema é assinar um contrato sem ler o contrato. O air gap troca o canal do ataque. A verificação do PSBT é o que fecha a porta.”
Para entender por que o transporte por si só não protege, pense no que um software malicioso instalado na máquina conectada consegue fazer. Ele não precisa da sua chave. Basta ele adulterar a transação antes de ela virar QR code. Se você assinar sem conferir, assinou o desvio dele com a sua própria chave, de dentro do seu aparelho offline impecavelmente isolado. O isolamento não viu nada de errado, porque o problema não estava no fio. Estava no conteúdo.
O passo a passo do fluxo air-gapped
O fluxo tem duas metades. Uma carteira somente leitura na máquina conectada, que enxerga o seu saldo e monta transações mas não pode assinar nada, e o aparelho offline, que assina mas nunca vê a internet. O elo entre elas é a sua chave pública estendida, a xpub, que você exporta do aparelho para a máquina uma única vez na configuração.
- Configure o aparelho offline do zero, gerando a seed phrase nele mesmo e sem nunca conectá-lo à internet. Este é o pré-requisito e o cobrimos em detalhe no guia de configuração de hardware wallet.
- Exporte a xpub, a chave pública estendida, do aparelho offline por QR code ou microSD. A xpub permite ver e receber, jamais gastar. Ela pode transitar sem risco de perda de fundo.
- Importe a xpub em uma carteira somente leitura, a watch-only, na máquina conectada. Ela passa a exibir o saldo e a montar transações não assinadas, sem qualquer poder de assinatura.
- Para gastar, monte a transação na carteira somente leitura. Ela gera o PSBT, o documento incompleto, e o apresenta como QR code na tela ou o grava no cartão microSD.
- Leve o PSBT ao aparelho offline. Ele lê o documento, mostra na própria tela cada detalhe da transação e pede confirmação antes de assinar.
- Confira na tela do aparelho, não na do computador. Este é o passo que dá sentido a todo o resto, e ele tem seção própria abaixo.
- Se, e somente se, tudo bater, aprove no aparelho. Ele assina e devolve o PSBT completo por QR ou microSD.
- De volta à máquina conectada, transmita, ou difunda, a transação assinada para a rede. Quem tem nó próprio faz isso pela sua própria node, o que remove mais um intermediário.
A verificação que decide tudo
Quando o aparelho offline mostra a transação antes de assinar, ele exibe as saídas, os outputs, ou seja, para onde cada pedaço das suas moedas está indo. Existem sempre pelo menos dois tipos de saída em um gasto típico. A saída para o destinatário e a saída de troco, o change address, que devolve para você o que sobrou da moeda gasta. É nessa segunda saída que mora o ataque mais elegante contra um air gap mal operado.
No Bitcoin, você não gasta um valor exato de dentro de um saldo. Você gasta unidades inteiras chamadas UTXO e recebe o troco de volta em um novo endereço seu. Se um software malicioso na máquina conectada trocar o endereço de troco por um endereço dele, e você não conferir, o troco não volta para você. Vai para o atacante. E como troco costuma ser a maior parte do valor, o prejuízo pode ser quase o saldo inteiro.
Um exemplo numérico hipotético deixa o mecanismo nítido.
No cenário hipotético acima, você quer enviar 0,1 BTC a um destinatário, gastando um UTXO de 1,0 BTC. O correto é a transação ter duas saídas, 0,1 BTC para o destinatário e cerca de 0,9 BTC de troco voltando para um endereço seu, descontada a taxa de rede. Um software malicioso na máquina conectada não mexe nos 0,1 BTC visíveis, que você está de olho. Ele reescreve o endereço de troco. Se você aprovar sem conferir na tela do aparelho que os 0,9 BTC de troco vão para um endereço que é seu, você acaba de enviar 0,9 BTC ao atacante, assinado com a sua chave, de dentro do seu aparelho offline. O air gap funcionou perfeitamente. Ele isolou a chave. Só que a chave assinou o roubo.
Ferramentas de coin control, o controle manual de moedas ajudam aqui, porque deixam você escolher exatamente quais UTXO gastar e enxergar com clareza a estrutura de saídas antes de montar o PSBT. Quanto mais consciente você é da anatomia da sua transação, menos espaço um endereço trocado tem para passar despercebido.
O erro que este guia corrige
A crença comum é que air gap é sinônimo de segurança máxima, e que um aparelho por cabo é intrinsecamente inferior. Essa leitura confunde o canal com o conteúdo. Um air gap mal operado, em que o usuário assina PSBTs sem ler a tela do próprio aparelho, é mais perigoso do que uma hardware wallet por USB bem verificada, porque adiciona uma camada de confiança que não foi conquistada. A pessoa se sente invulnerável e para de conferir.
A hierarquia real de segurança não é air gap acima de USB. É verificação acima de tudo. Uma assinatura por cabo em que você confere destinatário, valor e troco na tela do aparelho protege mais do que uma assinatura air-gapped aprovada no piloto automático. O air gap agrega valor de verdade quando some com o último vetor de contato elétrico e você mantém a disciplina de conferência. Sem a conferência, ele é um ritual de segurança, não segurança.
Air gap combinado com multisig
O air gap protege uma chave. Ele não resolve o problema de ter um ponto único de falha. Se aquele único aparelho for perdido, destruído ou coagido, o arranjo inteiro cai. Por isso o air gap conversa tão bem com o multisig, o esquema de múltiplas assinaturas em que a transação precisa de mais de uma chave para ser válida. O PSBT foi desenhado exatamente para isso, ele circula entre os assinantes, cada um adicionando a sua parte, o que combina de forma natural com o transporte por QR ou microSD.
Um arranjo em que você exige duas de três chaves para gastar, com cada aparelho mantido isolado, distribui o risco geográfico e elimina o ponto único de falha ao mesmo tempo. Montamos isso passo a passo no guia de como montar uma carteira multisig 2-de-3. Air gap e multisig não competem. Eles se somam, e cada um cobre uma fraqueza diferente do outro.
Transmitir pela sua própria node
Depois de assinado, o PSBT ainda precisa ser transmitido para a rede. Se você faz isso por um servidor de terceiros, entrega a esse servidor a informação de que aquelas moedas e aqueles endereços são seus. O air gap protegeu a assinatura, mas o broadcast pode vazar a associação. Quem leva a privacidade a sério transmite pela própria node, o seu nó completo, que valida e difunde as transações sem depender de um intermediário.
Rodar o próprio nó é um projeto acessível, e o cobrimos em como rodar um full node Bitcoin num Raspberry Pi. Um air gap para assinar e um nó próprio para transmitir formam a dupla que mais se aproxima de uma custódia soberana de verdade, em que nenhuma etapa depende de confiar em terceiros.
O que isso significa para o investidor brasileiro
No Brasil, a maior parte de quem detém Bitcoin ainda o mantém em corretora, ou seja, sem posse técnica das moedas. Quem já subiu para a hardware wallet resolveu o risco de contraparte, o risco de a corretora quebrar ou travar saques. O air gap é o degrau para quem guarda um patrimônio que justifica o esforço extra e a disciplina de conferência. Não é para todo mundo, e não precisa ser. É o nível avançado da autocustódia, não o ponto de partida.
A leitura correta é dimensionar a proteção ao que ela guarda. Air gap bem operado, para valores que doem se forem perdidos. E acima de qualquer camada técnica, a disciplina de nunca assinar o que você não leu. A engenharia é a parte fácil. O hábito de conferir as duas saídas em toda transação é o que realmente separa quem está protegido de quem só se sente protegido.
O trade-off entre custodiar a própria chave com este nível de rigor e ter exposição a Bitcoin por produtos listados é um tema que tratamos em profundidade nos estudos do Fugazzi Research. Montar um air gap é a decisão de quem quer que a posse técnica das moedas fique com ele, e com mais ninguém.
Perguntas frequentes
Uma carteira air-gapped é sempre mais segura que uma hardware wallet por USB?
Não necessariamente. O air gap remove o contato elétrico com a máquina conectada, o que fecha uma classe de ataques pela porta USB. Mas a maior parte dos golpes contra usuários avançados age no conteúdo da transação, não no transporte. Uma assinatura por cabo em que você confere destinatário, valor e endereço de troco na tela do aparelho protege mais do que uma assinatura air-gapped aprovada sem conferência. O air gap agrega valor de verdade quando some com o último vetor de contato e você mantém a disciplina de verificar cada saída.
Preciso de dois computadores para montar um air gap?
Não. O aparelho offline que assina já é um computador dedicado e isolado por design, então basta uma máquina conectada rodando a carteira somente leitura. O que não pode acontecer é o aparelho de assinatura tocar a internet em qualquer momento. Alguns setups avançados usam de fato um segundo computador permanentemente offline, mas para a maioria dos arranjos com hardware wallet air-gapped isso não é necessário.
O QR code ou o cartão microSD podem transmitir um vírus para o aparelho offline?
O risco existe em tese, porque qualquer dado que entra no aparelho pode explorar uma falha do programa interno dele, o firmware. Na prática, os aparelhos sérios interpretam apenas o formato PSBT e a xpub, um conjunto muito restrito de dados, o que reduz muito a superfície de ataque. Mantenha o firmware atualizado a partir da fonte oficial e desconfie de qualquer aparelho que aceite formatos ou arquivos além do estritamente necessário para assinar.
Fugazzi Research
Do conceito ao método aplicado.
Este conteúdo é gratuito. Nas recomendações da casa, o método é aplicado com dados, simulações e acompanhamento de cada call até o encerramento. Assinatura por R$ 249,90/mês, cancele a qualquer momento.
Ver o estudo aplicadoContinue no cluster
O que é um PSBT
Como configurar sua primeira hardware wallet do zero
Como montar uma carteira multisig 2-de-3 passo a passo
O que é coin control e privacidade de UTXO
Como rodar um full node Bitcoin num Raspberry Pi
O que é autocustódia e por que ela define a posse de verdade
Sabor Bitcoin: O Custo Oculto da Conveniência dos ETFs no Brasil
Sobre o autor
Eduardo BiasiCNPI 10189
Analista de Valores Mobiliários credenciado pela APIMEC Brasil sob a Resolução CVM nº 20/2021, responsável técnico pela análise da Fugazzi Research.
Validar credenciamento na APIMECAutoria e conformidade
Conteúdo educacional produzido de forma independente pela Fugazzi Research, casa de análise credenciada como pessoa jurídica pela APIMEC Brasil, sob responsabilidade técnica do analista Eduardo Biasi, CNPI 10189 (Certificação Nacional do Profissional de Investimento), credenciado pela APIMEC Brasil sob a Resolução CVM nº 20/2021. Regulatório e Compliance.
Este conteúdo tem caráter informativo e não constitui oferta, solicitação ou recomendação de compra ou venda de valores mobiliários ou de qualquer ativo. Investimentos envolvem riscos. Rentabilidade passada não representa garantia de resultados futuros. Criptoativos, derivativos e operações alavancadas envolvem risco elevado, incluindo a possibilidade de perda total ou superior ao capital investido. A decisão de investimento é de responsabilidade do investidor e deve observar seu perfil.