162012–2014

Trezor: chaves do Bitcoin em um computador de bolso

Marek Palatinus e Pavol Rusnák buscavam uma maneira de assinar pagamentos em um computador que não exigisse confiar o chave privada. A partir de um protótipo em um hackerspace de Praga, surgiu a primeira geração de carteiras de hardware.

As primeiras carteiras de Bitcoin apresentavam aos usuários uma escolha desagradável. As chaves privadas poderiam estar em um computador conectado à internet e torcer para que não fossem infectadas por malware, ou poderiam ser escondidas de tal forma que não poderiam ser usadas para pagar com facilidade. Marek "Slush" Palatinus e Pavol "Stick" Rusnák buscavam uma terceira via: um pequeno computador de propósito único que nunca revelaria a chave, mas assinaria a transação corretamente exibida a pedido. Os primeiros protótipos foram criados no hackerspace Brmlab de Praga, usando Raspberry Pi. Em 29 de julho de 2014, o Trezor Model One começou a ser vendido. O dispositivo não tornou a gestão perfeita, mas moveu a parte mais crítica para um objeto que o usuário poderia segurar, controlar e fazer backup.

01

O problema não era o Bitcoin, mas o computador ao seu redor

O Bitcoin dá ao proprietário a capacidade de controlar as moedas com sua assinatura, sem a necessidade de um banco. No entanto, a mesma característica transforma a perda da chave em uma perda total. Se o malware copiar a chave privada, pode criar uma transação válida e a rede não tem um departamento de reclamações para reverter a transação. Um computador doméstico comum executa um navegador, e-mail, documentos e programas de muitas fontes.

Os primeiros guias ofereciam carteiras de papel, discos criptografados ou computadores desconectados da rede. Essas soluções podiam reduzir a superfície de ataque, mas aumentavam as exigências para a criação, backup e assinatura corretas. As histórias de James Howells e Stefan Thomas mostraram o lado oposto: os segredos podem ser protegidos de tal forma que nem mesmo o proprietário pode acessá-los.

Palatinus já sabia o que implicava gerir um Mining Pool e conhecia os riscos dos serviços de Bitcoin online. Com Rusnák, procurava uma resposta prática: como separar a chave de assinatura de um computador que podia ser comprometido sem transformar cada pagamento numa tarefa técnica complicada? O utilizador continuaria a preparar a transação na carteira do computador, mas iria aprová-la num dispositivo separado.

Assim surgiu o princípio da carteira de hardware. O computador hospedeiro envia dados não assinados para o dispositivo. O dispositivo deriva a chave necessária, exibe as informações essenciais para o usuário e, após a confirmação, retorna a assinatura. O material privado permanece dentro do dispositivo. O computador infectado pode mentir, e por isso a tela e a confirmação física fazem parte do modelo de segurança, e não são apenas uma decoração de design.

O objetivo não era eliminar a confiança em todo o hardware e software. Era mais modesto e prático: reduzir a quantidade de código e situações em que a chave secreta é exposta. Um dispositivo de propósito único pode ser controlado mais rigorosamente do que um notebook inteiro, e sua interface limitada dá ao usuário a chance de saber o que está assinando.

Um computador comum precisa ao mesmo tempo navegar na web, abrir anexos, instalar controladores e executar milhares de fragmentos de código que não têm nada a ver com o Bitcoin. Cada um deles amplia a superfície em que um atacante pode aguardar o momento da assinatura. Um dispositivo de uso único não elimina esse mundo, mas isola a operação mais sensível do seu caos. A transação é preparada por fora, assinada por dentro, e a chave privada não deve sair do dispositivo. O propósito da tela e dos botões é dar ao usuário um canal independente: o computador pode afirmar um endereço, mas a confirmação decisiva acontece na tela que está sob o controle da própria carteira.

02

Brmlab, Raspberry Pi e dois botões

Os primeiros experimentos não se pareciam com o produto de consumo posterior. No Brmlab, Palatinus e Rusnák construíram placas de expansão para Raspberry Pi, adicionaram uma pequena tela, botões e comunicação USB. Eles precisavam verificar se todo o fluxo de trabalho poderia funcionar: o dispositivo criaria chaves de forma segura, exibiria o pedido e assinaria sem revelar as chaves.

O hackerspace forneceu um ambiente em que o hardware e o software podiam mudar simultaneamente. Um erro no layout dos botões não estava separado de um erro no protocolo; ambos poderiam levar o usuário a aprovar algo diferente do que pretendia. A usabilidade não era a última camada sobre a criptografia; era uma condição para que a criptografia protegesse o ser humano real.

Os dois botões representavam uma fronteira importante. O computador podia solicitar a assinatura do dispositivo, mas a confirmação final precisava vir fisicamente. A tela, por sua vez, criava um segundo canal para verificar o endereço e o valor. Se o notebook infectado alterasse o destinatário, o Trezor usado corretamente mostraria a discrepância.

A partir do protótipo, surgiu a empresa SatoshiLabs. Os desenvolvedores precisavam lidar com a fabricação, firmware, atualizações, compatibilidade de carteiras e suporte para pessoas que não sabiam nada sobre chaves hierárquicas. A transição da placa no hackerspace para um produto significava que a ideia de segurança precisava ser dominada não apenas por seus autores, mas também pela pessoa que abria a caixa em casa.

O Trezor se autodenomina a primeira carteira de hardware do mundo. Mais preciso é atribuir essa primazia ao fabricante e à definição específica do produto: um dispositivo comercial de propósito único para armazenar chaves e confirmar transações de Bitcoin. A história dos tokens de segurança é mais ampla, mas o Model One criou uma categoria que o mercado de Bitcoin começou a seguir.

03

