Skip to main content

Par de Chaves | Bitcoin Glossary | Mapping Bitcoin

Par de Chaves

Criptografia

Also known as: keypair, public/private key pair

Par criptográfico: chave privada (secreta) para assinar transações e chave pública (aberta) para verificar assinaturas e derivar endereços Bitcoin.

Visão Geral

Um par de chaves é a unidade fundamental de propriedade no Bitcoin. Consiste em uma chave privada e sua chave pública correspondente, vinculadas através da criptografia de curva elíptica. A chave privada é um número secreto que permite ao seu detentor assinar transações e gastar bitcoin. A chave pública é derivada da chave privada e é usada para gerar endereços Bitcoin e verificar assinaturas digitais. Essa relação assimétrica — onde a chave pública pode ser derivada da chave privada, mas não o contrário — é a pedra angular do modelo de segurança do Bitcoin.

Geração de Chaves

Passo 1: Gerar um número aleatório de 256 bits (chave privada)
┌──────────────────────────────────────────────────────┐
│ Chave Privada (256 bits):                            │
│ e9873d79c6d87dc0fb6a5778633389f4453213303da61f20bd67│
│ fc233aa33262                                         │
│                                                      │
│ (Deve estar entre 1 e a ordem da curva n)            │
└──────────────────────────┬───────────────────────────┘
                           │
             Multiplicação de curva elíptica
             (multiplicação de ponto em secp256k1)
                           │
                           ▼
Passo 2: Derivar a chave pública
┌──────────────────────────────────────────────────────┐
│ Chave Pública = chave_privada * G (ponto gerador)    │
│                                                      │
│ Não comprimida (65 bytes): 04 + coord-x +            │
│                                 coord-y              │
│ Comprimida (33 bytes):   02/03 + coord-x             │
│   (prefixo 02 se y é par, 03 se y é ímpar)           │
└──────────────────────────┬───────────────────────────┘
                           │
             Operações hash (SHA-256 + RIPEMD-160)
                           │
                           ▼
Passo 3: Derivar o endereço
┌──────────────────────────────────────────────────────┐
│ Endereço Bitcoin: bc1q... (Bech32 para SegWit nativo)│
│                  1...    (Base58 para P2PKH legacy)  │
│                  3...    (Base58 para P2SH)          │
└──────────────────────────────────────────────────────┘

A Relação de Sentido Único

A segurança do Bitcoin depende da relação matemática de sentido único entre chaves privadas e públicas:

Chave Privada ──────► Chave Pública ──────► Endereço
    (fácil)              (fácil)

Endereço ────✗────► Chave Pública ────✗──► Chave Privada
  (impossível)        (impossível com matemática atual)

Esta propriedade de sentido único é baseada no Problema do Logaritmo Discreto de Curva Elíptica: dado o ponto da chave pública na curva, não existe algoritmo eficiente conhecido para calcular o escalar de chave privada que o produziu.

Formatos de Chave

Formatos de chave privada:

  • Hex bruto: 64 caracteres hexadecimais (32 bytes)
  • WIF (Wallet Import Format): Codificado em Base58Check, começa com '5' (não comprimido) ou 'K'/'L' (comprimido)
  • Parte de uma derivação de frase semente em carteiras HD modernas

Formatos de chave pública:

  • Não comprimida: 65 bytes (prefixo 04 + 32 bytes x + 32 bytes y)
  • Comprimida: 33 bytes (prefixo 02 ou 03 + 32 bytes x)
  • O Bitcoin moderno usa exclusivamente chaves públicas comprimidas

Melhores Práticas de Segurança

  • Nunca compartilhe sua chave privada. Qualquer pessoa com a chave privada pode gastar todo o bitcoin associado a ela.
  • Use geradores de números aleatórios criptograficamente seguros para geração de chaves. Aleatoriedade fraca é uma das poucas formas práticas pelas quais as chaves podem ser comprometidas.
  • Armazene chaves privadas offline usando carteiras hardware ou armazenamento a frio para valores significativos.
  • Use carteiras HD para que o gerenciamento de chaves seja simplificado à proteção de uma única frase semente.
  • Nunca gere chaves usando brainwallets (chaves derivadas de senhas memorizadas), pois são vulneráveis a ataques de força bruta.

Conceitos Equivocados Comuns

  • Você não precisa "registrar" um par de chaves em lugar nenhum. Os pares de chaves são gerados localmente e são válidos imediatamente. O espaço de endereços do Bitcoin é tão grande que colisões são virtualmente impossíveis.
  • Perder uma chave privada significa perder o bitcoin permanentemente. Não existe "redefinição de senha" no Bitcoin.
  • Uma chave pública não é o mesmo que um endereço. O endereço é derivado da chave pública através de hashing, adicionando uma camada adicional de segurança. A chave pública só é revelada ao gastar a partir desse endereço.