Carteira Bitcoin Multisig com Electrum Wallet — Aumente sua segurança

Canivete Suíço Bitcoinheiro

Bitcoinheiros
10 min readAug 6, 2019

Escrito por Ivan com revisão e contribuição de Allan, Becas e Bitdov

Carteiras Multisig oferecem uma camada a mais de segurança no seu protocolo

tl;dr (direto ao ponto)
Hardware wallets não são infalíveis. No entanto, é possível adicionar uma camada extra de segurança criando carteiras multisig. Você pode criar sua própria carteira multisig com hardware wallets (detalhado neste artigo) ou, caso não tenha conhecimento técnico e segurança para fazer isso sozinho, contratar empresas como a ‘CASA’ que estão oferecendo o serviço de gestão de carteiras multisig.

Aprenda como se proteger

Nosso objetivo com este artigo é esclarecer questões relacionadas à segurança das HWs e oferecer um tutorial para que você possa adicionar um layer a mais de segurança no protocolo de armazenamento de suas criptomoedas através de uma carteira multisig.

Hardware wallets podem ser atacadas

Como todos sabemos, as Hardware Wallets facilitaram muito o armazenamento, segurança e controle de chaves privadas. No entanto, não há solução perfeita que seja imune a todos os tipos de ataque e, por isso, temos que considerar que novas vulnerabilidades em dispositivos e protocolos serão encontradas cedo ou tarde.

Carteiras Multisig oferecem mais proteção

Uma possibilidade para adicionar ainda mais proteção ao guardar suas criptomoedas é utilizar carteiras Multisig (com múltiplas assinaturas). Este tipo de carteira exige duas ou mais chaves privadas para realizar qualquer transação. Uma tentativa de explicar, ainda que de maneira imperfeita, é comparar a um cofre com duas fechaduras ou uma conta no banco que requer duas ou mais assinaturas para validar um cheque (ainda existe isso?).

Fonte: bitcoindesigned.com

Desta forma, mesmo que uma de suas HWs seja comprometida fisicamente, o invasor não terá como realizar nenhum tipo de transação com suas criptomoedas. Fica claro, portanto, que é fundamental criar uma carteira multisig com hardware wallets de diferentes fabricantes e que sejam armazenadas em geolocalizações distintas (de preferência em diferentes cidades ou até países).

No início da configuração, será necessário definir o limite de assinaturas para sua carteira multisig equilibrando conveniência e segurança. Por exemplo, se criar uma carteira 2–2 multisig (duas assinaturas existentes com a necessidade das duas para qualquer transação) e perder uma de suas hardware wallets e suas respectivas palavras mnemônicas (recovery seed), nunca mais terá como recuperar suas criptomoedas. Se criar uma carteira 3–5 multisig e acontecer algo com até dois dispositivos, ainda assim terá acesso aos seus fundos.

Complexidade de carteiras Multisig

Criar e fazer a gestão de uma carteira multisig não é algo simples e deve ser feito com planejamento e muito cuidado. Se uma hardware Wallet já requer a necessidade de criar redundância para seus mnemônicos (recovery seed), imagine a complexidade para monitorar e preservar dois ou mais dispositivos, suas respectivas seeds e ainda ter um protocolo seguro para herdeiros.

Ou seja, este tipo de protocolo não é recomendado para transações do dia a dia, a não ser que você esteja confortável com a necessidade de ter que aprovar cada transação em 3 ou mais dispositivos localizados em 3 lugares distintos como parte de sua rotina. Os lugares escolhidos podem ser na mesma cidade ou até em países distintos, dependendo do grau de complexidade e segurança que deseje conferir. Este formato pode ser mais indicado para fundos de longo prazo que exigem alto grau de segurança.

De qualquer forma, ainda poderá usar a carteira ativamente para adicionar fundos à mesma, já que para isso basta ter os endereços públicos sem a necessidade de verificar assinaturas.

Entre as características resultantes deste procedimento, podemos destacar que:

  • Um hacker não poderá mover seus fundos remotamente pois não tem acesso às hardware wallets para aprovar a transação e mesmo se conseguisse acesso remoto a uma (por falha temporária de segurança), não conseguiria simultaneamente às restantes;
  • Ao colocar seus dispositivos e respectivas recovery seed em diferentes geolocalizações de maneira segura, irá aumentar exponencialmente o tempo necessário e a logística necessária a um agressor.

Antes de começar

Se você entende os riscos e ainda assim quer criar e testar sua própria carteira multisig, siga adiante.

