O que é multisig 2-of-2?

·9 min de leitura·Por SSP Editorial Team
Diagrama de uma carteira multisig 2-of-2 mostrando dois signatários aprovando uma transação

Se você já possuiu criptomoedas, com quase toda certeza já ouviu o mesmo aviso: "proteja sua frase semente." Doze ou vinte e quatro palavras, escritas em papel, que qualquer um que as encontrar pode usar para esvaziar sua carteira de qualquer lugar do mundo. Essa única sequência de palavras é todo o modelo de segurança por trás da maioria das carteiras de autocustódia — e esse é o problema. Perca-a, e seus fundos se foram. Deixe alguém copiá-la, e seus fundos se foram. Um erro, um momento de desatenção, um site de phishing convincente, e o resultado é o mesmo.

O multisig 2-of-2 é a resposta mais acessível a essa fragilidade. Ele divide as chaves da sua carteira entre dois dispositivos, de modo que nenhuma semente, tela ou assinatura sozinha possa movimentar suas moedas. Este artigo explica como isso funciona, por que importa e que tipos de ataque ele consegue e não consegue conter.

O modo de falha da semente única

A maioria das carteiras de criptomoedas — vivam elas no seu celular, em uma extensão de navegador ou em um dispositivo de hardware — é construída em torno de um único segredo. Esse segredo é uma frase semente: uma sequência de palavras gerada quando você configura a carteira pela primeira vez, da qual cada chave privada dessa carteira é matematicamente derivada. Qualquer pessoa com a frase semente tem controle total e irrevogável sobre cada moeda nessa carteira, em cada blockchain que ela cobre.

Isso é maravilhosamente conveniente. Também é um ponto único de falha.

Pense no que esse segredo precisa sobreviver ao longo dos anos em que você pretende guardar suas moedas. Ele precisa sobreviver a um ladrão invadindo sua casa e achando o papelzinho na gaveta. Precisa sobreviver a um incêndio, a uma enchente ou a uma criança curiosa. Precisa sobreviver ao seu notebook pegando um malware que escaneia área de transferência e capturas de tela. Precisa sobreviver a cada e-mail de phishing, a cada pop-up falso de navegador, a cada ligação de "suporte" pedindo que você digite as palavras em um formulário de "verificação". Precisa sobreviver aos seus próprios erros futuros, aqueles que você não consegue prever hoje.

Em 2022, o FBI estimou que somente os consumidores dos EUA perderam mais de 2,5 bilhões de dólares com roubos e fraudes relacionados a criptomoedas, e a vasta maioria dessas perdas remontava a um único segredo comprometido. Mt. Gox, Bitfinex, a ponte Ronin — todo desastre cripto de nome conhecido tem o mesmo formato: um segredo, uma invasão, uma transferência que não pode ser revertida.

Uma configuração 2-of-2 é uma forma de dizer: minhas moedas não deveriam estar a um post-it roubado de distância de sumirem.

Multisig M-of-N, em poucas palavras

Multisig — abreviação de "multi-signature", múltiplas assinaturas — é uma carteira que exige mais de uma assinatura para enviar uma transação. A forma geral chama-se M-of-N: existem N chaves no total, e quaisquer M delas precisam assinar antes que as moedas possam se mover.

<span id="signer"></span>Um signatário é um dispositivo ou parte que detém uma dessas N chaves. Na prática, um signatário costuma ser uma peça separada de hardware ou software: seu celular, uma carteira de hardware sobre a mesa, um notebook, um serviço cossignatário ou até um amigo de confiança. A propriedade importante é que os signatários sejam independentes — comprometer um deles não deveria dar ao atacante acesso a nenhum dos outros.

<span id="threshold"></span>O threshold (M) é o número de assinaturas necessárias para gastar. Se o threshold for 2, então dois dos N signatários precisam, cada um, aprovar e assinar criptograficamente antes que a blockchain aceite a transação como válida. Uma carteira 2-of-3 tem três signatários e exige quaisquer dois. Uma carteira 3-of-5 tem cinco signatários e exige quaisquer três. O threshold é fixado quando você cria a carteira e é imposto pela própria blockchain, não por nenhuma empresa.

O threshold e a quantidade de signatários definem juntos o modelo de segurança de uma carteira: quantas coisas precisam dar certo para você gastar, e quantas precisariam dar errado, simultaneamente, para um ladrão gastar.

O modelo específico 2-of-2

<span id="2-of-2"></span>No multisig 2-of-2, o threshold é igual ao total de signatários: existem exatamente duas chaves e ambas precisam assinar cada gasto. Não há reserva, nem signatário de backup, nem quórum ao qual recorrer. Ou os dois dispositivos aprovam a transação, ou ela não acontece.

Essa é a configuração multisig mais simples que ainda oferece proteção significativa. Comparada com 2-of-3, é mais fácil de configurar — você gerencia apenas dois signatários, não três — e não exige escolher um terceiro ou um local para guardar a chave reserva. A contrapartida é que 2-of-2 não tem um caminho de recuperação embutido: se um dos dois signatários for permanentemente perdido ou destruído, você não conseguirá mais gastar as moedas daquele endereço. A recuperação em 2-of-2 é tratada fazendo backup separado da semente de cada signatário, normalmente usando um backup lacrado em papel ou aço, guardado longe do próprio dispositivo.

Para um usuário de autocustódia, o pareamento 2-of-2 mais comum é "celular mais chave de hardware" ou "celular mais um segundo dispositivo lacrado". O usuário assina nos dois, toda vez.

