Cold Storage significa manter as chaves privadas dos bitcoins separadas do computador ou celular conectado que você usa no dia a dia. As chaves criam assinaturas que autorizam pagamentos de forma verificável. É possível acompanhar o saldo online e receber dinheiro com o aparelho de assinatura desligado. Para enviar, é necessária a assinatura dele ou as chaves recuperadas com segurança. A separação reduz ataques remotos, mas não substitui backups nem a conferência do pagamento.
Alice quer guardar bitcoin por muito tempo, mas também usa o notebook para trabalhar, ler e-mails e baixar arquivos. Ela não quer que uma invasão do notebook entregue imediatamente ao invasor as chaves de suas economias. Por isso, cria e mantém essas chaves em um aparelho confiável separado. Só transfere para o aplicativo do notebook os dados públicos necessários para observar a carteira. Ao enviar bitcoin de sua carteira anterior para um endereço de recebimento previamente verificado, o aparelho de assinatura pode continuar desligado. A rede registra o pagamento e o aplicativo mostra suas confirmações; nenhum arquivo contendo dinheiro é baixado para o aparelho. Um mês depois, Alice quer enviar parte dos fundos. O notebook prepara uma proposta: para quem, quanto e com qual taxa. Alice a passa ao aparelho de assinatura, confere os dados na tela dele e só então aprova. O aparelho gera uma assinatura digital que comprova a autorização para gastar sem revelar as chaves privadas. A transação assinada volta ao aplicativo online, que a transmite à rede. Essa divisão de tarefas é a essência de Cold Storage. O nome, sozinho, nada diz sobre a qualidade do aparelho, a exatidão do endereço mostrado ou a capacidade de Alice de recuperar a carteira após uma falha. [7] [11]
São as chaves que ficam longe do computador comum conectado, não os bitcoins. Cada UTXO, uma saída de pagamento anterior que ainda não foi gasta, continua registrado na blockchain pública. Desconectar um notebook já comprometido não basta; uma placa metálica com palavras é um backup, não um dispositivo de assinatura. Considere roubo, incêndio, falha do aparelho e morte do proprietário. Por isso o Glacier Protocol separa preparação, depósitos, retiradas, consulta e manutenção. [9] [10]
As palavras de backup são chamadas de Seed Phrase. A passphrase opcional é um segredo adicional escolhido por você para derivar a carteira, não o PIN do aparelho. Já Multisig exige assinaturas de várias chaves. Crie as chaves em um aparelho confiável e registre o formato do backup, a passphrase se utilizada e a configuração da carteira. BIP129 descreve uma preparação Multisig em duas rodadas, verificando chaves e configuração compartilhada. Compare o endereço de recebimento no dispositivo de assinatura, não apenas no computador. Comece com uma pequena transferência e teste recebimento, gasto e recuperação. Receber um pagamento não prova, por si só, que a recuperação funciona. [5] [11]
A Seed Phrase e a passphrase utilizada permitem derivar novamente as chaves; localizar a carteira correta pode exigir outros dados. Outra passphrase leva a outra carteira e não substitui a esquecida. Partes de backup SLIP39 não são cópias do seed, os dados secretos de partida para derivar as chaves: a recuperação exige a quantidade especificada de partes. Proteja o backup contra roubo, fotografias e danos. Nunca digite um backup real em um site ou em um computador comum conectado à internet. [13] [14]
O air gap retira a conexão direta à rede, mas dados continuam chegando, por exemplo, via QR ou microSD. Uma falha no programa que interpreta os dados recebidos, software interno do aparelho (firmware) malicioso ou tela enganosa podem comprometer essa configuração. Use firmware verificado, formatos compatíveis e verificações independentes da transação. Um cartão não limpa um computador infectado e um QR não é automaticamente seguro. Uma Hardware Wallet com cabo também pode manter as chaves isoladas. A forma de conexão, sozinha, não garante segurança. [1] [7] [12]
Considere invasões, cópia secreta de backups, coerção e recuperação por herdeiros. Um só incidente não deve expor chaves suficientes para roubar nem destruir tanto material que torne a recuperação impossível. Um lacre pode revelar adulteração, mas não impede cópias. Uma carteira oculta ou de distração não garante proteção contra coerção. Documente procedimentos e funções sem revelar segredos desnecessariamente. O duplo controle empresarial exige organização diferente da custódia pessoal. [9] [10] [13]
Confira o estado dos backups, a clareza das instruções e a compatibilidade sem expor o seed desnecessariamente. Um teste seguro deve encontrar os UTXO corretos de recebimento e de retorno do valor restante à própria carteira (change) e produzir uma assinatura válida; aceitar uma lista de palavras não basta. Faça isso em um aparelho confiável. Antes de mudar dispositivos ou regras, teste todo o processo com pouco valor. Se suspeitar de vazamento, crie chaves novas e independentes e transfira os fundos com segurança. Conserve o material antigo até verificar a nova configuração. [7] [9] [10]
Um script define as condições para gastar bitcoin. A chave pública estendida xpub permite derivar outras chaves públicas no ramo correspondente da carteira. Para criar endereços a partir delas, também é preciso conhecer o tipo de script, que define as condições de gasto. Um xpub não pode assinar pagamentos. O coordenador online é uma aplicação com dados públicos da carteira. Localiza UTXO, deriva endereços e monta a transação sem assinatura; o aparelho de assinatura guarda as chaves privadas. Um Output Descriptor descreve scripts e a origem das chaves, e sua soma de verificação ajuda a detectar erros de cópia. Um descriptor público ou xpub normalmente não permite gastar sozinho, mas pode revelar endereços e saldos. Um coordenador comprometido também pode substituir o destinatário. [4] [8] [15]
PSBT, definido por BIP174, transporta a transação não assinada e os dados necessários para assiná-la. Os dados são organizados em mapas, listas de valores associados a identificadores: um para toda a transação e outros para cada entrada e saída. O arquivo começa com os bytes 0x70 0x73 0x62 0x74 0xff. O coordenador prepara os dados, o aparelho acrescenta a assinatura; após combinar assinaturas e finalizar, a transação resultante pode ser transmitida. O dispositivo offline não precisa de sua própria base UTXO. BIP370 define PSBT v2 e BIP371 acrescenta campos Taproot. Confira a compatibilidade antes. [1] [2] [3] [6] [7]
Antes de aprovar, confira em uma tela confiável destinatário, valor, taxa ou taxa por tamanho e as saídas que devolvem o restante à sua carteira, chamadas change. Observe também entradas exibidas e o modo sighash, que determina quais partes da transação são vinculadas à assinatura. BIP174 exige verificar se o change proposto pertence à carteira esperada; não basta o rótulo fornecido pelo computador. Em pagamentos importantes, confirme o endereço por outro canal independente e autenticado e, se necessário, com outra pessoa. [1] [11] [12]
Em uma configuração m-of-n, são necessárias m das n chaves para assinar. Uma perda é tolerável se restarem pelo menos m disponíveis. Já um invasor precisa obter pelo menos m para gastar sozinho. Não confunda esses limites. Os seeds podem não bastar para reconstruir a carteira: faça backup do descriptor ou da configuração Bitcoin Secure Multisig Setup (BSMS), incluindo xpubs, ordem das chaves, caminhos de derivação (a sequência de etapas para calcular cada chave) e tipo de script. Maior complexidade só ajuda se você consegue administrá-la e recuperar o sistema. [4] [5] [8]
Para ter uma visão mais completa, leia este verbete junto com Hardware Wallet, Autocustódia, Air-gapped Wallet, PSBT, Seed Phrase, BIP 39. Também há referências a este verbete em Hardware Wallet, Watch-only Wallet, PSBT, Custodial Exchange.