Las direcciones bitcoin o bien bitcoin address es una cadena única de número y letras que nos dejan mandar y percibir nuestras monedas de manera segura en internet Bitcoin. Mas ¿De qué forma se produce una dirección bitcoin? ¿Cuál es su secreto?. Puesto que bien aquí te contamos todo sobre este proceso.

Antes de empezar, es imprescindible mentar que este artículo está dirigido a aquellos usuarios que tienen algunos conocimientos sobre Bitcoin y el planeta criptográfico. Con lo que te invitamos a en primer lugar que repases algunos temas propios de este planeta con la intención de que los entiendas. Con esto vas a tener bien claro la relación que guardan con Bitcoin y la creación de direcciones. Entre estos artículos están el de criptografía asimétrica, función hash, algoritmos SHA-256 y ECDSA.

Ahora demos un breve repaso sobre qué es una dirección de Bitcoin. Puedes dar una ojeada en nuestro artículo ¿Qué es una dirección Bitcoin? para ampliar tus conocimientos.

Bien, en el planeta de las criptomonedas, una dirección es un identificador, el sitio al que se asocia y destina una determinada cantidad de criptomonedas. Con lo que, cualquiera que desee mandar o bien percibir criptomonedas precisará contar con siempre y en toda circunstancia de una dirección. Por poner un ejemplo, en Bitcoin las direcciones públicas tienen normalmente esta apariencia: 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa. Como podemos ver son un conjunto de letras y números alternados cuya longitud cambia entre veintiseis y treinta y dos caracteres.

Para crear una dirección, hacen falta un total de nueve pasos que vamos a explicar detalladamente ahora.

Proceso para crear una dirección Bitcoin

El proceso para crear una dirección Bitcoin en primer lugar se empieza con la generación de una clave privada. Esta nos dará el empleo exclusivo de los fondos. Desde esta, se produce una clave pública, que nos dejará compartir información con otras personas sin poner bajo riesgo nuestros fondos. La obtención de la clave pública por medio de la clave privada se debe merced a la aplicación del algoritmo ECDSA. Una implementación muy eficaz de la criptografía de curva elíptica, donde se emplea como punto generador a la curva secp256k1 para conseguir la clave pública.

Entonces, una vez generadas este par de claves, se da comienzo al proceso de producir las direcciones públicas de Bitcoin.

1.- Elegir la clave pública lograda desde el proceso precedente. O sea, de la aplicación del algoritmo ECDSA a la clave privada. La que debe tener una apariencia afín a ésta:

0250863ad64a87ae8a2fe83c1af1a8403cb53f53e486d8511dad8a04887e5b2352

2.- Aplicar un hashing a la clave pública a través de la implementación del algoritmo SHA-256. Este algoritmo deja producir outputs (salidas) de extensión fija desde inputs (entradas) de extensión variable, que son irreversibles. Con lo que son unidireccionales y no es posible inferir la clave privada por medio de la pública.

Luego de aplicar la función hashing conseguiremos una secuencia de doscientos cincuenta y seis bits:

0b7c28c9b7290c98d7438e70b3d3f7c848fbd7d1dc194ff83f4f7cc9b1378e98

3.- Hashear de nuevo la salida lograda previamente, aplicando en un caso así el algoritmo RIPEMD-160. Con el que genera conseguiremos una secuencia de ciento sesenta bits:

f54a5851e9372b87810a8e60cdd2e7cfd80b6e31

4.- Agregar el byte de versión usado para la red primordial de Bitcoin (0x00) delante de la salida lograda de la aplicación del algoritmo de hashing RIPEMD-ciento sesenta. Con esto conseguiremos una dirección Bitcoin en formato hexadecimal, que se va a ver así:

00f54a5851e9372b87810a8e60cdd2e7cfd80b6e31

Y al agregar este byte asimismo deja identificar y distinguir las direcciones Bitcoin de otras criptomonedas que asimismo emplean el protocolo.

5.- Efectuar el hash con el algoritmo SHA-doscientos cincuenta y seis al resultado logrado del RIPEMD-160. Este paso es preciso como mecanismo de verificación para revisar que la dirección de Bitcoin está bien escrita.

ad3c854da227c7e99c4abfad4ea41d71311160df2e415e713318c70d67c6b41c

6.- Aplicar el hash con el algoritmo SHA-doscientos cincuenta y seis al resultado del hash anterior. Con este paso se concadena la dirección conseguida. Como ya mentamos, el algoritmo SHA-doscientos cincuenta y seis se aplica un par de veces como mecanismo de verificación.

c7f18fe8fcbed6396741e58ad259b5cb16b7fd7f041904147ba1dcffabf747fd

7.- Escoger los cuatro primeros bytes del último hash SHA-256, que representan el checksum de la dirección Bitcoin. En este caso de ejemplo serían:

c7f18fe8

8.- Añadir los cuatro bytes del checksum del punto precedente, al hash extendido RIPEMD-ciento sesenta del punto 4. Esto es una dirección binaria de Bitcoin de veinticinco bytes:

00f54a5851e9372b87810a8e60cdd2e7cfd80b6e31c7f18fe8

9.- Transformar el resultado de la cadena de bytes usando la codificación Base58Check, usada para codificar las direcciones de Bitcoin. Con lo que la cadena de bytes se convertirá en una cadena base58.

1PMycacnJaSqwwJqjawXBErnLsZ7RkXUAs

Este es el formato más empleado para las direcciones de Bitcoin. De este modo la codificación Base58Check transforma la cadena de bytes en un conjunto de números y letras mayúsculas y minúsculas. Esto con el objetivo de que sean más simples de distinguir. Si bien en conjunto prosiguen siendo caracteres ininteligibles y que a primer aspecto no son enigmáticos.

Este es todo el proceso cuyo termino es crear una dirección bitcoin a fin de que podamos utilizarla como deseemos. Todo este proceso asimismo se hace con las Vanity Address, son lo que este último caso efectuamos una generación a la fuerza bárbara con la intención de buscar una dirección adaptada. Puesto que conocer más sobre esta clase de direcciones desde nuestro genial articulo sobre Vanity Addres.

¿Cuánto sabes, criptonauta?

¿La generación de direcciones en Bitcoin tiene la capacidad de producir direcciones únicas en todo instante?

Generalidades de las direcciones Bitcoin

  1. Cada dirección pública de Bitcoin pesa más o menos unos 25 bytes.
  2. Están formadas por una longitud de entre veintiseis y treinta y dos caracteres.
  3. Pueden empezar con el número 1, para direcciones estándar (P2PKH) o bien el número tres, para las direcciones multifirmas (P2SH). Igualmente, las direcciones SegWit empiezan con bc1 (bech32). Por otra parte, las direcciones testnet de Bitcoin empiezan por m o bien 2.
  4. La implementación de Base58Check entre sus muchas funciones, impide el empleo de caracteres como O bien, I (en mayúsculas), y l (en minúscula) a fin de eludir que estos se confundan con el número 0 o el número 1.