Dispositivo que pode ser restaurado a partir de palavras

O Trezor Model One foi oficialmente lançado em 29 de julho de 2014. Uma pequena tela, dois botões e um cabo USB escondiam uma mudança mais significativa: a carteira não precisava mais ser idêntica a um único pedaço de hardware. Se o dispositivo fosse perdido ou quebrado, o usuário poderia restaurar as chaves a partir de um conjunto de palavras.

Marek Palatinus e Pavol Rusnák são coautores do BIP 39. A proposta descreve como representar dados gerados aleatoriamente através de uma lista de palavras e dela derivar o seed de uma carteira. A Seed Phrase tornou possível guardar a base de muitas chaves num único registo, em vez de copiar cada chave separadamente. Se o utilizador também recorrer a uma passphrase, precisa dela para recuperar a carteira. A facilidade da cópia de segurança tem uma consequência: quem obtiver os segredos necessários também pode restaurar a carteira.

O BIP 44 descreveu ainda a hierarquia de propósitos, moedas e contas sobre uma carteira determinística. Os padrões permitiram que o software compatível encontrasse a mesma estrutura de endereços a partir de uma semente. A restauração se tornou mais usável, mas também dependente da compreensão correta da derivação e do suporte de aplicativos individuais.

O dispositivo protegia a chave durante o uso comum, enquanto o backup de papel ou metal protegia a possibilidade de restauração. Sem backup, um Trezor destruído poderia significar perda. Com o backup exposto, um atacante poderia contornar o dispositivo completamente. A segurança não parou de depender do ser humano; apenas recebeu uma divisão de papéis mais clara.

Esse modelo ajudou a expandir a autogestão além do círculo estreito de técnicos. O usuário poderia manter recursos de longo prazo e ainda assinar pagamentos ocasionalmente sem importar a semente para um computador online. O produto não simplificou o Bitcoin escondendo a responsabilidade. Tentou organizá-la em etapas que podem ser razoavelmente seguidas.

04

Trezor não é uma moeda nem um seguro

A carteira de hardware não armazena Bitcoins como moedas em um cofre. Ela mantém os segredos necessários para assinar a transferência de saídas registradas na blockchain. Quando o usuário destrói o dispositivo, mas tem a semente correta, os recursos podem ser restaurados. Quando a semente é obtida por outra pessoa, os recursos podem ser transferidos sem o dispositivo original.

A tela não ajuda se a pessoa não lê as informações. Um aplicativo fraudulento pode exibir o endereço correto no computador e enviar um diferente para o dispositivo; a defesa funciona apenas quando o usuário compara o endereço na tela de confiança. O elemento de segurança é a oferta de controle, não uma garantia automática de decisão correta.

O fabricante e a comunidade continuam a ter de corrigir falhas de firmware, cuidar da segurança da cadeia de abastecimento e disponibilizar atualizações. O código aberto permite examinar o funcionamento do dispositivo; não significa que cada proprietário tenha de verificar todas as linhas por si próprio. A Self-Custody depende também dos procedimentos de utilização e da confiança nas ferramentas escolhidas. O hardware assumiu parte do trabalho, mas a responsabilidade do utilizador não desapareceu.

A história da Trezor oferece outra perspectiva sobre os relatos de discos rígidos perdidos e senhas esquecidas. Seus criadores não partiram da ideia de que as pessoas deixariam de cometer erros. Procuravam uma ferramenta que ajudasse a evitar alguns deles e a perceber outros a tempo. Mas usá-la também traz responsabilidades: anotar as palavras de recuperação, proteger esse backup contra incêndios e olhares alheios e praticar a recuperação da carteira antes de uma emergência.

A partir da placa no hackerspace de Praga, surgiu um produto global porque resolveu um problema que cresceu com o valor da rede. Quanto mais havia para proteger, menos aceitável era a escolha entre uma chave online e um arquivo desconfortável. O Trezor não eliminou o risco da chave privada. Deu a ele uma interface física na qual o ser humano pode exercer sua responsabilidade.

Essa divisão de responsabilidade tem também um lado desconfortável. O fabricante pode publicar o projeto e as correções, mas não pode guardar com segurança em nome do usuário as palavras de recuperação, verificar cada endereço nem reconhecer uma solicitação fraudulenta de digitação da semente. O dispositivo protege um determinado momento no processo; a segurança só surge da combinação de hardware verificado, software confiável, backup físico e uma pessoa atenta. O Trezor, portanto, não é uma caixinha que eliminou a necessidade de entender a própria custódia. É uma tentativa de traduzir a responsabilidade criptográfica abstrata em alguns atos visíveis, nos quais um erro pode ser mais facilmente reconhecido antes que se torne irreversível.

Atlas

Personagens e conceitos no Atlas

CZ·02TrezorSLUSHMarek ‘Slush’ PalatinusSTICKPavol ‘Stick’ RusnákCZ·01SatoshiLabsHWHardware WalletKEYPrivate KeySEEDSeed PhraseKEYSAutocustódia
  1. 01
    Trezor — Uma década de inovação

    Nomes dos fundadores, Brmlab, protótipos em Raspberry Pi e data de lançamento do Model One.

  2. 02
    Trezor — Sobre a Trezor

    Linha do tempo da empresa, BIP 39, BIP 44 e produto Model One.

  3. 03
    BIP 39 — Código mnemônico para gerar chaves determinísticas

    Especificação técnica das palavras de restauração, seu escopo e limites de segurança.

  4. 04
    BIP 44 — Hierarquia de contas múltiplas para carteiras determinísticas

    Especificação técnica da hierarquia de contas, cujos autores são Marek Palatinus e Pavol Rusnák.

Próxima história · 17Bitcoin Beach: a vila que começou antes da lei