Bitcoin Forum
April 23, 2021, 12:27:22 PM *
News: Latest Bitcoin Core release: 0.21.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1]
  Print  
Author Topic: [Tutorial] Gerando endereços Bitcoin personalizados (Legacy/Segwit)  (Read 217 times)
cryptobaboon
Sr. Member
****
Offline Offline

Activity: 1288
Merit: 469



View Profile
January 25, 2020, 04:06:21 AM
Last edit: February 12, 2020, 06:38:07 PM by cryptobaboon
Merited by TryNinja (5), bitmover (4), 1miau (4), Alveus (2), girino (1), Loganota (1), tg88 (1), alegotardo (1), dive (1)
 #1

Com a necessidade de gerar um novo endereço personalizado recentemente, recorri aos geradores de endereços vanity me lembrei deste tópico massa do @Loganota, em que ele apontava a ferramenta Vanitygen (open-source) que o usuário @samr7 codificou para este propósito.

A ferramenta, apesar de muito simples e objetiva, acabou sentindo o peso da idade (o release foi realizado em 2011) e sua performance já não era mais compatível com os novos equipamentos e o poderio absurdo que alcançam comparado à performance dos disponíveis à época. Isso se deu, principalmente, pela forma como os cálculos eram realizados na aplicação. Visando este gap, o usuário @Jean_Luc criou um outro aplicativo extremamente similares, o VanitySearch, também open-source.

Apresentado pelo seu criador como um app similar ao vanitygen, ele destaca que a principal vantagem em relação à primeira solução, é justamente em relação a performance (tradução): "As principais diferenças com o Vanitygen são que o VanitySearch não está usando o OpenSSL, pesado para o cálculo da CPU, e que o kernel é escrito em Cuda para aproveitar ao máximo o assembly PTX embutido.". Somado a esse trabalho direto no modelo de cálculo, a GPU também pode ser utilizada (uma mão na roda para quem tem alguma mid-high end dando sopa por aí). Como isso tudo se reflete em casos reais? Mais agilidade e, consequentemente, menor tempo de processamento e encontro do endereço com o fragmento desejado!

Sem mais delongas, me basearei nos procedimentos do próprio repositório para este breve tutorial.



Í N D I C E

1. Introdução
2. Indicações
3. Instalação no Windows
4. Instalação no Linux
5. Utilização
6. Bônus: Compartilhamento de processamento (sem intermediários)
7. Comparativos de performance
8. Curiosidades



1. INTRODUÇÃO

Um vanity address nada mais é do que um endereço personalizado. O conceito aqui é permitir que um determinado fragmento de texto seja "'humano-legível", ou seja, que entre seus caracteres e números exista uma formação que contemple um fragmento que venha a significar/remeter a algo - a critério do usuário, é claro.

É sabido que há uma série absurda de combinações possíveis dentro da composição dos endereços do Bitcoin. A idéia é, dentre elas, encontrar uma private key que estabeleça o acesso a um endereço que contenha esse conjunto de caracteres.

Mas como isso é feito? Para entender o resultado, é importante entender como o endereço do Bitcoin é formado. Diferente do que alguns imaginam, a criação do endereço público é um resultado de uma função de hash unidirecional sobre a chave privada, não o inverso. A operação é realizada em um trabalho entre os algoritmos SHA-256 e RIPEMD-160 e pode ser melhor compreendido neste artigo, em um fluxo que se resume em 10 etapas.

Da mesma forma que um bloco é calculado com um determinado poder computacional, aplicações com o fim de encontrar estes endereços (de acordo com as diretrizes impostas pelo usuário) também foram desenvolvidas usando o mesmo conceito. Seu funcionamento, assim como no cálculo matemático para a busca da solução no primeiro caso, depende unicamente do poderio da estação utilizada com este fim para, na base de tentativa e erro, seguir o fluxo indicado acima até que a resultante seja um endereço que contenha o desejado.

Os exemplos abaixo (alguns retirados deste tópico) dão uma idéia de quão interessante e vasto se mostra este campo:

1GooGLENHF5qVhatsHyUsyczdj6XJR54xd
1BitcoinhqMmNrqnBKvdHeA4vmzb4uvuSg
1234mNnAPb8YnCsbacaNhB4BqwxB4U4321
1FoxBitjXcBeZUS4eDzPZ7b124q3N7QJK7
1234567891p1rBJWFPmHTUiupi1VA6YKQw
1BTCSaves51HfxTygLgGX2EcUgT6A1pyvK