Como a carteira encontra seu endereço: BIP48

<span id="bip48"></span>BIP48 — Bitcoin Improvement Proposal 48 — é o padrão técnico que diz às carteiras multisig como derivar suas chaves públicas e endereços a partir da frase semente de cada signatário, de uma forma portável entre fornecedores de software. É a razão pela qual uma carteira 2-of-2 criada em uma aplicação pode ser reaberta, auditada ou recuperada em outra aplicação compatível, anos depois.

A versão simplificada: a frase semente de cada signatário é transformada em uma hierarquia de chaves seguindo um caminho determinístico. O BIP48 especifica o caminho exato para carteiras multisig — incluindo um slot que registra se a carteira usa endereços legacy, SegWit ou native SegWit — e um slot para qual "conta" dentro da semente está sendo usada. Quando dois signatários derivam cada um sua chave pública ao longo do mesmo caminho BIP48, a carteira combina essas duas chaves públicas em um único endereço multisig. Moedas enviadas a esse endereço só podem ser desbloqueadas por assinaturas das duas sementes originais.

Por que o padrão importa? Porque sem ele, uma carteira multisig seria uma caixa-preta. Se o fornecedor desaparecesse, você teria duas frases semente e nenhuma forma portável de reconstruir o endereço que elas protegem. O BIP48 faz com que o endereço seja puramente uma função das sementes e do caminho — qualquer pessoa com o padrão e as sementes pode reconstruir a carteira, para sempre, sem confiar em nenhuma empresa.

Ethereum e cadeias EVM usam um mecanismo diferente (carteiras de contrato inteligente e ERC-4337), mas o modelo visível ao usuário é o mesmo: dois signatários, um endereço, ambos exigidos.

O que o 2-of-2 realmente impede

A maneira mais clara de ver o valor do 2-of-2 é percorrer ataques específicos e perguntar: o que muda quando o atacante precisa comprometer dois dispositivos independentes em vez de um?

Phishing. Um usuário clica em um link convincente de "migração de carteira" e digita uma de suas frases sementes em uma página falsa. Com uma carteira de semente única, os fundos somem em minutos — o atacante importa a semente e transmite uma transferência. Com 2-of-2, o atacante agora detém metade da carteira. Ele não consegue mover nenhuma moeda sem também roubar a segunda semente, que vive em um dispositivo diferente, no qual o usuário nunca digitou nada na página de phishing. A tentativa de phishing passou de catastrófica para meramente alarmante.

Malware em um celular ou notebook. Um malware que sequestra a área de transferência ou um info-stealer compromete um dispositivo de assinatura. Em uma carteira de chave única, no momento em que esse dispositivo tenta fazer qualquer transação, o malware pode substituir o endereço de destino e o próprio usuário assina. No 2-of-2, o segundo dispositivo mostra ao usuário os detalhes reais e não modificados da transação em uma tela que o malware não controla. O usuário vê a discrepância e se recusa a coassinar.

Dispositivo perdido. O celular de um usuário é roubado em um trem. Em uma carteira hot de assinatura única protegida apenas por um PIN, um atacante determinado pode extrair a semente em poucas horas. No 2-of-2, o celular perdido é um dos dois signatários — inútil sozinho. O usuário tem tempo de mover os fundos para um novo endereço usando o signatário sobrevivente mais o backup da semente do celular.

Coerção (o "ataque da chave inglesa de 5 dólares"). Alguém com acesso físico exige a frase semente do usuário. Com uma semente única, ceder significa perda total. Com 2-of-2, em que os dois signatários vivem em locais físicos diferentes — por exemplo, um em casa, outro num cofre de banco, ou um sob a guarda de um serviço cossignatário de confiança — o usuário genuinamente não consegue completar uma transferência na hora. O atacante fica sem a recompensa imediata que, em primeiro lugar, faz esse tipo de ataque valer a pena.

Em todos os casos, o princípio subjacente é o mesmo: dois comprometimentos independentes dentro da mesma janela curta de tempo é um problema bem mais difícil do que um só.

Contra o que o 2-of-2 não protege

Multisig não é mágica. Não protege contra assinar uma transação maliciosa de propósito — se os seus dois dispositivos mostrarem o mesmo endereço de destino errado e você aprovar mesmo assim, a blockchain não tem como saber. Não protege contra perder os dois backups no mesmo incêndio ou enchente, motivo pelo qual os dois backups devem viver em locais fisicamente separados. Não protege contra bugs no próprio software da carteira, embora a natureza open-source e portável via BIP48 dessas carteiras signifique que tais bugs podem ser auditados e contornados de uma forma que um sistema custodial fechado não permite. E não protege contra o próprio usuário, que, voluntariamente, assina entregando suas moedas em ambos os dispositivos em resposta a um golpe convincente o suficiente. O threshold eleva a barra; ele não tira o usuário do circuito.

Experimente você mesmo

A forma mais útil de internalizar o multisig 2-of-2 é configurar um e ver uma transação real exigir duas aprovações antes de ser transmitida. A SSP Wallet foi projetada exatamente em torno desse modelo desde o início — seu celular e seu navegador agem como os dois signatários, e não há um modo de semente única escondido nos bastidores.

Configurando sua primeira carteira SSP percorre o pareamento, o backup e a primeira transação assinada passo a passo.

Compartilhar este artigo

Artigos relacionados