Pessoal, vocês já devem ter percebido que algumas pessoas utilizam endereços personalizados, como por exemplo a Hot Wallet da FoxBit:
1FoxBitjXcBeZUS4eDzPZ7b124q3N7QJK7Muitos já sabem o processo de como gerar esses endereços personalizados, inclusive tinhamos um
tópico antigo do @sabotag3x, mas que redirecionava para um site dele já extinto (Ele ainda não podia postar imagem
).
Naquela época, só tinhamos os endereços legacy, aqueles que começam com 1Talcoisa. Hoje já existem os endereços Segwit, e estes também podem ser personalizados e vou ensinar como fazer os dois neste tópico aqui. Infelizmente, o gerador para os endereços legacy antigos são muito mais eficientes, dá pra utilizar GPU, é muito mais rápido e personalizável, mas também é legal ter um endereço Segwit personalizado.
Infelizmente, o gerador de endereços Segwit por enquanto não tem versão para Windows, só pra Linux...
Estes passos eu fiz no Ubuntu naquele modo "Live USB" no qual ele roda somente na memória ram e não é preciso instalá-lo na máquina.
Bem, dito isso vamos ao tutorial:
Endereços LegacyPrimeiramente, podemos baixar os arquivos necessários por meio deste tópico (agradecimento ao @samr7):
https://bitcointalksearch.org/topic/vanitygen-vanity-bitcoin-address-generatorminer-v022-25804Link direto dos binários para windows:
https://github.com/downloads/samr7/vanitygen/vanitygen-0.22-win.zipPrimeiro, é necessário extrair o arquivo. Após extraído, abra a janela de comando (ou PowerShell) apontando para a pasta para onde foram extraídos os arquivos (Segurar o shift e clicar com o botão auxiliar mostrará a opção)
Para gerar os endereços utilizando a CPU digite o seguinte comando:
Palavra Teste e no começo do endereço como exemplo.
O que aparecerá no prompt de comando é o seguinte:
A última parte dá uma informação da probabilidade do endereço ser encontrado e em quantas horas deve demorar para se atingir 50% de probabilidade.
Lembrando que a cada caractere o tempo aumenta exponencialmente, a questão da probabilidade e o tempo é somente um indicativo, se você tiver com sorte pode achar o endereço em 1 minuto ou em 10 horas. É tentativa e erro.
Sempre lembre de utilizar o 1 na frente porque endereços legacy sempre começam com 1.
Caso não queira que a palavra não esteja no início pode utilizar o seguinte comando:
Caso não deseje que a palavra seja case sensitive (Ou seja, que ela esteja no endereço exatamente como digitou, por exempo teste e não tESte) você pode utilizar o seguinte comando utilizando o parâmetro -i
Caso você tenha uma GPU e deseja utilizá-la para gerar endereços personalizados você deve utilizar o 'oclvanitygen' e selecionar o dispositivo no qual você quer gerar o endereço. Para que apareçam os dispositivos digitem o seguinte comando:
oclvanitygen -d 0:0 1Teste
Aparecerá os dispositivos como a seguir:
Para utilizar a GeForce 940MX eu preciso utilizar os parâmetros 0:0. Como exemplo, se eu quisesse utilizar a Intel(R) HD Graphics 620 eu precisaria do parâmetro 1:0
Assim, para utilizar a sua GPU digite o seguinte comando:
oclvanitygen -D 0:0 1Teste
E você terá o endereço gerado em um tempo muito mais rápido (só olhar a previsão para a probabilidade de 50% e comparar com a CPU).
Endereços Segwit - Disponível somente para linux no momento. Tutorial feito no Ubuntu via Live USB
Quem fez este gerador foi o usuário @nullius neste tópico:
https://bitcointalksearch.org/topic/segvan-segwit-vanity-address-bulk-address-generator-2934774Antes de tudo, é preciso baixar uma biblioteca para que o programa possa ser compilado. Para isso abram o Terminal e digitem:
sudo apt-get install libssl-dev
Assim que estiver instalado essa biblioteca, o próximo passo é fazer o download do projeto no github:
https://github.com/nym-zone/segvanCom o arquivo baixado, extraia o arquivo e na pasta extraída abram uma janela do Terminal. (Só clicar com o botão auxiliar dentro da pasta e vai ter a opção).
Assim que abrir deem o comando:
Este processo fará o gerador ser compilado. Passado alguns segundos vocês estarão aptos a gerar o endereço Segwit, tanto bech32 quanto p2sh.
Por exemplo, se você deseja gerar um endereço que tenha "teste" em bech32, dê o seguinte comando:
O resultado vocês podem ver na imagem a seguir:
Obtive o seguinte endereço: bc1q
teste6zycuc4vqzlghde3ksq3j234q83stc9hk
Com a chave privada respectiva: LDYnfA8Kz7ApfSa9ZsLNedViZFvgfPZkZh42vqbsqJ4T1MoTksmg
Como endereços bech32 são somente com letras minúsculas, não faz muita diferença setar se você quer case sensitive ou não.
Para endereços p2sh você pode utilizar o seguinte comando para case insensitive:
Ou se você quiser case sensitive
Fiz o teste com o a palavra TESTE em letras maiúsculas e o resultado obtido foi o seguinte:
A lista completa de comandos é essa aqui:
Vanity generation mode:
-r [pattern] Search for bech32 address matching pattern
-R [pattern] Search for Segwit nested P2SH address matching pattern
-I Case-*sensitive* search; does not affect bech32
-i Case-insensitive search (default)
Rapid bulk address generation mode:
-b [naddr] Generate naddr bech32 addresses
-3 [naddr] Generate naddr Segwit nested P2SH ("3") addresses
Espero que tenha ajudado alguém que tenha interesse neste tipo de curiosidade e me desculpem caso não fique algo claro, principalmente para o gerador em Segwit já que é no Ubuntu e eu não domino muito. O gerador para Segwit ainda é muito novo e ainda há muito a ser melhorado.
Muitas pessoas perguntam: Eu poderia usar isso para pesquisar um endereço completo? Sim, poderia, mas a quantidade de caracteres é tão grande que em teoria demoraria mais que a idade do universo para você encontrar a private key.