Endereços vanity com chave dividida: comprar sem confiar no vendedor
Quem gera um endereço vanity gera também a sua chave privada — a menos que a busca corra sobre uma chave pública. Veja como funciona a compra split-key, a aritmética por trás, do que protege e do que não protege, e como verificar você mesmo.
Nesta página
Toda loja que vende endereços vanity prontos tem o mesmo buraco, e nenhuma política o tapa: para criar o endereço, o vendedor criou a sua chave privada. Podem lhe dizer que a cópia foi apagada. Não podem lhe mostrar isso.
A compra com chave dividida não discute essa premissa — ela a elimina. O vendedor continua fazendo o trabalho caro, milhões de endereços candidatos por segundo numa GPU, e mesmo assim nunca possui a chave que acaba ficando com você.
A aritmética
As chaves do TRON vivem na curva secp256k1: uma chave privada é um número d e a chave pública correspondente é o ponto d·G. O que importa é que essa correspondência é aditiva:
`` (d + s)·G = d·G + s·G ``
Então a busca pode ser dividida em duas:
- Seu navegador escolhe um
daleatório e envia apenasP = d·G, a metade pública. - A fazenda testa deslocamentos
s = 1, 2, 3, …, calculaP + s·Ge confere o endereço a cada passo. Nunca conheced, logo nunca conheced + s. - A fazenda devolve o
sque caiu no seu padrão. - Seu navegador calcula
d + s— a chave privada do endereço encontrado.
O deslocamento viaja aberto porque sozinho não vale nada: sem d é apenas um número, e recuperar d a partir de P é o problema do logaritmo discreto sobre o qual a secp256k1 é construída.
O que cada lado sabe
| Você | O vendedor | |
|---|---|---|
Sua metade d | sim | não |
Metade pública P | sim | sim |
Deslocamento s | sim | sim |
Chave final d + s | sim | não |
Não existe etapa em que a chave pronta exista no hardware do vendedor. Nem na memória, nem num log, nem num backup — as peças nunca se encontram lá.
Do que não protege
Chave dividida não é panaceia, e a loja que sugerir o contrário está lhe vendendo conforto, não segurança.
- Não verifica o código do vendedor. Seu navegador precisa realmente gerar a chave localmente. Abra as ferramentas de desenvolvedor, observe a aba Rede durante o pedido e confirme que o que sai da página são 128 caracteres hex de chave pública, nunca 64 de chave privada.
- Não conserta um número aleatório fraco. Se
dveio de uma fonte previsível, a chave final também é previsível. Ocrypto.getRandomValuesde qualquer navegador moderno serve; um número "aleatório" digitado à mão, não. - Não elimina o envenenamento de endereços. Um final marcante facilita que um golpista produza um parecido. Continue conferindo o endereço inteiro antes de cada transferência.
- Não faz backup por você. Esse é o preço real, e é duro: o vendedor não pode restaurar a sua metade, porque nunca a teve. Perdeu, o endereço se foi para sempre.
Por que leva mais tempo do que comprar do estoque
Um endereço de prateleira foi gerado antes, por isso a entrega é imediata. Um endereço split-key não existe até alguém procurá-lo com a sua chave pública, e o pedido de outra pessoa não serve. Conte com o tempo de busca do comprimento escolhido, mais o tempo de colocar uma GPU no ar.
Para quatro ou cinco caracteres esta é a ferramenta errada: o seu próprio notebook acha esse endereço em segundos com o gerador gratuito no navegador, e aí não existe segunda parte nenhuma. A chave dividida se justifica a partir de uns sete caracteres, quando a busca exige um equipamento que você prefere alugar a comprar.
Como conferir que deu certo
Quando o deslocamento chega, seu navegador deve fazer duas coisas antes de mostrar qualquer coisa: derivar o endereço de d + s e compará-lo com o endereço prometido. Se diferirem, a chave está errada e nada deve aparecer.
Você pode repetir a verificação por conta própria. Importe a chave no TronLink e compare os 34 caracteres do endereço que ele mostrar. A carteira deriva o endereço da própria chave, então a coincidência prova que a chave é a certa — sem confiar em site algum.
Perguntas frequentes
O deslocamento é secreto?
Não, e não precisa ser. O deslocamento é só metade de uma soma, e a outra metade nunca saiu do seu navegador. Publicá-lo não diz a um atacante nada que ele já não pudesse calcular a partir do endereço.
O vendedor pode procurar uma chave que ele também consiga usar?
No seu pedido, não. A fazenda recebe P, e qualquer endereço alcançável a partir de P exige o seu d para gastar. Ele poderia, claro, gerar um endereço sem relação e oferecer esse — exatamente por isso seu navegador confere que a chave entregue deriva o endereço prometido.
E se eu perder a minha metade da chave?
O endereço se perde, sem caminho de recuperação. Não é política, é aritmética: o vendedor tem metade de uma soma e não consegue reconstruir a outra. Salve a sua metade no instante em que ela aparecer, fora do navegador que a criou.
É o mesmo que uma carteira multiassinatura?
Não. Multiassinatura significa que várias chaves podem autorizar transações de uma mesma conta. Chave dividida é um truque de construção único: dois números são somados uma vez e o que sai é uma chave privada comum, de uma conta TRON comum.
A HaoKey oferece isso?
Sim, em todas as máscaras do catálogo — a opção "sem confiança" ao lado do botão normal de compra. Nossa página de segurança a lista como a primeira de três formas de não nos confiar uma chave.