Escaneie para baixar o app da Gate
qrCode
Mais opções de download
Não me lembre de novo hoje

Entendendo Suas Chaves Bitcoin: Palavras Semente Bip39

No cerne da auto-soberania do Bitcoin está o controle sobre as suas chaves privadas. Sem isso, você está essencialmente entregando o controle dos seus fundos a outra pessoa. Como diz o ditado, “Não são suas chaves, não são suas moedas.” Para aqueles que não estão familiarizados com os fundamentos técnicos do Bitcoin, um aspecto contra-intuitivo é “onde” o seu Bitcoin realmente reside. Quando as pessoas pensam em uma carteira, imaginam “o lugar onde guardo o meu dinheiro.” Na realidade, a sua carteira de Bitcoin não “contém” o seu Bitcoin; ela apenas armazena as suas chaves privadas. O seu Bitcoin existe como entradas de dados na blockchain, mantidas por todos os participantes da rede. Quando você gasta os seus bitcoins, está propondo uma atualização aos dados da blockchain. Uma chave privada é a forma do protocolo de garantir que apenas você possa autorizar uma atualização da blockchain que gaste o seu Bitcoin.

Então, quais são suas chaves privadas? Elas são apenas números incrivelmente grandes. Aqui está uma chave privada em binário:

110001011011001011110111100000101000100000010001001111010111011010101110111001111111111110101011101001011101001110100111001110010100110111101000110000111110101111001101001011110011011101000001101101101110001101000110001111010001001001111011010101011001101101010

256 números aleatórios de 1s e 0s. Este número aleatório é o que, em última análise, protege o seu Bitcoin. Pode não parecer muito, mas a sua aleatoriedade garante a segurança da sua carteira. Existem quase tantos possíveis chaves privadas de Bitcoin quanto átomos no universo visível. Esse é o número de números que um computador teria que contar para gerar e catalogar todas as chaves privadas potencialmente possíveis. Desde que o processo usado para gerar as chaves seja realmente aleatório, as suas chaves estarão seguras.

Aqui está como uma chave privada se parece em hexadecimal (o binário usa dois dígitos para codificar um número, 1 e 0, o hexadecimal usa 16 dígitos, 0-9 e A-F):

E2D97BC144089EBB5773FFABA5D3A729BD187D79A5E6E836DC68C7A24F6AB36A

E aqui está como uma chave privada aparece no formato de importação de carteira não comprimido (WIF):

5KYC9aMMSDWGJciYRtwY3mNpeTn91BLagdjzJ4k4RQmdhQvE98G

O formato WIF era como todos interagiam com suas chaves privadas nos primeiros dias do Bitcoin. Nesta época, você podia gerar uma chave privada de cada vez e, em seguida, gerar a chave pública a partir disso. O processo de geração de uma chave pública é essencialmente apenas multiplicar números muito grandes, mas há um pouco mais do que isso. Todas as chaves públicas são pontos x e y em um gráfico que mostra uma curva muito, muito grande que se loopa de volta sobre si mesma.

Na curva do gráfico, no caso do Bitcoin Secp256k1, há um ponto chamado de “ponto gerador.” Este ponto gerador pode ser pensado como o “ponto base” da curva Secp256k1. É integral ao processo de geração de chaves e de assinatura com elas. Este é o ponto gerador da curva do Bitcoin:

G = 02 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798

Para gerar a chave pública a partir da sua chave privada, você pega a chave privada que gerou e a multiplica pelo ponto gerador. É isso. Isso agora estabelece um ponto no gráfico com uma relação matemática à chave privada que você gerou e que somente você conhece.

Aqui está uma chave pública não comprimida mostrando os pontos x e y:

04C0E410A572C880D1A2106AFE1C6EA2F67830ABCC8BBDF24729F7BF3AFEA06158F0C04D7335D051A92442330A50B8C37CE0EC5AFC4FFEAB41732DA5108261FFED

É muito comum “comprimir” chaves públicas no raro caso de você interagir com elas, simplesmente armazenando a coordenada x com um byte para indicar se a coordenada y é negativa ou positiva. Isso encurta bastante:

02C0E410A572C880D1A2106AFE1C6EA2F67830ABCC8BBDF24729F7BF3AFEA06158

Quando você vai assinar uma transação com sua chave privada, mais uma vez, tudo se resume a multiplicação simples. Ao gerar um número aleatório ( o nonce ) e usá-lo junto com sua chave privada para essencialmente multiplicar o hash da transação que você está assinando, isso produz a assinatura ( que é composta por dois valores, r e s ). Isso permite que alguém execute um algoritmo para verificar se a mensagem foi assinada com a chave privada correta sem revelar essa chave. O que garante que apenas você pode autorizar o gasto do seu Bitcoin é essencialmente a multiplicação de números muito, muito grandes.

Se você não estava muito familiarizado com esses conceitos antes de ler isso, tudo isso provavelmente parece um pouco intimidador. Binário? Hexadecimais? Pontos de gráfico? Como você faz backup de um WIF?

Uma vez que foram desenvolvidas maneiras mais intuitivas de lidar com esses dados, a maioria dos usuários não está familiarizada com esses formatos complicados. É provável que você tenha mais experiência com sementes de palavras, também conhecidas como frases-semente.

Sementes Mnemônicas BIP 39

As sementes mnemônicas, ou frases-semente, foram criadas para resolver o problema da experiência de interagir com as suas chaves privadas.

Como discutimos anteriormente, as chaves privadas são, em última análise, apenas uma longa sequência de uns e zeros que são gerados aleatoriamente. Imagine tentar fazer cópias disto e garantir que não comete um erro ao transcrevê-lo:

110001011011001011110111100000101000100000010001001111010111011010101110111001111111111110101011101001011101001110100111001110010100110111101000110000111110101111001101001011110011011101000001101101101110001101000110001111010001001001111011010101011001101101010

Bastaria um único erro ao copiar um dígito para tornar um backup das suas chaves inútil. É aqui que as sementes mnemônicas são úteis. 256 1s e 0s consecutivos não é uma forma amigável para o ser humano interagir com informações sensíveis. Registar esse número incorretamente significa perder o acesso à sua conta.

caminhão renovar fúria burro lembrar portátil reforma detalhe dividir dor porque gordura

Isso é muito mais fácil de lidar, não é? Apenas 12 palavras. Então, como isso funciona, passando de um monte de 1s e 0s aleatórios para uma sequência de palavras que realmente fazem sentido para você? Um esquema de codificação, como binário ou hexadecimal!

Cada uma daquelas 12 palavras na semente mnemônica anterior é um número binário em um esquema de codificação que mapeia strings específicas de uns e zeros para palavras. Se olharmos para o exemplo anterior da chave privada WIF, essa era simplesmente um número codificado em um esquema de codificação específico, nesse caso base 58, que usa todos os números e letras do alfabeto, exceto 0 e 1, e O e l (é sensível a maiúsculas e minúsculas). A exclusão desses caracteres foi feita especificamente para tornar erros de transcrição improváveis, confundindo um 1 com um l ou um 0 com um O. bech32 e bech32m usados pelo Segwit e Taproot levam isso para o próximo nível, usando apenas este conjunto de caracteres (qpzry9x8gf2tvdw0s3jn54khce6mua7l).

Proposta de Melhoria do Bitcoin 39 (BIP 39) introduziu um esquema de codificação padronizado onde cada palavra em um dicionário especialmente projetado é mapeada alfabeticamente para um número binário de 00000000001 a 11111111111. O seed de demonstração anterior mapeia para isto:

caminhão: 11101001001 renovar: 10110110001 fúria: 01011110011 donkey: 01000001001 lembrar: 10110101110 laptop: 01111101000 reform: 10110100010 detalhe: 00111100010 dividir: 11010010001 dor: 01100110100 porque: 00010011110 gordura: 01010011011

Em binário, parece assim: 11101001001 10110110001 01011110011 01000001001 10110101110 01111101000 10110100010 00111100010 11010010001 01100110100 00010011110 01010011011

Existem 2048 palavras, cada uma mapeada para uma string específica de 11 dígitos de 1s e 0s, especificamente para facilitar a interação das pessoas com as suas chaves privadas. Quando você gera um número aleatório para a sua chave privada, a sua carteira divide esse número em pedaços de números binários de 11 dígitos e os mapeia para o dicionário mnemônico BIP 39. É ainda o mesmo grande número, mas agora você pode lê-lo como palavras em inglês. Como o seu cérebro está muito mais acostumado a este formato do que a longas sequências de 1s e 0s, isso reduz drasticamente as chances de você escrever algo errado e perder o seu Bitcoin no processo.

Você pode ter notado que na codificação binária bruta da palavra seed acima, existem quatro dígitos (1011) por si mesmos, e a última “palavra” é na verdade apenas 8 dígitos. Isso é um checksum para garantir que uma frase semente seja válida. Quando você gera seu número aleatório, não há dígitos suficientes para mapeá-lo exatamente para 12 ( ou 24) palavras. A carteira codifica os dígitos existentes que gerou e pega os primeiros dígitos do hash para adicionar ao final do seu número aleatório. Isso lhe dá dígitos suficientes para mapear para a última palavra.

Esta última palavra permite-lhe realizar uma verificação de segurança sobre cópias da sua semente. Se introduzir a sua semente mnemónica incorrectamente num wallet, a soma de verificação não corresponderá. Cada semente de 12 ou 24 palavras tem várias palavras de soma de verificação potencialmente válidas, mas se a última palavra não corresponder a uma soma de verificação de uma semente correcta, o seu wallet avisá-lo-á de que é inválido. Isto dá às pessoas uma forma intuitiva, mas ainda assim matemática, de garantir que os seus backups estão correctos, ao contrário do processo complicado de transcrever e fazer backup de números binários brutos.

A seleção das palavras específicas da lista foi tão longe a ponto de garantir que nenhuma das 2048 palavras tivesse as mesmas quatro primeiras letras. Isso foi feito para reduzir a probabilidade de as pessoas cometerem erros de transcrição ao confundir palavras semelhantes e acabar com um backup incorreto de suas chaves privadas.

Traduzir essas palavras em um conjunto de várias chaves públicas/privadas é bastante simples. Sua semente mnemônica é utilizada e hashada usando SHA512, o que gera um hash de 512 1s e 0s individuais. Metade dessa saída é utilizada como uma chave privada real e a outra metade é usada como entrada para SHA512 com um número de índice e a chave pública ou privada existente para gerar um novo par de chaves. Você pode fazer isso quantas vezes quiser para gerar novas chaves públicas/privadas que podem ser recuperadas da sua única frase mnemônica.

Isto garante que você pode gerenciar suas chaves privadas da maneira mais fácil e segura possível, com as menores chances de cometer um erro que faça você perder seu dinheiro. E tudo isso foi feito usando matemática! Esperançosamente, agora você tem uma boa compreensão de por que as pessoas dizem que Bitcoin é dinheiro “segurado pela matemática.”

BTC-2.39%
Ver original
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
  • Recompensa
  • Comentário
  • Repostar
  • Compartilhar
Comentário
0/400
Sem comentários
  • Marcar
Negocie criptomoedas a qualquer hora e em qualquer lugar
qrCode
Escaneie o código para baixar o app da Gate
Comunidade
Português (Brasil)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)