Glossário / Carteiras e custódia
Backup Shamir
Outros nomes: SLIP39, Shamir backup, Shamir secret sharing.
- O que é o backup Shamir?
- O backup Shamir divide um segredo de carteira em várias listas de palavras e exige qualquer número escolhido delas para reconstruí-lo, de modo que uma única folha de papel não basta.
A matemática vem do artigo de Adi Shamir de 1979 sobre o compartilhamento de um segredo, e a implementação em bitcoin é o SLIP-39, publicado pela SatoshiLabs. Uma configuração de duas entre três produz três listas de 20 palavras, das quais duas quaisquer restauram a carteira, enquanto uma sozinha não revela nada. Ela responde ao roubo e à perda com o mesmo backup, algo que uma única frase não faz.
Como funciona
O compartilhamento por limiar não é criptografia nem o corte de uma frase em pedaços. O segredo é tratado como um ponto em um polinômio de grau uma unidade menor que o limiar, e cada parte é outro ponto dessa curva. Dois pontos definem uma reta, três definem uma parábola, e assim por diante, de modo que reunir o número limiar de partes reconstrói a curva e permite ler o valor original. Abaixo do limiar não há informação parcial alguma: com uma parte de um esquema de duas entre três, todo segredo possível continua exatamente tão provável quanto antes, o que é uma garantia mais forte que “computacionalmente difícil”.
O SLIP-39 envolve essa ideia em um formato pensado para ser escrito à mão. Sua lista de palavras tem 1.024 palavras em vez das 2.048 do BIP-39, cada uma com entre quatro e oito letras e identificada de forma única pelas quatro primeiras. Uma parte tem 20 palavras para um segredo mestre de 128 bits e 33 palavras para um de 256 bits, com cada palavra carregando 10 bits, além de dados de identificador, limiar e soma de verificação para que uma carteira saiba a qual grupo uma parte pertence. O esquema aceita dois níveis: até 16 grupos, cada um com até 16 partes, com um limiar tanto nos grupos quanto dentro deles.
Dois limites decidem se ele serve para você. A reconstrução acontece em um único dispositivo e em um único momento, então esse dispositivo e esse momento são um único ponto de comprometimento, não importa com quanta cautela as partes tenham sido distribuídas. E o SLIP-39 não é intercambiável com o BIP-39: uma frase existente de 12 ou 24 palavras não pode ser convertida em partes, e as partes não podem ser digitadas em uma carteira que só entende mnemônicos.
Onde você o encontra
A Trezor lançou o backup Shamir no Model T com o firmware 2.1.3 em agosto de 2019, acrescentou o "super Shamir" multigrupo na 2.1.6 naquele outubro, e seus dispositivos Safe atuais mantêm o recurso. O suporte em outros lugares é escasso, o que é o argumento prático mais forte contra ele: seu backup é restaurado no hardware de um único fabricante ou pela implementação de referência de código aberto python-shamir-mnemonic, e em nenhum outro lugar. Quem planeja um backup para durar uma década deve pesar isso em comparação com o BIP-39, que toda carteira lê.
As configurações em que ele ganha seu lugar são geográficas e sociais. Partes em três cidades sobrevivem a um incêndio doméstico sem que nenhum local sozinho seja suficiente para um ladrão. Um esquema de três entre cinco distribuído entre familiares e um advogado dá a um espólio um caminho viável sem entregar a ninguém controle unilateral enquanto você está vivo. Os dois casos exigem que o exercício de recuperação seja ensaiado ao menos uma vez, porque um esquema por limiar falha em silêncio: você só descobre uma parte corrompida quando tenta usá-la.
Se você gosta do formato da ideia mas quer um suporte de ferramentas mais amplo, o codex32 é a outra opção que vale a pena conhecer. Especificado como BIP-93, ele define um formato de parte cuja soma de verificação pode ser verificada à mão no papel, sem envolver nenhum computador.
Backup Shamir vs multiassinatura
O Shamir divide um segredo; a multiassinatura usa várias chaves genuinamente independentes. Essa única diferença determina todo o resto. As partes do Shamir precisam ser reunidas em uma máquina para gastar, então um atacante que pega esse momento leva tudo, enquanto as assinaturas da multiassinatura são produzidas em dispositivos separados e as chaves nunca se encontram. A multiassinatura é visível na cadeia, custa mais em taxas de transação, e exige backup do descritor da carteira junto com as frases de recuperação. O Shamir é invisível para todos, não custa nada extra para gastar, e não acrescenta complexidade on-chain. Para herança e proteção contra incêndio, o Shamir é mais simples. Para se proteger de um dispositivo comprometido ou de um único participante desonesto, a multiassinatura é o que realmente ajuda.