Frecuencia de aparición de cada letra en las Direcciones de Vanidad Bitcoin
Las direcciones bitcoin que se usan con mayor frecuencia a la hora de recibir dinero son las direcciones para transacciones P2PKH (Pay to Public Key Hash – Pago a Hash de Clave Pública), las cuales deben comenzar por el número 1 seguido de un conjunto de caracteres alfanuméricos, por ejemplo:
14yKahAMTXdnBzyThRf59LnpS53dLFqSWq
Sin embargo se pueden crear direcciones personalizadas en las cuales las primeras letras forman una palabra o las iniciales de algún nombre por ejemplo:
1Davidi92Y3zTJ5Qm4TdPqBWSk8pgdUGHG
En la cual podemos apreciar el nombre “David” al inicio de la dirección bitcoin, estas direcciones suelen usarse para identificar a algún comercio o negocio o a una persona que recibe los pagos enviados a dicha dirección. Generar una dirección de vanidad básicamente consiste en probar con miles y hasta millones de claves privadas e ir generando las direcciones correspondientes hasta encontrar el patrón que corresponda por lo cual es en esencia un cálculo de fuerza bruta computacional, debido a la dificultad del cálculo la mayoría de las direcciones de vanidad suelen tener hasta 6 caracteres.
Ahora bien, en el presente estudio se generó el primer millón de claves privadas (correspondientes al número 1 hasta el 999.999 en hexadecimal) con sus respectivas direcciones bitcoin tanto comprimidas como descomprimas para analizar la frecuencia de aparición de cada carácter en la primera letra de cada dirección de vanidad (sin tener en cuenta al 1 inicial), obteniéndose los siguientes resultados:
Se debe tener en cuenta que la tabla anterior muestra la frecuencia de aparición de cada letra sin importar si es mayúscula o minúscula, se puede apreciar que no se encontró ninguna dirección de vanidad cuyo carácter después del 1 inicial sea 1, es decir, que comience por “11” , también es de resaltar que es mucho más difícil encontrar direcciones de vanidad que comiencen por alguna de las letras que van desde la “r” hasta la “z”, o por las letras “o” o “i” (esto se debe al hecho de que en Base58Check no contiene “O” ni “I” mayúsculas).
Finalmente se incluye el link de descarga a un generador de direcciones de vanidad de mi autoría escrito en el lenguaje de programación Java
http://www.mediafire.com/file/j85g9sr6voow3v5/CriptoVanity_Beta.jar
Muy interesante este uso de herramientas que nos permiten una mayor custodia de nuestros btc . una pregunta amigo, el programa se ejecuta mejor en SO GNU/LINUX¿
Es posible, depende de la implementación de la Java Virtual machine (JVM)