Cabe reiterar que cada indivíduo deve ter inteira responsabilidade por testar os softwares e hardwares envolvidos no seu protocolo. Desta forma, recomendamos que faça sua própria pesquisa e bateria de testes para verificar os procedimentos detalhados abaixo. Os bitcoinheiros não se responsabilizam por quaisquer erros ou falhas nos softwares, hardwares ou ainda pelo próprio usuário (você).

Use a Electrum para criar uma carteira Multisig

A Electrum foi criada por Thomas Voegtlin em novembro de 2011 e desde então tem recebido a contribuição de diversos programadores.

Antes de fazer o download

Verifique as assinaturas GPG

As assinaturas GPG são uma prova de que os arquivos distribuídos foram assinados pelo proprietário da chave de assinatura. Por exemplo, se este site foi comprometido e os arquivos Electrum originais foram substituídos, a verificação de assinatura falharia, porque o invasor não seria capaz de criar assinaturas válidas.

Para poder verificar as assinaturas GPG, você precisa:

  • Fazer o download do arquivo de instalação no site electrum.org
  • Fazer o download do arquivo com o os hashes do arquivo de instalação assinados pelos desenvolvedores
  • Importar a chave pública do desenvolvedor;

Tutorial passo a passo para instalar a Electrum:

  1. Faça o download do arquivo de instalação e do arquivo com o os hashes assinados pelos desenvolvedores no site oficial electrum.org
Exemplo para usuários de MacOS

2. Importe a chave do desenvolvedor que assinou o arquivo de hashes. No caso da Electrum é o Thomas Voegtlin. Salve a assinatura pelo link do site electrum.org e você pode verificar a fingerprint: 6694 D8DE 7BE8 EE56 31BE D950 2BD5 824B 7F94 70E6 neste link de uma palestra do ThomasV.

Clique em "ThomasV" para salvar a assinatura em sua máquina
Salve esta página e retire a extensão ".txt" salvando apenas como ThomasV.asc

3. Importe a assinatura do ThomasV para o PGP

  • Opção 1: Digite os comandos abaixo no Terminal
cd Downloads (enter)
gpg --import ThomasV.asc (enter)
  • Opção 2: Importe pela interface do PGP. Clique em import e selecione o arquivo ThomasV.asc
  • Neste momento você deverá ter estes três arquivos na sua pasta Downloads:

electrum-{versão}.dmg que é o arquivo de instalação;

electrum-{versão}.dmg.asc o arquivo com as assinaturas;

ThomasV.asc a assinatura do desenvolvedor

3. Verifique a assinatura

Para verificar a assinatura do arquivo de instalação, clique com o botão direito nele. Um menu de contexto aparecerá, cujo último item é chamado services. Uma de suas entradas será OpenPGP: Verify Signature of file . Clique nele.

4. Agora você já tem a segurança de que tem o arquivo de instalação assinado pelo desenvolvedor e que não há malwares instalados. Clique duas vezes no arquivo electrum{versão}.dmg e faça a instalação.

Verifique seu dispositivo Hardware Wallet

  • Compre apenas direto do fabricante;
  • Siga as instruções dadas pelo fabricante para conferir se o seu dispositivo está intacto e não foi violado durante a logística de entrega;

Prepare o seu computador

  • De preferência, utilize uma máquina exclusivamente para essa função;
  • Cubra a câmera do seu computador;
  • Isole a entrada de áudio;
  • Desligue o seu celular durante o procedimento e cubra a câmera do mesmo;
  • Desabilite o wifi e bluetooth de sua máquina;

Crie a carteira

Conforme comentamos anteriormente, precisamos decidir qual limite usar para a carteira com várias assinaturas, equilibrando conveniência e segurança.

Por exemplo, 3-de-3 multi-assinaturas com três carteiras de hardware do mesmo fornecedor que você mantém no mesmo local não aumentará a segurança e ainda por cima pode incrementar as chances de você perder o acesso aos seus fundos. O mais comum é 2–3 ou 3–5 com HWs de fabricantes diferentes e possivelmente uma wallet de outro tipo, por exemplo mobile wallet ou paper wallet.

Para este tutorial, vamos criar uma multisig 2–3 (requer duas assinaturas de três existentes).

Selecionando o tipo de carteira (Multisig)
Definindo o número de assinaturas existentes e a quantidade necessária para uma transação

Selecione as chaves que poderão assinar transações nesta carteira

Neste tutorial, primeiro foram geradas chaves privadas em cada Hardware Wallet da mesma forma que uma carteira convencional. Os backups das palavras ‘recovery seed’ para recuperação da carteira em caso de acidente ou perda da HW também foram realizados da maneira padrão.

