DISTRIBUCIÓN DE FRECUENCIAS DE LAS DIRECCIONES DE VANIDAD BITCOIN (Desentrañando los secretos de Bitcoin)

in #stem-espanol3 years ago (edited)


Fuente

Las direcciones bitcoin son identificadores que se usan para recibir los bitcoins enviados en las transacciones, actualmente las direcciones que se usan la mayoría de las veces 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 comienzan por el número 1 seguido de un conjunto de caracteres alfanuméricos, por ejemplo:

1H7J1YmvrWUMf9EeBj2pCqJYVadfTnuW6r

Sin embargo, tras la activación del SoftFork de SegWit (Testigo Segregado), se suele usar un tipo de transacción que permite ahorrar espacio en los bloques mediante la eliminación de ciertos datos en las firmas criptográficas, las direcciones de tipo segwit suelen comenzar con el número 3, por ejemplo:

3JsahweWgUgZRR2fBWGLXnz8qbpyZfsWkK

También pueden crearse direcciones personalizadas en las cuales los primeros caracteres formen una palabra o las iniciales de algún nombre por ejemplo:

1Davidi92Y3zTJ5Qm4TdPqBWSk8pgdUGHG

En la cual podemos observar el nombre “David” al inicio de la dirección bitcoin, direcciones de este tipo se suelen usar para identificar algún comercio, negocio o a una persona que recibe los fondos enviados a dicha dirección. A continuación les comparto el link del Criptovanity un generador de direcciones de vanidad de mi autoría con el cual pueden realizar pruebas generando sus propias direcciones de vanidad:

http://www.mediafire.com/file/j85g9sr6voow3v5/CriptoVanity_Beta.jar

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 la coincidencia que se desee buscar por lo cual es en esencia un cálculo de fuerza bruta computacional, debido a la dificultad de este cálculo la mayoría de las direcciones de vanidad suelen tener hasta 6 caracteres.

En el presente artículo se realizó un estudio de cuáles son los caracteres iniciales que con mayor frecuencia aparecen en el primer millón de direcciones bitcoin (recordando que las claves privadas básicamente son números se usaron los números desde el 1 al 1.000.000), para lograr este objetivo se diseño un script en PHP y MYSQL para poder analizar la información de la base de datos creada, los resultados obtenidos se reflejan en la siguiente tabla:

frecDir.jpg
Tabla N° 1 Frecuencia de aparición de cada carácter en las primeras 1.000.000 direcciones de vanidad - Fuente: Elaboración propia

Se debe resaltar que la tabla anterior muestra la frecuencia de aparición de cada carácter sin importar si es mayúscula o minúscula, no se encontró ninguna dirección de vanidad cuya letra después del 1 inicial sea 1, es decir, que inicie por “11” , adicionalmente son poco frecuentes la las direcciones de vanidad que inicien por 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 existen los caracteres “O” ni “I” mayúsculas).

En relación a la frecuencia de aparición de las letras en las direcciones SegWit los resultados son los siguientes:

tabsw.png
Tabla N° 2 Frecuencia de aparición de cada carácter en las primeras 1.000.000 direcciones de vanidad Segwit - Fuente: Elaboración propia

En este caso podemos observar resultados aún más sorprendentes, podemos ver que el programa desarrollado no pudo encontrar ninguna dirección de vanidad cuyo carácter inicial después del 3 sea “i”, “o” ni tampoco todas las letras que van desde la “s” hasta la “z”, por cual si nuestro nombre empieza por una de estas letras como por ejemplo “Simon” es prácticamente imposible encontrar una dirección SegWit que coincida con este patrón de búsqueda.

Todos estos resultados nos permiten ver que el algoritmo de Hashing HASH160 encargado de generar las direcciones bitcoin, no distribuye los valores de forma uniforme sino que curiosamente genera con mayor frecuencia las primeras letras del alfabeto por lo cual es mucho más fácil encontrar direcciones de vanidad que empiecen por alguna de estas letras.

Así que si te llamas Carlos aprovecha tu buena suerte y ponte a buscar direcciones de vanidad con tu nombre, que tienes buenas posibilidades de encontrarla.

Sort:  

Felicidades!

Que bueno que sigas dilucidando los datos más recónditos de esta criptomoneda para que los usuarios de steemit.com aclaren sus dudas sobre el BTC y que nuestra comunidad científica #stem-espanol aproveche tu potencial al máximo.
Buen trabajo mi estimado @ydavgonzalez

Gracias por el apoyo, me alegra que mis contribuciones sean bien valoradas