A imaginação é o limite! Depende de você (e do seu hardware e tempo) para alcançá-lo Smiley



2. INDICAÇÕES

Como sabemos, nossas atividades no PC estão sendo sempre monitoradas (advertida ou inadvertidamente) e a melhro forma de evitar esta situação é se livrar dos possíveis pontos de falha. Neste caso, a maior e melhor indicação para lidar não apenas com o processo de geração de chaves pública/privada, mas com suas chaves no geral, é tratar diretamente a causa e não os sintomas: utilizar um PC que não está conectado à internet ou desligar algum que esteja conectado à grande rede, porém, executar sobre ele uma instância.

Para quem não sabe ao certo do que se trata, estamos falando de efetuar o carregamento do Sistema Operacional na memória RAM de seu PC. Esta, por sua vez, por se tratar de uma memória volátil (ou seja, que perde o estado na ausência de energia) não manterá nenhuma informação assim que a estação for desligada.

O processo, comumente chamado de Live OS pode ser executado por intermédio de qualquer meio de armazenamento externo, servindo como ponte para que os arquivos necessários para a execução da plataforma sejam carregados logo em sua inicialização. Logicamente, este não é o escopo central deste passo-a-passo e, certamente o deixaria bem extenso. Separei, então, alguns tutoriais que poderão auxiliar os iniciantes nesta tarefa:





3. INSTALAÇÃO NO WINDOWS

1) Baixe o arquivo VanitySearch.exe (ou a versão mais atualizada na aba de Releases - lembrando que este tutorial está sendo montado sobre a versão corrente v1.16. As etapas estão sujeitas a alterações em possíveis versões subsequentes).

2) Abra o prompt de comando (Iniciar > Executar > cmd) e acesse a pasta onde o arquivo .exe foi baixado anteriormente (utilize o comando cd caminho - onde caminho é o caminho absoluto do diretório em questão, ex: cd C:/vanity) ou PowerShell (acesse o diretório que contém o arquivo .exe e com a tecla Shift pressionada, clique com o botão direto em algum lugar e escolha a opção Abrir janela do PowerShell aqui).



4. INSTALAÇÃO NO LINUX

1) Baixe o arquivo 1.16.tar.gz (ou a versão mais atualizada na aba de Releases - lembrando que este tutorial está sendo montado sobre a versão corrente v1.16. As etapas estão sujeitas a alterações em possíveis versões subsequentes).

2) Acesse o diretório, compile e execute o VanitySearch (caso o CUDA SDK não esteja instalado ainda, instale-o e altere CUDA e CXXCUDA com os respectivos diretorios, em makefile):
Code:
$ make gpu=1 ccap=20 all
~/VanitySearch$ ./VanitySearch



5. UTILIZAÇÃO

1) No prompt de comando você deverá entrar com o nome do executável (se mantido o original, VanitySearch.exe), seguido dos argumentos desejados para o início da operação precedidos por um hífen. Os argumentos são as opções disponíveis para mudanças no comportamento durante a execução do aplicativo. Seguem todos os disponíveis e respectivas descrições:

Quote
VanitySearch [-check] [-v] [-u] [-b] [-c] [-gpu] [-stop] [-i inputfile]
             [-gpuId gpuId1[,gpuId2,...]] [-g gridSize1[,gridSize2,...]]
             [-o outputfile] [-m maxFound] [-ps seed] [-s seed] [-t nbThread]
             [-nosse] [-r rekey] [-check] [-kp] [-sp startPubKey]
             [-rp privkey partialkeyfile] [prefix]

prefix: prefixo para buscar (pode conter wildcards - '?' ou '*') - lembre-se que para endereços segwit, bc1q ou 3 terão de ser utilizado, assim como 1 para os legacy
-v: imprimir a versão
-u: buscar endereços não comprimidos
-b: buscar tanto endereços não comprimidos como endereços comprimidos
-c: busca case unsensitive (não há diferenciação de maiúsculas e minúsculas)
-gpu: habilitar cálculo por GPU
-stop: parar quando todos os prefixos forem encontrados
-i inputfile: utilizar uma lista de prefixos para serem buscados a partir de um arquivo (utilize o caminho absoluto do mesmo)
-o outputfile: resultados exportados para um arquivo externo (utilize um caminho absoluto)
-gpu gpuId1,gpuId2,...: lista de GPUs para utilizar, o padrão é 0
-g gridSize1,gridSize2,...: especificar o gridsize do kernel da(s) GPU(s), o padrão é 8*(MP number)
-m: especificar o número máximo de prefixos encontrados por cada chamada do kernel
-s seed: especificar uma seed para a chave base, a padrão é aleatória
-ps seed: especificar uma seed concatenada com uma seed aleatória segura criptografada
-t threadNumber: especificar o número de threads da CPU, o padrão é o número de núcleos disponíveis na mesma
-nosse: desabilitar a função de hash SSE
-l: listar os dispositivos habilitados pela Cuda
-check: checar CPU + GPU vs CPU
-kp: gerar os pares de chave
-rp privkey partialkeyfile: reconstruir chave(s) privada(s) final(is) a partir de uma ou mais chaves parciais.
-sp startPubKey: iniciar a pesquisa com uma chave pública (para divisão de chave privada)
-r rekey: Intervalo de Rekey na MegaKey, o padrão é desabilitado

