Geracao de Carteira Solana: Chaves ed25519 e Enderecos
Índice
Solana e uma das blockchains mais amplamente utilizadas tanto para DeFi quanto para aplicacoes de consumo, mas seu processo de geracao de carteira difere significativamente do Bitcoin e Ethereum. Curva eliptica diferente, caminhos de derivacao diferentes, codificacao de endereco diferente e suposicoes diferentes sobre gerenciamento de chaves. Se voce vem do mundo Bitcoin ou Ethereum, essas diferencas importam --- e entende-las incorretamente pode levar a perda de fundos ou seguranca comprometida.
Este guia cobre o processo completo de geracao de carteira Solana: a curva eliptica ed25519, caminhos de derivacao especificos da Solana, codificacao de endereco Base58 e as consideracoes de seguranca exclusivas do ecossistema Solana.
Como Solana Difere de Bitcoin e Ethereum¶
No nivel mais alto, a diferenca e a curva eliptica. Bitcoin e Ethereum usam secp256k1, uma curva do Standards for Efficient Cryptography Group (SECG). Solana usa ed25519, uma curva na forma de Edwards projetada por Daniel J. Bernstein e colegas. A escolha da curva repercute em todas as camadas da pilha.
| Propriedade | Bitcoin / Ethereum | Solana |
|---|---|---|
| Curva eliptica | secp256k1 | ed25519 |
| Esquema de assinatura | ECDSA | EdDSA (Ed25519) |
| Tamanho da chave privada | 32 bytes | 64 bytes (expandida) |
| Tamanho da chave publica | 33 bytes (comprimida) | 32 bytes |
| Codificacao de endereco | Bech32 / Hex | Base58 |
| Caminho de derivacao | m/44'/0'/0' ou m/44'/60'/0'/0 | m/44'/501'/0'/0' |
As escolhas de design da Solana refletem suas prioridades: alta vazao e verificacao rapida de assinaturas. Assinaturas Ed25519 sao aproximadamente duas vezes mais rapidas de verificar do que assinaturas ECDSA em secp256k1, o que importa quando voce esta processando milhares de transacoes por segundo. Para uma comparacao tecnica mais profunda das duas curvas, veja secp256k1 vs ed25519.
A Curva ed25519¶
Ed25519 e uma instancia especifica do Algoritmo de Assinatura Digital de curva de Edwards (EdDSA), operando sobre Curve25519. A curva e definida sobre o campo primo 2^255 - 19 (dai o nome) e usa uma forma de Edwards torcida:
-x^2 + y^2 = 1 + d*x^2*y^2
onde d e uma constante especifica. O nivel de seguranca e aproximadamente 128 bits --- comparavel ao secp256k1 --- mas as caracteristicas de implementacao diferem significativamente.
Geracao de Chaves¶
Uma chave privada Solana comeca como um escalar aleatorio de 32 bytes, frequentemente chamado de "seed" na terminologia ed25519 (nao confundir com uma seed phrase BIP39). Este valor de 32 bytes e processado com SHA-512 para produzir uma chave expandida de 64 bytes. Os 32 bytes inferiores (apos o clamping de bits) se tornam o escalar usado para assinatura. Os 32 bytes superiores sao usados como aleatoriedade adicional no processo de assinatura.
A chave publica e derivada multiplicando o ponto base B da curva pelo escalar ajustado. O resultado e um ponto de 32 bytes na forma Edwards comprimida. Esta chave publica de 32 bytes e tambem o endereco Solana --- nao ha nenhuma etapa de hash adicional como o Keccak-256 do Ethereum.
32 bytes aleatorios → SHA-512 → chave expandida de 64 bytes
→ 32 bytes inferiores (ajustados) × Ponto base B → chave publica de 32 bytes = endereco Solana
Assinaturas Deterministicas¶
Uma das vantagens do ed25519 sobre ECDSA e que as assinaturas sao deterministicas. ECDSA requer um nonce aleatorio para cada assinatura, e um gerador de numeros aleatorios defeituoso pode catastroficamente vazar a chave privada (isso ja aconteceu multiplas vezes na historia do Bitcoin e Ethereum). Ed25519 deriva o nonce da mensagem e da chave privada, eliminando toda essa classe de vulnerabilidade.
Desempenho¶
A verificacao de assinaturas Ed25519 e rapida --- aproximadamente 70.000 verificacoes por segundo em um unico nucleo de CPU moderno. Isso e aproximadamente o dobro da velocidade de verificacao ECDSA em secp256k1. Para a arquitetura da Solana, que visa tempos de bloco de 400 milissegundos e alta vazao de transacoes, essa vantagem de velocidade e significativa.
Caminhos de Derivacao Solana¶
Como Bitcoin e Ethereum, as carteiras Solana usam derivacao de carteira HD para gerar multiplas chaves a partir de uma unica seed phrase. O padrao ainda e BIP39 para geracao de mnemonicos e BIP32 para derivacao hierarquica, mas com caminhos especificos da Solana.
O Caminho Padrao: m/44'/501'/0'/0'¶
O caminho de derivacao canonico da Solana e:
m/44'/501'/0'/0'
Detalhando conforme o BIP44:
44'--- Proposito: hierarquia multi-conta BIP44.501'--- Tipo de moeda: 501 e o indice registrado no SLIP44 para Solana.0'--- Conta: primeira conta.0'--- O nivel de "troco", mas na convencao Solana e o indice de endereco.
Note que todos os quatro niveis usam derivacao endurecida (indicada pelo apostrofo). Isso difere do m/44'/60'/0'/0/0 do Ethereum, que usa derivacao nao endurecida para os dois ultimos niveis. A escolha da Solana de caminhos totalmente endurecidos proporciona isolamento mais forte entre chaves derivadas: comprometer uma chave derivada nao pode levar ao comprometimento de chaves irmas.
Multiplas Contas¶
Para contas adicionais, incremente o indice de conta:
- Primeira conta:
m/44'/501'/0'/0' - Segunda conta:
m/44'/501'/1'/0' - Terceira conta:
m/44'/501'/2'/0'
Algumas carteiras (como Phantom) tambem podem suportar incrementar o indice final:
m/44'/501'/0'/0'm/44'/501'/0'/1'm/44'/501'/0'/2'
Consideracoes de Compatibilidade¶
Nem todas as carteiras Solana usam exatamente o mesmo caminho de derivacao. Historicamente, o CLI da Solana usava m/44'/501' (apenas dois niveis), enquanto a maioria das carteiras com interface grafica usa m/44'/501'/0'/0'. Essa discrepancia significa que a mesma seed phrase pode produzir enderecos diferentes em carteiras diferentes. Ao recuperar uma carteira, sempre confirme qual caminho de derivacao a carteira espera.
O Gerador de Seed Phrase Solana do SafeSeed exibe o caminho de derivacao exato utilizado, para que voce saiba precisamente qual caminho corresponde a qual endereco.
Geracao de Carteira Passo a Passo¶
Aqui esta o processo completo para gerar uma carteira Solana a partir de uma seed phrase BIP39, dividido em etapas discretas.
Etapa 1: Gerar Entropia¶
Use um gerador de numeros aleatorios criptograficamente seguro para produzir 128 bits (para uma frase de 12 palavras) ou 256 bits (para uma frase de 24 palavras) de entropia. No SafeSeed, isso usa a Web Crypto API do navegador via crypto.getRandomValues().
Etapa 2: Criar o Mnemonico¶
Acrescente os bits de checksum SHA-256 a entropia, divida em segmentos de 11 bits e mapeie cada segmento para uma palavra na lista de palavras BIP39. O resultado sao 12 ou 24 palavras em ingles. Este processo e identico ao Bitcoin e Ethereum --- BIP39 e agnostico de blockchain. Para uma analise completa, veja BIP39 Explicado.
Etapa 3: Derivar a Seed Mestra¶
Aplique PBKDF2-HMAC-SHA512 com 2.048 iteracoes a string do mnemonico (com sal de frase-senha opcional), produzindo uma seed mestra de 512 bits.
Etapa 4: Derivar a Chave Solana¶
Percorra o caminho de derivacao m/44'/501'/0'/0', realizando derivacao de chave filha HMAC-SHA512 em cada nivel. Como Solana usa ed25519 em vez de secp256k1, a derivacao de chave filha usa o padrao SLIP-0010 (nao BIP32 diretamente), que especifica como derivar chaves ed25519 hierarquicamente.
A saida no final do caminho e uma seed ed25519 de 32 bytes.
Etapa 5: Gerar o Par de Chaves¶
Alimente a seed de 32 bytes na geracao de chaves ed25519:
- Calcule o SHA-512 da seed para obter 64 bytes.
- Aplique o clamping de bits nos 32 bytes inferiores (limpe os 3 bits mais baixos, limpe o bit mais alto, defina o segundo bit mais alto).
- Multiplique o ponto base B pelo escalar ajustado para obter a chave publica de 32 bytes.
O par de chaves consiste na chave privada expandida de 64 bytes (seed + chave publica) e na chave publica de 32 bytes.
Etapa 6: Codificar o Endereco¶
A chave publica de 32 bytes e codificada usando Base58 para produzir o endereco Solana legivel por humanos. Sem hash adicional, sem byte de prefixo --- apenas codificacao Base58 pura dos bytes da chave publica.
Voce pode gerar e inspecionar todo esse fluxo usando o Gerador de Chave Privada Solana do SafeSeed, que mostra a seed phrase, caminho de derivacao, chave privada, chave publica e endereco final.
Formato de Endereco Base58¶
Enderecos Solana usam codificacao Base58 --- o mesmo alfabeto Base58 usado pelos enderecos legados do Bitcoin, que exclui caracteres visualmente confusos: 0 (zero), O (o maiusculo), I (i maiusculo) e l (L minusculo).
Um endereco Solana tipico se parece com:
7EcDhSYGxXyscszYEp35KHN8vvw3svAuLKTzXwCFLtV
Propriedades¶
- Comprimento: 32--44 caracteres (mais comumente 43--44). O comprimento varia porque a codificacao Base58 nao tem largura fixa; bytes zero iniciais produzem caracteres
1iniciais. - Conjunto de caracteres:
123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz - Sem prefixo: Diferente do Bitcoin (comeca com
1,3oubc1) ou Ethereum (comeca com0x), enderecos Solana nao tem prefixo fixo. Isso dificulta a identificacao visual mas mantem os enderecos curtos. - Sem checksum embutido: Diferente do Base58Check (usado pelos enderecos legados do Bitcoin), a codificacao Base58 da Solana nao inclui checksum. Um erro de transcricao pode produzir um endereco com aparencia valida que pertence a outra pessoa ou a ninguem.
A ausencia de checksum torna o manuseio cuidadoso essencial. Sempre use copiar e colar em vez de transcricao manual. Quando possivel, use codigos QR. E valide o formato do endereco usando o Validador de Endereco Solana antes de enviar quaisquer fundos. Para uma comparacao mais ampla de formatos de enderecos entre blockchains, veja Formatos de Enderecos Cripto Explicados.
Consideracoes de Seguranca para Solana¶
Os principios gerais de seguranca de chaves se aplicam a Solana assim como a qualquer blockchain, mas varios fatores especificos da Solana merecem atencao.
Geracao Offline e Critica¶
Como enderecos Solana nao possuem checksum embutido, erros durante a geracao sao mais dificeis de detectar. Gerar sua carteira offline --- em uma maquina sem conexao de rede --- elimina o risco de exfiltracao e lhe da um ambiente controlado para verificar a saida cuidadosamente. As ferramentas do SafeSeed sao projetadas para isso: carregue a pagina, desconecte, gere e registre. Para principios gerais de geracao offline, veja Geradores de Seed Online Sao Seguros?.
Arquivos de Par de Chaves¶
O CLI da Solana armazena chaves privadas como arrays JSON de 64 bytes (o par de chaves ed25519) em arquivos tipicamente nomeados id.json. Se voce exportar sua carteira de uma interface grafica e importar no CLI (ou vice-versa), pode encontrar esse formato. Proteja arquivos de par de chaves com o mesmo rigor das seed phrases: criptografe-os, armazene-os em midia air-gapped e nunca os deixe em maquinas conectadas a rede.
Contas de Token¶
Diferente do Ethereum, onde tokens ERC-20 sao mantidos no mesmo endereco que o ETH, Solana usa contas de token associadas (ATAs) --- contas on-chain separadas para cada tipo de token. Este e um detalhe de implementacao, nao uma preocupacao de seguranca de chaves, mas significa que seu endereco Solana sozinho nao conta a historia completa dos seus holdings. Todas as ATAs derivadas de um determinado endereco de carteira sao controladas pela mesma chave privada, entao seu backup de seed phrase ainda e suficiente.
Enderecos Derivados de Programa (PDAs)¶
O modelo de programacao da Solana usa Enderecos Derivados de Programa --- enderecos que sao gerados deterministicamente a partir de um ID de programa e um conjunto de seeds, e que intencionalmente nao possuem uma chave privada correspondente. PDAs sao usados por contratos inteligentes (programas) para gerenciar estado on-chain. Voce nao precisa gerar ou fazer backup de PDAs; eles nao sao carteiras controladas por usuarios.
Nonces Duraveis e Assinatura de Transacoes¶
Transacoes Solana incluem um blockhash recente para protecao contra replay, o que significa que transacoes expiram apos aproximadamente 60--90 segundos. Isso e relevante para fluxos de assinatura offline: voce precisa buscar um blockhash recente (ou usar um nonce duravel) em uma maquina online, transferi-lo para a maquina offline para assinatura e depois transmitir a transacao assinada antes que o blockhash expire. Carteiras de hardware lidam com isso automaticamente, mas se voce esta construindo um pipeline de assinatura offline personalizado, a restricao de tempo e uma consideracao de design importante.
Melhores Praticas de Seguranca de Chave Privada¶
Os fundamentos permanecem os mesmos independente da cadeia: nunca compartilhe sua seed phrase, nunca a armazene digitalmente em um dispositivo conectado a rede e use cold storage para quaisquer holdings significativos. Para um tratamento abrangente, veja Melhores Praticas de Seguranca de Chave Privada.
O processo de geracao de carteira Solana e conceitualmente semelhante ao Bitcoin e Ethereum --- entropia se torna uma seed phrase, a seed phrase se torna uma chave mestra e caminhos de derivacao produzem contas individuais. Mas a curva subjacente (ed25519), o padrao de derivacao (SLIP-0010) e o formato de endereco (Base58 puro sem checksum) criam um conjunto distinto de detalhes de implementacao que importam para interoperabilidade, recuperacao e seguranca. Entender essas diferencas nao e academico; e o fundamento da protecao dos seus holdings Solana.