149 / 736AIRGAP

Air-gapped Wallet

Uma carteira que assina longe do computador conectado

O computador prepara o pagamento; um dispositivo separado o assina. O que essa separação oferece, o que os códigos QR transportam e por que a tela ainda precisa ser conferida.

Uma Air-gapped Wallet assina pagamentos em um dispositivo separado da comunicação de rede habitual com o computador ou celular conectado. As chaves privadas devem permanecer nesse ambiente; propostas de pagamento e assinaturas passam por um meio controlado, como um código QR ou cartão de memória.

Uma carteira é um aplicativo ou dispositivo para receber e enviar bitcoins. Ana usa o notebook para navegar na internet. Não quer guardar nele também suas chaves privadas: os dados secretos usados para criar assinaturas que autorizam gastos em bitcoin. Por isso, divide o trabalho. O programa no notebook acompanha pagamentos e prepara novos; é o coordenador. Um dispositivo separado confere a proposta e assina após a aprovação de Ana; é o dispositivo de assinatura, ou signer. Uma Hardware Wallet, uma carteira de hardware, pode trabalhar assim. Air gap descreve principalmente a separação e o transporte de dados, não uma característica automática de toda carteira de hardware. Desligar temporariamente o Wi-Fi de um notebook comum não basta: importam outras conexões, o software e uma eventual reconexão com os segredos ainda presentes. [3] [5]

Ana informa o destinatário e o valor no coordenador. Ele prepara um PSBT: um pacote com a proposta de transação e os dados necessários para assiná-la. Entre eles estão informações sobre os UTXO, as saídas ainda não gastas de pagamentos anteriores. São valores separados aos quais as entradas da nova transação fazem referência. Ana leva o pacote ao dispositivo de assinatura, por exemplo escaneando um QR. O dispositivo processa os dados compatíveis e acrescenta uma assinatura depois da conferência e aprovação. O resultado volta ao notebook. Somente quando as condições de assinatura exigidas forem atendidas será possível montar a transação final e enviá-la à rede. Isso ainda não a confirma em um bloco. Um bloco reúne transações que são registradas juntas no histórico público do Bitcoin. O que viaja é a proposta e a assinatura, não a chave secreta nem o backup da carteira. [1] [6]

Imagine uma entrada de 100000 sat. Sat é a menor unidade do bitcoin. Ana quer enviar 60000 sat, devolver 39000 sat a si mesma e deixar 1000 sat como taxa. O valor devolvido tem sua própria saída, chamada Change Output. O dispositivo precisa conferi-la com as chaves e a configuração corretas da carteira; a indicação de “troco” enviada pelo notebook não basta. Ana também compara o endereço completo do destinatário, o valor e a taxa na tela confiável do dispositivo com o pagamento pretendido. Um notebook infectado pode propor um endereço alheio com uma conta perfeitamente correta. Se Ana aprovar, a separação dos dispositivos não protegerá seus fundos. [1] [4]

Um QR representa dados em uma imagem, mas não comprova que sejam seguros. Um pacote maior pode passar como sequência de imagens em BBQr ou UR, formato que ambos os dispositivos precisam compreender. O programa que lê a imagem e o PSBT pode ter falhas como qualquer outro. É essencial distinguir o QR de uma transação do SeedQR. Este contém um backup de informações secretas, não uma proposta de pagamento. Por isso não deve ser lido pela câmera de um notebook ou celular conectado. A decisão de retirar um código do ambiente isolado depende de seu conteúdo e finalidade, não da semelhança com outros quadradinhos. [2] [4]

Outro método usa MicroSD: Ana grava o PSBT no cartão, coloca-o no dispositivo de assinatura e traz o resultado de volta. Não precisa de cabo de rede, mas o dispositivo continua lendo um arquivo externo. A segurança depende do programa que o processa, do controlador e do sistema de arquivos, responsáveis pela leitura e organização dos dados. Um cartão dedicado ajuda a manter a ordem; não garante conteúdo inofensivo. A alimentação merece a mesma atenção. USB pode levar energia e dados. Se for usado apenas para energia, realmente não deve existir um caminho de dados ativo. A indicação de “carregamento” não prova isso por si só. [2] [3]

A COLDCARD também inclui NFC entre seus métodos air gap. NFC é rádio de curto alcance; QR leva uma imagem e MicroSD leva um arquivo em uma mídia física. Não são canais idênticos. Se a intenção é excluir comunicação por rádio, NFC ativado não atende ao requisito. Para um dispositivo concreto, descobrir qual canal está ativo, quando é ligado e o que pode passar por ele é mais útil que confiar na palavra air-gapped. Uma conexão USB de dados permanente estabelece outra fronteira diferente do transporte manual de um arquivo. [2]

O coordenador pode funcionar em modo watch-only: acompanha a carteira, mas não consegue assinar pagamentos sozinho. Pode usar um xpub, uma chave pública estendida para derivar outras chaves públicas, ou um Descriptor público, que descreve as chaves e regras usadas para gerar endereços. Esses dados sozinhos não autorizam gastos, mas podem vincular endereços e pagamentos à mesma carteira. Um PSBT também pode conter chaves públicas, seus caminhos de derivação e informações de UTXO. Em Multisig, várias chaves autorizam o gasto segundo uma regra; a configuração correta de todos os participantes importa para recuperar a carteira e conferir o troco. Isolar o dispositivo de assinatura não torna o notebook anônimo nem suas consultas à rede privadas. [1] [4]

Ana ainda precisa de uma Seed Phrase guardada com segurança, o backup em palavras, e de quaisquer outros dados exigidos pela carteira. SeedSigner carrega segredos temporariamente; após desligá-lo, sua memória não pode servir de backup. Air gap também não substitui firmware confiável, o programa interno do dispositivo, nem a conferência do pagamento. Um Secure Element protege outro aspecto ao dificultar certos ataques ao próprio chip. Cold Storage descreve guardar chaves fora do ambiente online; air gap descreve trabalhar com assinatura separada. Antes de usar esse arranjo para economias importantes, vale ensaiar transporte, verificação e recuperação com chaves de teste separadas. O objetivo é compreender cada etapa, não simplesmente colocar mais aparelhos na mesa. [3] [4]

Para ter uma visão mais completa, leia este verbete junto com Hardware Wallet, PSBT, Cold Storage, Seed Phrase, Output Descriptor, Multisig. Também há referências a este verbete em Cold Storage, Secure Element, SeedQR, BBQr.

DOC · 001BIP 174 — Partially Signed Bitcoin Transaction FormatEspecificação DOC · 002COLDCARD — Bitcoin Air-Gap Signing MethodsDocumentação DOC · 003SeedSigner — Frequently Asked QuestionsFonte primária DOC · 004SeedSigner — Independent Custody GuideDocumentação DOC · 005Bitcoin Developer Guide — WalletsDocumentação DOC · 006Bitcoin Developer Guide — Block ChainDocumentação
Revisto em: Fontes em primeiro lugar · Não é recomendação de investimento