O Que Está Por Trás da Seed Phrase
₿LOCO 826,069
15 de março de 2021
Poucas pessoas entendem o QUE está por trás da tal da SEED PHRASE.
Mas ela é a informação MAIS IMPORTANTE que alguém tem que proteger quando cuida da própria carteira de Bitcoin.
Com uma SEED PHRASE, acessa-se os fundos de um endereço.
A SEED PHRASE é uma forma facilitada de humanos memorizarem um código binário.
O segredo que “dá acesso” a BTCs é, essencialmente, um código binário.
Qualquer SEED PHRASE pode ser mapeada para uma sequência de 0s e 1s.
11111011000 10101111111 00000111100 10001000001 10111011010
2008 1407 60 1089 1498
00011000101 00000001111 01001010111 11101011100 00111111110
197 15 599 1884 510
10000111111 10111100100
1087 1508
A BIP-39 especifica 2048 palavras (inglesas). Elas foram escolhidas com alguns critérios em mente (por ex., não há palavras com somente um caractere diferente, na lista).
Cada palavra corresponde a um número de 0 a 2047.
(BIP = um padrão definido pela comunidade bitcoiner)
Cada um destes números (0-2047) é a representação DECIMAL de um número BINÁRIO.
Por exemplo, 11101011100 (binário) pode ser traduzido para 1884 (decimal).
A 1884º palavra na lista da BIP-39 é TWIST.
Com uma SEED PHRASE, acessa-se os fundos de um endereço.
12 palavras equivalem, assim, a 12 destas sequências binárias (0s e 1s).
Cada uma delas contém onze 0s ou 1s.
Diz-se que cada uma contém 11 bits de ENTROPIA. Entenda “ENTROPIA” como “possibilidades”.
Quanto mais entropia, mais segurança. Mais difícil de adivinhar.
Por quê?
Pense comigo: adivinhar se uma moeda vai dar cara ou coroa -> 50% de chance de acerto.
Adivinhar 2 vezes seguidas? 25%.
3 vezes seguidas? 12.5%.
“Adivinhar” uma SEED de 12 palavras é tão difícil quanto acertar o cara ou coroa 128 vezes seguidas.
Alta entropia.
Por que 128?
Com 12 palavras (dentre 2048 possíveis), existiriam 2048^12 (2^132) combinações possíveis.
[11 bits por palavra x 12 palavras = 132]
Mas um pedaço da SEED não é randômico (checksum – a última palavra pode ser derivada das outras), então, há 2ˆ128 combinações.
SEED PHRASES de 24 palavras são mais seguras que as de 12 palavras? SIM!
2^256 combinações possíveis.
Uma SEED destas tem 256 bits de ENTROPIA.
“Adivinhá-la”, sem pistas, é bem difícil.
Tipo… adivinhar 1 dentre todos os ÁTOMOS da Via Láctea
Importante: ENTROPIA assume que estes números foram gerados aleatoriamente.
Se você tentar gerar uma SEED PHRASE a partir de um poema, um livro famoso, etc… a segurança vai por ÁGUA ABAIXO.
NÃO FAÇA ISSO.
Talvez “CARTEIRAS” de Bitcoin pudessem ser melhor descritas como CHAVEIROS.
HARDWARE WALLETS são “meramente” maneiras de armazenar SEED PHRASEs (este “segredo que controla as moedas”) em um meio NÃO CONECTADO à internet (o que por si só já protege de vários vetores de ataque).
WALLETS (o software) são programas com 2 funções básicas:
(1) Gerar um segredo randômico (ou importar) e guardar;
(2) Criar assinaturas criptográficas válidas.
Estas (2) provam a posse do segredo.
E permitem que moedas sejam transferidas para outros endereços na blockchain.
Sem uma assinatura válida, moedas não podem ser transferidas.
É claro que a INTERFACE das WALLETS abstrai essa complexidade toda.
O que deixa tudo mais prático.
Quando você entra numa wallet, escolhe um destinatário, e clica em “enviar”…
…ela constrói uma transação, assina ela (com sua chave), e transmite o “pacote” para um nó vizinho – que propaga a informação para a rede… até que ela seja incluída num bloco.
Lá na origem, NEM EXISTIAM SEED PHRASES (chaves-mãe determinísticas, como se usa hoje)!
A BIP*-39 veio só em 2013!
No começo MESMO (Satoshi), pensa que não tinha nem wallet ou interface de nó!
Guardava-se chaves em formatos bem mais… raiz.
* = Bitcoin Improvement Proposal
Por fim: as WALLETs modernas são incríveis. Mas nada te ISENTA da responsabilidade de GUARDAR sua SEED PHRASE – e fazer backup.
Pelo contrário. É justamente a posse desse segredo que confere “os direitos” (codificados) aos BTC associados a ele.
É com posse DESSE SEGREDO que você pode criar um endereço numa WALLET e…
…mesmo que a equipe (e o código) por trás dela suma…
…anos depois…
…”acessar” este endereço em outra WALLET
Claro que a boa prática não é criar + guardar chaves como senhas quaisquer.
Texto Adaptado da Thread – @ParadigmaEdu