Para carteiras multisig 3–5, é mais seguro não guardar nenhuma ‘recovery seed’, uma vez que são pontos de vulnerabilidade para qualquer carteira. Neste caso, deve-se usar as próprias assinaturas restantes dos demais dispositivos como recuperação em caso de perda de uma delas.

Em seguida, basta conectar sua HW no computador e selecionar a opção ‘Use a hardware device’.

Use a carteira

Como fazer o backup

Se você perder algumas das hardware wallets e respectivas palavras de recuperação (recovery seed), não poderá recuperar seus fundos, a menos que tenha as XPUBs.

Por esse motivo, é essencial fazer o backup do seu arquivo da carteira Electrum. Você pode fazer isso ao acessar Arquivo → Salvar Cópia (Ctrl-Shift-S).

Como realizar transações

Quando você abre a carteira, a Electrum tentará se conectar às HWs plugadas.

Se não conseguir se conectar a um dispositivo, ou se o mesmo estiver indisponível no momento, poderá pular esse dispositivo. Será possível realizar transações desde que tenha o número necessário de dispositivos conectados.

Caso tenha apenas um dos dispositivos no local, poderá assinar a transação, exportar o arquivo e posteriormente completar com as assinaturas necessárias.A carteira multisig, em sua maior parte, funciona como uma carteira normal da Electrum.

Como restaurar sua carteira multisig

Primeiro, será necessário configurar uma carteira multisig. Certifique-se de utilizar os mesmos parâmetros quando criou sua carteira. Caso contrário, será gerada uma nova carteira sem o acesso aos seus fundos.

Utilize os mesmos parâmetros de sua carteira original

Em seguida, comece a adicionar as co-assinaturas por meio de XPUBs, ‘recovery seeds’ ou mesmo Hardware Wallets. Não precisa se preocupar com a ordem em que irá adicionar as assinaturas pois a Electrum resolve isso.

Recuperação com as demais Hardware Wallets configuradas

Caso tenha criado uma carteira multisig 2–3 e tenha perdido um dos dispositivos, ainda poderá utilizar as duas HWs disponíveis para mover seus fundos para uma nova carteira multisig com novas chaves privadas. No caso de carteiras 3–5 terá uma margem de segurança um pouco maior, mas caso algo aconteça com um dos dispositivos já seria recomendado criar uma nova carteira com todas as chaves disponíveis para transferir seus fundos.

Recuperação com ‘recovery seed’

Você também pode recuperar sua carteira Multisig com algumas ou todas as ‘recovery seeds’.

É importante certificar-se de que a “BIP39 seed” está marcada em “Opções”.

Então poderá digitar sua ‘recovery seed’ e observará a mensagem “BIP39 (checksum: ok)”.

É importante alterar a derivação da carteira na próxima etapa. A Electrum usará o padrão para m / 44 ‘/ 0’ / 0 ‘(que é a derivação de carteira para a conta Bitcoin # 1).

Você precisa alterá-lo para m / 45 ‘/ 0 (que é a derivação de Multisig HWs).

Finalmente, você deve ver seus fundos. Contanto que tenha adicionado o número necessário de ‘recovery seeds’ ou de HWs, você poderá assinar novas transações.

Recomendações de segurança

  • Antes de transferir todos os seus fundos, realize teste com quantidades mínimas de valor;
  • Transfira um pequeno valor para sua nova carteira multisig;
  • Faça uma transferência deste valor para outra carteira (hot ou cold) para confirmar que sua carteira multisig está funcionando e que você tem controle dos fundos;
  • Realize uma simulação de que tenha perdido um ou mais dispositivos, deletando a carteira e recuperando a mesma com as “recovery seeds”;
  • Confirme que conseguiu recuperar a carteira e que tem controle dos fundos por meio das chaves privadas;
  • Faça seu protocolo de segurança e backup (redundância) para recuperação da carteira em geolocalizações distintas;

Agradecimentos

Obrigado ao programador Saleem Rashid e seu tutorial, o qual utilizei como inspiração e referência para publicar esta versão em português.

Este artigo não seria possível sem as contribuições fundamentais dos bitcoinheiros Allan, Becas e Dov.

Sobre os Bitcoinheiros

Um grupo de apaixonados pelo Bitcoin que publica conteúdo educacional por meio de vídeos, podcasts e artigos sobre o tema em português. Nada de ICOs, projetos Blockchain, Altcoins ou qualquer outra distração promovida. Só Bitcoin, sem frescura e direto ao ponto.

--

--

Bitcoinheiros

Tudo o que você sempre quis saber sobre Bitcoin, em português e sem frescura. Nada de ICOs, projetos Blockchain, Altcoins ou qualquer outra distração promovida.