Una dirección bitcoin es una identificación única que te permite enviar y recibir criptomonedas de forma rápida, segura y sencilla.
Una dirección, en el mundo de las criptomonedas, es el lugar al que se asocia una determinada cantidad de criptomonedas. Toda persona o usuario que quiera enviar o recibir criptomonedas necesitará siempre una dirección.
Pulsa aquí para abrir de forma GRATUITA y segura tu cuenta de usuario en español y recibe un regalo de 15€.
La dirección funciona, al igual que en el sistema financiero tradicional, para recibir o enviar transferencias de dinero. Lo que quiere decir que funciona como una especie de cuenta bancaria. En Bitcoin y otras criptomonedas a eso se conoce como «dirección» o «wallet address» en inglés. El objetivo de las direcciones es la de permitirnos recibir y enviar criptomonedas.
En Bitcoin, las direcciones tienen normalmente esta apariencia:
1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa
A simple vista, la dirección es bastante críptica. Pudiendo apreciar enormes diferencias con los acostumbrados números de cuenta bancarios, que son fáciles de leer y memorizar especialmente, porque estos sólo usan números. Sin embargo, las direcciones de criptomonedas usan un conjunto de números y letras, entre minúsculas y mayúsculas. Por lo que podemos decir entonces que son direcciones alfanuméricas, y esto tiene un claro objetivo: proveer direcciones con alta seguridad y sin límites de creación.
Adicional a esto, también podemos observar que las direcciones de criptomonedas son de mayor longitud. La longitud varía entre los 26 y 32 caracteres. En Bitcoin por ejemplo, estas empiezan por el número 1 para direcciones estándar (P2PKH), por el número 3 para las direcciones de multifirmas (P2SH). Las direcciones de tipo SegWit (bech32) empiezan por bc1. Otras criptomonedas tienen sus propios sistemas para representar sus direcciones.
Otra forma común de representar las direcciones Bitcoin es por medio de un código QR. Los códigos QR son una representación gráfica creada por un algoritmo hash gráfico. Es decir, que siempre nos proporcionará el mismo gráfico si introducimos la misma información. De esta forma puede compartirse la dirección más cómodamente. Especialmente en sitios públicos, puesto que el código puede ser escaneado usando la cámara de un smartphone.
Características de una dirección Bitcoin
Entre las principales características de las direcciones Bitcoin podemos mencionar las siguientes:
- Sin límites. Una persona puede crear tantas direcciones como quiera: decenas o millones, sin límites. Esto gracias al proceso en cómo se generan estas direcciones dentro del software de Bitcoin.
- Son libres. No necesitas pedir permiso a nadie para crear direcciones, ni nadie te las debe autorizar.
- Completamente gratuitas. Las direcciones son totalmente gratis. Crearlas no te generará ningún costo ni debes hacer ningún pago al sistema por ellas.
- Privacidad. Tus datos personales nunca se asocian a una dirección. Esto garantiza que nadie pueda asociar tus direcciones con tu identidad real. A no ser que tú mismo por voluntad propia indiques que la dirección es tuya, o la publiques en alguna red social o blog.
- Es transparente. Si tú dices públicamente que una dirección te pertenece todos podrán saber qué saldo tienes y las transacciones que haces en tiempo real. Esto es especialmente útil para organizaciones que quieren ser transparentes.
- Seguridad. Compartir tu dirección con cualquiera no supone ningún riesgo de robo. En eso también es similar al ejemplo de la cuenta bancaria, tú puedes entregar tu dirección a quien quieras ya que lo máximo que pueden hacer es depositarte criptomonedas. No obstante, compartir tu dirección, como hemos dicho, supone que cualquiera pueda ver el saldo y actividad en tiempo real de esa dirección. Y si has dicho públicamente que es tuya podrías tener una fuga de privacidad indeseada.
- Proceso sencillo. Obtener direcciones Bitcoin es un proceso muy sencillo. Basta con descargar cualquier monedero Bitcoin que desees para generar tantas direcciones como desees.
- Pueden ser creadas completamente offline y sin necesidad de tener conexión alguna con la red Bitcoin.
- La dirección Bitcoin original es case-sensitive, por lo que distingue entre mayúsculas y minúsculas. Sin embargo, el nuevo formato bech32 elimina esta limitación. Por ello, es importante recordar esto para evitar enviar fondos a una dirección distinta por error.
Otros tipos de dirección en Bitcoin
Direcciones SegWit
Las direcciones SegWit son distintas a las direcciones iniciales de Bitcoin. Estas direcciones generalmente comienzan con el número 3 o con los caracteres “bc1”. Las que comienzan con 3 son direcciones del del tipo P2SH, mientras que las que empiezan con bc1 son para SegWit nativo. Sin embargo es importante recalcar que toda dirección que empieza con 3 no es necesariamente una dirección SegWit. Esto se debe a que ese mismo prefijo se usa para direcciones de firma múltiple. En cambio, las direcciones que comienzan con “bc1” son específicamente SegWit.
Direcciones testnet
Una dirección testnet es bastante similar a las direcciones iniciales de Bitcoin, salvo que las direcciones testnet comienzan con los prefijos «m» o «2». Del resto, el proceso de generación de las direcciones en la red testnet es idéntico a proceso de generación de direcciones original de Bitcoin.
Direcciones de firma múltiple
Una de las grandes características de Bitcoin es su capacidad de generar monederos con múltiples firmas. Estos monederos generan direcciones especiales en las que se requiere de una combinación de múltiples claves privadas para poder acceder a los fondos que tienen. Debido a que estas direcciones utilizan funciones más nuevas, las direcciones de firmas múltiples comienzan con el prefijo 3. Esto diferencia claramente las direcciones antiguas de Bitcoin con el resto de direcciones de la criptomoneda. Estas direcciones además pueden considerarse como el equivalente de emitir un cheque a dos partes y en la que la firma de ambas personas es necesaria para poder acceder a los fondos.
El requisito real (número de claves privadas necesarias, sus claves públicas correspondientes, etc.) que deben cumplirse para gastar los fondos es decidido de antemano por la persona que genera este tipo de dirección, y una vez que se crea una dirección, el requisito no puede ser cambiado sin generar una nueva dirección.
¿Cómo se crea una dirección de Bitcoin?
El proceso para crear una dirección Bitcoin se inicia con la generación de una clave privada que nos proporcionará el uso exclusivo de los fondos. A partir de ésta, se genera una clave pública, que nos permitirá compartir información con otras personas sin poner en riesgo los nuestros.
La obtención de la clave pública a través de la clave privada se debe gracias a la aplicación del algoritmo ECDSA. Una implementación muy eficiente de la criptografía de curva elíptica, donde se emplea como punto generador a la curva secp256k1 para obtener la clave pública.
Entonces, una vez generadas este par de claves, se da inicio al proceso de generar las direcciones públicas de Bitcoin.
1.- Seleccionar la clave pública obtenida a partir del proceso anterior. Es decir, de la aplicación del algoritmo ECDSA a la clave privada. La cual debe tener una apariencia similar a ésta:
0250863ad64a87ae8a2fe83c1af1a8403cb53f53e486d8511dad8a04887e5b2352
2.- Aplicar un hashing a la clave pública por medio de la implementación del algoritmo SHA-256. Este algoritmo permite generar outputs (salidas) de extensión fija a partir de inputs (entradas) de extensión variable, que son irreversibles. Por lo que son unidireccionales y no es posible deducir la clave privada a través de la pública.
Luego de aplicar la función hashing obtendremos una secuencia de 256 bits:
0b7c28c9b7290c98d7438e70b3d3f7c848fbd7d1dc194ff83f4f7cc9b1378e98
3.- Hashear de nuevo la salida obtenida anteriormente, aplicando en este caso el algoritmo RIPEMD-160. Con el cual obtendremos una secuencia de 160 bits:
f54a5851e9372b87810a8e60cdd2e7cfd80b6e31
4.- Añadir el byte de versión usado para la red principal de Bitcoin (0x00) delante de la salida obtenida de la aplicación del algoritmo de hashing RIPEMD-160. Con esto obtendremos una dirección Bitcoin en formato hexadecimal, que se verá así:
00f54a5851e9372b87810a8e60cdd2e7cfd80b6e31
Y al añadir este byte también podemos identificar y distinguir las direcciones Bitcoin de otras criptomonedas que también emplean el protocolo.
5.- Realizar el hash con el algoritmo SHA-256 al resultado obtenido del RIPEMD-160. Este paso es necesario como mecanismo de verificación para comprobar que la dirección de Bitcoin está bien escrita.
ad3c854da227c7e99c4abfad4ea41d71311160df2e415e713318c70d67c6b41c
6.- Aplicar el hash con el algoritmo SHA-256 al resultado del hash anterior. Con este paso se concatena la dirección obtenida. Como ya mencionamos, el algoritmo SHA-256 se aplica dos veces como mecanismo de verificación.
c7f18fe8fcbed6396741e58ad259b5cb16b7fd7f041904147ba1dcffabf747fd
7.- Elegir los 4 primeros bytes del último hash SHA-256, que representan el checksum de la dirección Bitcoin. En este ejemplo serían:
c7f18fe8
8.- Agregar los 4 bytes del checksum del punto anterior, al hash extendido RIPEMD-160 del punto 4. Esto es una dirección binaria de Bitcoin de 25 bytes:
00f54a5851e9372b87810a8e60cdd2e7cfd80b6e31c7f18fe8
9.- Convertir el resultado de la cadena de bytes utilizando la codificación Base58Check, utilizada para codificar las direcciones de Bitcoin. Con lo que la cadena de bytes se transformará en una cadena base58.
1PMycacnJaSqwwJqjawXBErnLsZ7RkXUAs
Este es el formato más empleado para las direcciones de Bitcoin. Así la codificación Base58Check convierte la cadena de bytes en un conjunto de números y letras mayúsculas y minúsculas, con la finalidad de que sean más fáciles de distinguir. Aunque en conjunto siguen siendo caracteres ilegibles y que a primera vista no son crípticos.
Así se puede crear una dirección bitcoin para que podamos usarla como deseemos. Todo este proceso también se lleva a cabo con las Vanity Address, solo lo que este último caso realizamos una generación por fuerza bruta con el fin de buscar una dirección personalizada.
Puedes aprender más sobre este tipo de direcciones desde nuestro articulo sobre Vanity Addres.