2) Como podem notar, temos uma série de opções disponíveis. Acredito que justamente por termos uma variedade tão extensa, seria bem difícil cobrir todos os cenários possíveis, então darei alguns exemplos com o que eu acredito que possivelmente serão os mais comuns (obs.: exemplos com diretórios em ambiente Windows; a mesma estrutura de argumentos se aplica ao Linux, porém, com as definições corretas de caminho):

  • a) Buscar endereço legacy que:
    • utilize apenas a CPU com a contagem de threads padrão;
    • contenha o prefixo teste e que esteja contido logo no início do endereço;
    • pare a pesquisa quando o grupo de caracteres for encontrado;
    Code:
    VanitySearch.exe -stop 1teste
  • b) Buscar endereço segwit que:
    • utilize tanto a CPU quanto a GPU com a contagem de threads padrão;
    • contenha o prefixo teste, que independa sua posição no endereço e que não se diferencie maiúsculas e minúsculas;
    • pare a pesquisa quando o grupo de caracteres for encontrado;
    • a GPU seja utilizada;
    Code:
    VanitySearch.exe -stop -gpu -c bc1q*teste*
  • c) Buscar endereço segwit/legacy que:
    • utilize tanto a CPU quanto a GPU com a contagem de threads padrão;
    • contenha os prefixos de uma lista contida em um arquivo chamado exemplos.txt (obs.: inserir um grupo de caracteres por linha dentro do arquivo, para correta interpretação, e seguir a mesma padronização de wildcards) localizado na raiz do drive C:
    • a GPU seja utilizada;
    • pare a pesquisa quando o grupo de caracteres for encontrado;
    Code:
    VanitySearch.exe -stop -gpu -i C:\exemplos.txt
  • d) Buscar endereço segwit que:
    • utilize tanto a CPU quanto a GPU com a contagem de threads padrão;
    • contenha o prefixo teste e que independa sua posição no endereço;
    • pare a pesquisa quando o grupo de caracteres for encontrado;
    • exporte os resultados para um arquivo de texto chamado seeds.txt localizado na raiz do drive C:
    Code:
    VanitySearch.exe -stop -gpu -o C:\seeds.txt bc1q*teste*


    6. BÔNUS: COMPARTILHAMENTO DE PROCESSAMENTO (SEM INTERMEDIÁRIOS)

    Com a chegada da primeira solução do samr7 (Vanitygen) e com a lenta performance enfrentada pelas máquinas na época de seu release, essa distribuição era extremamente necessária até mesmo para os grupos de caracteres mais curtos. Um processo que hoje leva segundos ou minutos, naquela época levava horas e dias. Visando este gap, uma pool foi criada pelo user @ThePiachu - como na mineração, a idéia aqui era fornecer poder computacional para ajudar nos cálculos para o encontro do endereço com o fragmento desejado e até uma recompensa em BTC era envolvida no processo.

    Pelo que noto já há muito ela não é utilizada, mas nem por isso a idéia da distribuição precisava morrer... buscando um resultado semelhante, mas por meios distintos, o VanitySearch trouxe consigo característica bacana  para distribuir a tarefa de processamento de uma chave realizando a segmentação dos processos de cálculo, de maneira que não exista vínculo entre eles e, principalmente, que não exista o papel de um agente centralizador. A idéia é que todos os agentes do processo tenham um fragmento da informação e nunca ela por inteiro, impedindo seu agrupamento por outro que não o originador da tarefa e consequente acesso ao endereço.

    O fragmento abaixo é uma tradução direta da explicação dada pelo Jean no repositório, incluindo um cenário proposto para dar mais forma ao funcionamento da coisa:

    Quote
    Gerando um endereço vanity para um terceiro usando uma split-key

    É possível gerar um endereço personalizado para terceiros de maneira segura usando uma split-key.
    Por exemplo, Alice deseja um bom prefixo, mas não possui desemepnho suficiente em sua CPU. Bob tem uma CPU com o desempenho necessário para a tarefa, mas não pode conhecer a chave privada de Alice, Alice precisa usar uma split-key.

    • Etapa 1
      Alice gera um par de chaves em seu computador e envia a chave pública gerada e o prefixo desejado a Bob. Isso pode ser feito por e-mail, nada é secreto. No entanto, Alice precisa manter com segurança a chave privada e não expô-la.
      Code:
      VanitySearch.exe -s "AliceSeed" -kp
      Priv : L4U2Ca2wyo721n7j9nXM9oUWLzCj19nKtLeJuTXZP3AohW9wVgrH
      Pub  : 03FC71AE1E88F143E8B05326FC9A83F4DAB93EA88FFEACD37465ED843FCC75AA81
      Nota: O par de chaves (key pair) é um par de chaves padrão SecpK1 e pode ser gerado com um software de terceiros.

    • Etapa 2
      Bob executa o VanitySearch usando a chave pública da Alice e o prefixo desejado.
      Code:
      VanitySearch.exe -sp 03FC71AE1E88F143E8B05326FC9A83F4DAB93EA88FFEACD37465ED843FCC75AA81 -gpu -stop -o keyinfo.txt 1ALice
      Ele gera um arquivo keyinfo.txt que contém a chave privada parcial.
      Code:
      Endereço Público: 1ALicegohz9YgrLLa4ADCmam7X2Zr6xJZx
      Chave Privada parcial: L2hbovuDd8nG4nxjDq1yd5qDsSQiG8xFsAFbHMcThqfjSP6WLg89
      Bob envia de volta este arquivo para Alice. Também pode ser feito por e-mail. A chave privada parcial não permite que ninguém adivinhe a chave privada final de Alice.

    • Etapa 3
      Alice pode reconstruir a chave privada final usando sua chave privada (a gerada na Etapa 1) e o conteúdo do arquivo keyinfo.txt de Bob.
      Code:
      VanitySearch.exe -rp L4U2Ca2wyo721n7j9nXM9oUWLzCj19nKtLeJuTXZP3AohW9wVgrH keyinfo.txt

      Pub Addr: 1ALicegohz9YgrLLa4ADCmam7X2Zr6xJZx
      Priv (WIF): p2pkh:L1NHFgT826hYNpNN2qd85S7F7cyZTEJ4QQeEinsCFzknt3nj9gqg
      Priv (HEX): 0x7BC226A19A1E9770D3B0584FF2CF89E5D43F0DC19076A7DE1943F284DA3FB2D0

      Como funciona
      Basicamente, o argumento -sp (start public key) adiciona a chave pública inicial especificada (vamos chamá-la de Q) às chaves iniciais de cada thread. Isso significa que, quando você pesquisa (usando -sp), não procura por addr(k.G), mas por addr(kpart.G+Q), onde k é a chave privada no primeiro caso e kpart a "chave privada parcial" no segundo caso. G é o ponto do gerador SecpK1.

      Em seguida, o solicitante pode reconstruir a chave privada final executando kpart+ksecret(mod n) em que kpart é a chave privada parcial encontrada pelo pesquisador e ksecret é a chave privada de Q (Q=ksecret.G). Esse é o objetivo do argumento -rp.

      O pesquisador encontrou uma correspondência para addr(kpart.G+ksecret.G) sem conhecer o ksecret, para que o solicitante tenha o endereço desejado addr(kpart.G+Q) e a chave privada correspondente kpart+ksecret(mod n). O pesquisador não consegue adivinhar essa chave privada final porque ele não conhece o ksecret (ele conhece apenas Q).

      Nota: Essa explicação é simplificada, ela não trata das otimizações de simetria e endomorfismo, mas a ideia é a mesma.



      7. COMPARATIVOS DE PERFORMANCE

      Depois que o VanitySearch viu a luz do dia, uma série de testes começaram a ser realizados pela comunidade e o usuário @DaveF fez um catado de todas até aquele momento (último update em 25/Nov/19). A disposição está um pouco confusa, então eu dei uma tweakada para ficar com uma visualização um pouco mais fácil e objetiva (com destaque em vermelho para os com melhores números):

      |
      Data
      |
      Tipo
      |
      Modelo
      |
      Cores
      |
      Grid
      |
      Desempenho
      |
      |29/04/2019|
      GPU
      |GeForce GTX 1080 Ti|
      28x128 cores
      |
      Grid (224x128)
      |
      914.418 MK/s (GPU 896.216 MK/s)
      |
      |29/04/2019|
      GPU
      |GeForce GTX 1050 Ti|
      6x128 cores
      |
      Grid (48x128)
      |
      220.180 MK/s (GPU 220.180 MK/s)
      |
      |29/04/2019|
      GPU
      |GeForce GT 520M|
      1x48 cores
      |
      Grid (8x128)
      |
      10.233 MK/s (GPU 7.026 MK/s)
      |
      |29/04/2019|
      GPU
      |GeForce RTX 2070|
      36x64 cores
      |
      Grid (288x128)
      |
      1535.880 MK/s (GPU 1470.257 MK/s)
      |
      |30/04/2019|
      GPU
      |GeForce GTX 1060 3GB|
      9x128 cores
      |
      Grid (72x128)
      |
      321.929 MK/s (GPU 321.929 MK/s)
      |
      |30/04/2019|
      GPU
      |GeForce GTX 1080|
      20x128 cores
      |
      Grid (160x128)
      |
      672.062 MK/s (GPU 672.062 MK/s)
      |
      |01/05/2019|
      CPU+GPU
      |Tesla V100-SXM2-16GB|
      80x64 cores
      |
      Grid (640x128)
      |
      1815.000 MK/s (GPU 1815.000 MK/s)
      |
      |01/05/2019|
      CPU+GPU
      |GeForce GTX 750 |
      4x128 cores
      |
      Grid (32x128)
      |
      104.960 MK/s (GPU 94.405 MK/s)
      |
      |03/05/2019|
      CPU
      |i7-7700K|
      8 cores
      |
      8 threads
      |
      22.092 MK/s (GPU 0.000 MK/s)
      |
      |03/05/2019|
      CPU
      |i7-7700K|
      8 cores
      |
      7 threads
      |
      21.609 MK/s (GPU 0.000 MK/s)
      |
      |08/05/2019|
      CPU+GPU
      |EVGA RTX 2080 XC ULTRA|
      ?
      |
      ?
      |
      1427.967 MK/s (GPU 1424.946 MK/s)
      |
      |23/05/2019|
      GPU
      |GeForce GTX 1660 Ti|
      ?
      |
      ?
      |
      961.319 MK/s (GPU 961.319 MK/s)
      |
      |23/05/2019|
      GPU
      |GeForce RTX 2080 Ti|
      68x64 cores
      |
      Grid(544x128)
      |
      2564.000 MK/s (GPU 2564.000 MK/s)
      |
      |08/06/2019|
      GPU
      |GeForce GTX 960M|
      5x128 cores
      |
      Grid(40x128)
      |
      117.802 MK/s (GPU 117.802 MK/s)
      |
      |23/07/2019|
      GPU
      |GeForce GTX 1660|
      22x64 cores
      |
      Grid(176x128)
      |
      839.061 MK/s (GPU 839.061 MK/s)
      |
      |25/07/2019|
      GPU
      |GeForce GTX 1650|
      14x64 cores
      |
      Grid(112x128)
      |
      511.906 MK/s (GPU 511.906 MK/s)
      |
      |21/11/2019|
      CPU+GPU
      |GeForce GTX 970|
      13x128 cores
      |
      Grid(104x128)
      |
      360.322 MK/s (GPU 331.442 MK/s)
      |
      |25/11/2019|
      GPU
      |GeForce GTX 980|
      16x128 cores
      |
      Grid(128x128)
      |
      375.384 MK/s (GPU 375.384 MK/s)
      |
      |25/11/2019|
      GPU
      |GeForce RTX 2060 SUPER|
      34x64 cores
      |
      Grid(272x256)
      |
      1361.71 MK/s (GPU 1361.71 MK/s)
      |
      |25/11/2019|
      GPU
      |GeForce RTX 2080 SUPER|
      48x64 cores
      |
      Grid(384x256)
      |
      2001.52 MK/s (GPU 2001.52 MK/s)
      |



      8. CURIOSIDADES

      Por fim, deixo aqui algumas curiosidades sobre este tópico:

      • Por que se chama "vanity address"? De onde veio este nome?
        O termo vanity address (em tradução direta, endereço de/com vaidade) deriva da expressão vanity plate utilizado para referenciar placas de carros personalizadas. Exemplo:


        Uma vanity plate em Amarillo, Texas, referenciando o personagem de Star Wars Chewbacca (FONTE)

        Clique aqui para saber mais sobre o assunto.


      • Existem serviços (pagos ou gratuitos) que podem ser utilizados para gerar estes endereços?
        Como tudo, a oferta/demanda sempre traz a oportunidade de um novo negócio. Se a própria possibilidade de injeção de valores através do serviço já abre a possibilidade para golpes, imagine quando estamos falando de uma operação que resulta no provimento das chaves públicas/privadas de um endereço que, em teoria, será utilizado como carteira para movimentações de BTC?!

        Sabendo da dificuldade envolvida para este processamento, empresas disponibilizam parte de seu poder computacional para alcançar este objetivo. Tratam-se de companhias idôneas? Não me compete aqui dar esse veredito, no entanto, é importantíssimo frisar que ao ter sua private key exposta para qualquer agente, mesmo que "intermediador" neste caso, cria um enorme ponto de falha. Portanto, CUIDADO! Antes demorar um bocado até encontrar seu endereço do que correr o risco de perder seus fundos. Lembre-se: "Not your keys, not your bitcoins"


      • Encontrando a chave privada de um endereço público completo
        "Se ao invés de alguns caracteres optássemos por buscar por um endereço completo, seria possível?". Bom, essa certamente é a primeira pergunta que vêm à mente depois de ver quão simples é o processo. A resposta para ela é: sim e não. O processo é o mesmo seja para 1 ou 64 caracteres. O que muda? Digamos que um pouquinho a mais de tempo  Grin.

        Para vocês terem uma idéia da magnitude de tempo, há um fragmento no repositório que explica a probabilidade de que uma busca encontre um mesmo endereço e, através dela, você pode identificar quão improvável e, consequentemente, quantos endereços possíveis estão envolvidos nestes cálculos. Basicamente, usando o exemplo citado (com um dispositivo que performe a 1 GK/s e uma lista com 1 milhão de endereços) a chance de colisão com a melhor probabilidade seria de nada menos que 0.00000000000000028, sob um tempo correspondente ao que ele indica como a idade do universo (~13 bilhões de anos). Como estamos falando de um processo de tentativa-e-erro, o conceito muito se assemelha ao encontro dos blocos na rede, mas digamos que aqui a dificuldade já começa do topo máximo Grin

        Os computadores quânticos estão quase virando a esquina (talvez nem tão próximo assim para as massas), então restará aos devs evoluir em paralelo, criando manobras ao decorrer deste período.


      • Qual o endereço mais longo já gerado desta forma que se tem notícia?
        É difícil dizer, já que a ferramenta é totalmente open-source e qualquer pessoa, em qualquer lugar do mundo, pode ter levado anos gerando um endereço mais longo que não necessariamente signifique algo para você. Dando uma pesquisada sobre os malucos de plantão, encontrei essa menção do usuário @etotheipi em 2012 informando que passou cerca 70 dias para encontrar o grupo de caracteres que buscava usando o vanitygen (a primeira solução). De acordo com ele o endereço não possui dígitos e apenas caracteres maiúsculos e finaliza: "Infelizmente, é tão legal que as pessoas nem o reconhecem como um endereço de Bitcoin".

        Destaco, ainda, que existe um tópico do usuário @flatfly com o "Hall da fama de endereços raros". Já faz um tempinho que o povo não posta por lá, mas vira e mexe aparece algo novo Wink



      Bom, acho que me empolguei e me alonguei um pouco  Grin se alguém encontrar algum erro, dê um grito, assim que der eu dou um tapa.
      Espero que seja de valia a quem for referenciá-lo agora ou no futuro. Como eu sempre digo, conhecimento nunca é demais Smiley
      1619180842
      Hero Member
      *
      Offline Offline

      Posts: 1619180842

      View Profile Personal Message (Offline)

      Ignore
      1619180842
      Reply with quote  #2

      1619180842
      Report to moderator
      Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
      1619180842
      Hero Member
      *
      Offline Offline

      Posts: 1619180842

      View Profile Personal Message (Offline)

      Ignore
      1619180842
      Reply with quote  #2

      1619180842
      Report to moderator
      1619180842
      Hero Member
      *
      Offline Offline

      Posts: 1619180842

      View Profile Personal Message (Offline)

      Ignore
      1619180842
      Reply with quote  #2

      1619180842
      Report to moderator
      alegotardo
      Hero Member
      *****
      Offline Offline

      Activity: 1302
      Merit: 567


      ☢️ alegotardo™️


      View Profile
      January 25, 2020, 11:38:34 AM
       #2

      Wowww,
      Quanta disposição às 01 da madrugada pra escrever um post de desse, meus parabéns!
      Eu já tinha até utilizado um "Vanity" para endereços segwit, mas não me recordo o nome dele e nem se tinha todo o "poder" desse aí.

      Quando tu falou do compartilhamento de processamento, logo me veio a lembrança do site Vanity Pool onde qualquer um pode requisitar geração de um vanity address e em troca oferecer certa recomepensa.
      Bacana também pra quem deseja ganhar uma graninha extra tentando "ajudar" esse pessoal.

      .
      .Duelbits.
                  ▄████▄▄
                ▄█████████▄
              ▄█████████████▄
           ▄██████████████████▄
         ▄████▄▄▄█████████▄▄▄███▄
       ▄████▐▀▄▄▀▌████▐▀▄▄▀▌██

       ██████▀▀▀▀███████▀▀▀▀█████

      ▐████████████■▄▄▄■██████████▀
      ▐██████████████████████████▀
      ██████████████████████████▀
      ▀███████████████████████▀
        ▀███████████████████▀
          ▀███████████████▀
      ▄▀▄
      █   █
      █ █ █
      █ █ █
      █ █ █
      █ █ █
      █ █ █
      █ █ █
      █ █ █
      █▀▀▀▀▀█
      ▀█▀█▀
      █▄█
      █▄█
      ▄▀▄
      █   █
      █ █ █
      █ █ █
      █ █ █
      █ █ █
      █ █ █
      █ █ █
      █ █ █
      █▀▀▀▀▀█
      ▀█▀█▀
      █▄█
      █▄█
      .
               ▄ ▄▄▀▀▀▀▄▄
               ▄▀▀▄      █
               █   ▀▄     █
             ▄█▄     ▀▄   █
            ▄▀ ▀▄      ▀█▀
          ▄▀     ▀█▄▄▄▀▀ ▀
        ▄▀  ▄▀  ▄▀
       ▀▄    ▄▀▀
      Live Games

         ▄▄▀▀▀▀▀▀▀▄▄
       ▄▀ ▄▄▀▀▀▀▀▄▄ ▀▄
      ▄▀ █ ▄  █  ▄ █ ▀▄
      █ █   ▀   ▀   █ █  ▄▄▄
      █ ▀▀▀▀▀▀▀▀▀▀▀▀▀ █ █   █
      █▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█  █▄█
      █ ▀▀█  ▀▀█  ▀▀█ █  █▄█
      █  █    █    █  █  █ █
      Slots
      .
              ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄
              █         ▄▄  █
      ▄▀▀▀▀▀▀▀▀▀▀▀▀▀▄       █
      █  ▄▄         █       █
      █             █       █
      █   ▄▀▀▄▀▀▄   █       █
      █   ▀▄   ▄▀   █       █
      █     ▀▄▀     █   ▀▀  █
      Blackjack
      .
      ▄▄▀█████▀▄▄
      ▄▀▀   █████ ▄▄▀▀▄
      ███▄  ▄█████▄▀▀▄███
      ██████▀▀     ▀▀██████
      █ ▀▀██▀ ▀▄   ▄▀ ▀██▀▀ █
      █    █    ███    █    █
      █ ▄▄██▄ ▄▀   ▀▄ ▄██▄▄ █
      ██████▄▄     ▄▄██████
      Roulette
      .
      █▀▀▀▄             ▄▀▀▀█
      █ ▀▄ ▀▄         ▄▀ ▄▀ █
      ▀▄ ▀▄ ▀▄     ▄▀ ▄▀ ▄▀
      ▀▄ ▀▄ ▀▄  ▀ ▄▀ ▄▀
      ▀▄ ▀▄ ▀▄ ▀ ▄▀
      ▄ ▀▄ ▀▄ ▀▄  ▄
      █ ▀▄ ▀▄ ▀  ▄▀ █
      ▄▀▄ ▀▄ ▀ ▄▀ ▄▀▄
      Dice Duels
      Loganota
      Hero Member
      *****
      Offline Offline

      Activity: 1596
      Merit: 792


      View Profile
      January 25, 2020, 09:06:31 PM
       #3

      Opa, parabéns pelo tópico, muito completo e didático. O meu tutorial eu fiz na época em que saiu o primeiro gerador para bech32 e ainda era bem simples só funcionava no linux. Bom saber que agora temos ferramentas mais completas para fazer esse trabalho.

      Acho muito interessante a parte de endereços vanity e para quem se interessar este é um tópico excelente. Você poderia colocar uma breve descrição do que é um endereço vanity, muita gente não conhece.

      Hoje gastei meu último merit, quando tiver mais passarei por aqui  Wink
      dive
      Full Member
      ***
      Offline Offline

      Activity: 190
      Merit: 176


      View Profile
      January 25, 2020, 09:27:48 PM
       #4

      Excelente artigo! Bem detalhado e completo!

      Encontrei um pequeno typo na linha de comando...
      VanitySeacrh
      cryptobaboon
      Sr. Member
      ****
      Offline Offline

      Activity: 1288
      Merit: 469



      View Profile
      January 26, 2020, 02:22:16 AM
       #5

      Wowww,
      Quanta disposição às 01 da madrugada pra escrever um post de desse, meus parabéns!
      Eu já tinha até utilizado um "Vanity" para endereços segwit, mas não me recordo o nome dele e nem se tinha todo o "poder" desse aí.

      Quando tu falou do compartilhamento de processamento, logo me veio a lembrança do site Vanity Pool onde qualquer um pode requisitar geração de um vanity address e em troca oferecer certa recomepensa.
      Bacana também pra quem deseja ganhar uma graninha extra tentando "ajudar" esse pessoal.
      Valeu, ale! A realidade é que eu comecei a rabiscar alguma coisa ainda na parte da tarde, fui terminar essa hora mesmo... a coisa foi esticando que quando vi, já tinha ido hehe

      Sobre a Vanity Pool, eu cheguei a mencioná-la mesmo bem no começo do tópico bônus Smiley a parte ruim é que pelo que notei faz um tempinho já que não rola uma operação por lá Undecided

      Opa, parabéns pelo tópico, muito completo e didático. O meu tutorial eu fiz na época em que saiu o primeiro gerador para bech32 e ainda era bem simples só funcionava no linux. Bom saber que agora temos ferramentas mais completas para fazer esse trabalho.

      Acho muito interessante a parte de endereços vanity e para quem se interessar este é um tópico excelente. Você poderia colocar uma breve descrição do que é um endereço vanity, muita gente não conhece.

      Hoje gastei meu último merit, quando tiver mais passarei por aqui  Wink
      Valeu, Loga! Toda a inspiração começou no teu tópico mesmo Grin Ao referenciá-lo logo no início, inclusive, a idéia era justamente fazer um gancho e já dar uma introdução ao assunto. Vou montar algo bacana e atualizar o tópico com algo nesse sentido Wink

      Excelente artigo! Bem detalhado e completo!

      Encontrei um pequeno typo na linha de comando...
      VanitySeacrh
      Valeu, dive!

      Quanto ao typo, reli diversas vezes e não encontrei, até ir na base do CTRL+F hehe e não é que veio do fragmento do repositório?!? Tá errado por lá:



      Mas não é porque está errado por lá que temos que manter por aqui, certo?! Arrumado! Smiley
      cryptobaboon
      Sr. Member
      ****
      Offline Offline

      Activity: 1288
      Merit: 469



      View Profile
      January 27, 2020, 01:37:40 PM
      Last edit: January 29, 2020, 10:55:02 AM by cryptobaboon
       #6

      25/01/2020
      - correção (typo em Utilização / Passo 1) - tks @dive


      27/01/2020
      - adição (Introdução)
      - adição (curiosidade quanto aos serviços disponíveis no mercado para este fim)
      - correção (tabulação em Indicações / Passo 2)


      29/01/2020
      - adição (Índice e links de ancoragem)
      bitmover
      Legendary
      *
      Offline Offline

      Activity: 1190
      Merit: 2421



      View Profile WWW
      January 27, 2020, 10:15:58 PM
       #7

      Interessante. Não sabia que existia um vanity generator segwit para Windows.

      Eu conhecia apenas um que o nullius fez em 2018 , mas só Linux.
      https://bitcointalk.org/index.php?topic=2934774.0

      girino
      Legendary
      *
      Offline Offline

      Activity: 2254
      Merit: 1126


      Advertise Here - PM for more info!


      View Profile
      January 27, 2020, 10:56:44 PM
      Merited by bitmover (1)
       #8

      Interessante. Não sabia que existia um vanity generator segwit para Windows.

      Eu conhecia apenas um que o nullius fez em 2018 , mas só Linux.
      https://bitcointalk.org/index.php?topic=2934774.0

      Olhando por alto, esse dai não usa GPU. Acho que a evolução foi essa.

      Advertise Here - PM for more info!
      Pages: [1]
        Print  
       
      Jump to:  

      Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!