Todo lo que necesitas saber sobre las direcciones o address de Bitcoin

Ivan Daniel Gomez
Orionx
Published in
7 min readNov 19, 2020

Cuando se comienza en Bitcoin, suele haber cierta duda respecto a qué es una dirección o address. Se confunde con el monedero; se cree que las monedas se almacenan en la dirección; se reutiliza varias veces la misma address; entre otras. En este artículo abordaremos todos los aspectos relacionados a las direcciones o address en Bitcoin, tanto para principiantes como para usuarios intermedios.

¿Qué es una dirección de Bitcoin?

Las direcciones de Bitcoin, también conocidas en inglés como address o por su diminutivo addy, es la serie de letras y números que das a otra persona para que te envíe bitcoins. Según la wiki de Bitcoin.it, se trata de “un identificador de entre 26–35 caracteres alfanuméricos, iniciado con los números 1, 3 o bc1 que representan un destino posible para un pago de bitcoin”.

Se trata de algo similar a un número de cuenta bancaria, el cual se comparte con una contraparte para recibir un pago. Pero a diferencia de un número de banco, no se utiliza la misma dirección de bitcoin para cada pago, o al menos no se debería por razones de privacidad.

Otra diferencia con una cuenta bancaria es que no existe tal cosa como una dirección de emisor. Las direcciones son siempre para enviar; en Bitcoin no hay direcciones de remitente. Cuando vemos en un explorador de bloques la transacción de origen de donde provienen las monedas que nos enviaron, es precisamente eso: una transacción, no una dirección. Así que, si te llegó un pago indeseado, no tiene sentido que lo devuelvas a la transacción que te lo envió.

¿Dónde conseguimos nuestras direcciones? Este identificador alfanumérico podemos ubicarlo en la sección de nuestro monedero o wallet dedicado a la recepción de pagos. Usualmente suele venir acompañado de una versión en código QR para que nuestra contraparte tan solo tenga que escanearlo. Lo único que el usuario no-técnico necesita para tener una dirección de Bitcoin es descargar un software de monedero.

¿Puedo equivocarme al enviar bitcoins a una dirección?

Se recomienda siempre copiar y pegar o escanear el código QR de la dirección para evitar errores en las transcripciones manuales. De las direcciones de Bitcoin se han omitido los caracteres O, 0, l e I para evitar confusiones. De cualquier manera, al realizar una transacción, el software suele hacer una suma de comprobación para encontrar y rechazar automáticamente los errores tipográficos.

Son bajas las probabilidades de que un error proceda. No obstante, debes estar muy atento pues siempre existe la posibilidad de que la transacción equivocada en efecto sea una dirección válida. En ese caso, habrías hecho una donación anónima. Pero copiando y pegando, o escaneando el QR, evitarás esta posibilidad.

Sin embargo, es importante verificar la dirección aún si la estamos copiando y pegando. Esto, pues, existe un cierto tipo de virus, llamado keylogger, que se aloja en el portapapeles y detecta cuando se copian direcciones de Bitcoin, modificando la información copiada por la dirección de un hacker. Así que, como medida preventiva, verifica siempre la coincidencia entre la dirección copiada y la dirección pegada.

¿Por qué no debería reutilizar una dirección?

Se recomienda no reutilizar direcciones debido a la naturaleza transparente de Bitcoin. De reutilizarse, cualquier persona que conozca el identificador y sepa que te pertenece, pudiera buscar esa dirección en un explorador de bloques y descubrir cuántos fondos posees. En cambio, aún administrando varias direcciones desde un mismo monedero, es de suma dificultad establecer una relación entre todas las transacciones vinculadas a ese software.

Pero no te preocupes; puedes generar tantas direcciones como desees de manera totalmente gratuita.

Muchos monederos modifican automáticamente la dirección tras haber recibido un pago para evitar reutilizaciones. Así que no te asustes si entras a tu wallet y tu address luce distinta. De cualquier manera, esa dirección anterior seguirá asociada a ti por lo que si alguien te envía bitcoins a una dirección antigua, si sigues teniendo acceso a esa llave privada, recibirás tus fondos sin problema.

¿Y si quiero recibir donaciones o propinas en mi página web? Pues existen procesadores de pago descentralizados y de código abierto como BTCPay Server que permiten recibir pagos sin reutilizar direcciones. Esto, además, te protege ante potenciales censuras por si algún regulador decide colocar tu dirección en una lista negra para hacerle seguimiento.

¿Qué tipos de direcciones hay?

En la actualidad, para el usuario promedio, existen tres tipos de direcciones de Bitcoin, cada una siendo una versión optimizada de la anterior.

  • Pay-to-Public-Key-Hash (P2PKH): se trata de las primeras direcciones de Bitcoin, las cuales comienzan con el número 1, por ejemplo: 1BvBMSEYstWetqTFn5Au4m4GFg7xJaNVN2. Se trata de direcciones que derivan en transacciones un tanto limitadas en cuanto a sus posibilidades.
  • Pay-to-Script-Hash (P2SH): introducidas en el año 2012 para hacer más programables las transacciones, comienzan con el número 3 y lucen así: 3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy. Gracias a estas direcciones, se hicieron más sencillas y livianas las transacciones multifirmas, es decir, transacciones que requieren varias firmas digitales para ser procesadas. Esto puede utilizarse para intercambios descentralizados de monedas, para cuentas compartidas o simplemente para agregar una capa extra de seguridad a los usuarios avanzados.
  • Bech32 o SegWit: este tipo de direcciones fueron implementadas en el 2017 al activar SegWit o Testigo Segregado en el código de Bitcoin con el fin de ayudar a aumentar la capacidad de procesamiento de transacciones. Comienzan con el prefijo bc1 y lucen de la siguiente manera: bc1qar0srrr7xfkvy5l643lydnw9re59gtzzwf5mdq.

De todas las direcciones, las direcciones SegWit son quizás las más importantes de conocer por el usuario promedio. Esto porque, usándolas, puede ahorrar en el pago de comisiones al enviar transacciones más ligeras, así como ayudar a la escalabilidad de la red en general.

Este tipo de transacciones sustrae de los bloques la información correspondiente a las firmas y la coloca en bloques extendidos. De esta manera, caben más transacciones en un mismo bloque. Y al ser más ligeras las transacciones, el usuario tendrá que pagar menos por el espacio de bloque demandado para procesar su transacción.

Debido a la forma en que se introdujeron estas nuevas direcciones en el código de Bitcoin, las direcciones más nuevas son compatibles con las versiones anteriores, pero algunos software suelen tener problemas para procesar transacciones desde direcciones antiguas hacia direcciones SegWit.

Las direcciones también pueden personalizarse para introducir mensajes entre la cadena alfanumérica. Estas son las llamadas direcciones vanity, las cuales se generan a través de múltiples procesos criptográficos. Terminan luciendo, por ejemplo, así: bc1OrionXpKQNRBrmzhYkmoofg9nWeNC2

También existen otro tipos de direcciones menos frecuentes para usuarios promedio, más enfocadas para desarrolladores, como lo son las direcciones de testnet o redes de prueba. T

En el futuro, cuando se migre del Algoritmo de Curva Elíptica para las Firmas Digitales hacia las Firmas Schnorr, existe la posibilidad de que se introduzca otro tipo de dirección.

¿Cómo se generan las direcciones?

Las direcciones de Bitcoin se derivan de nuestra llave pública. Como hemos dicho, al explicar cómo almacenar tus criptomonedas de manera segura, los monederos no contienen las monedas. Más bien, se encargan de administrar nuestro par de llaves criptográficas: nuestra llave pública y nuestra llave privada.

Al igual que das la dirección de tu casa y no vives en tu dirección, los bitcoins no se almacenan en la dirección. La dirección solo apunta a un sitio en la cadena donde está registrada una transacción gastable por quien posea la llave privada asociada a esa llave pública. Vamos a dar una breve explicación sobre esto, pero te adelantamos que el usuario promedio no suele lidiar con sus llaves; estas son administradas por el software del monedero y almacenadas en una carpeta especial para ello.

La llave pública y la llave privada están matemáticamente vinculadas en Bitcoin por un algoritmo de criptografía asimétrica llamado Algoritmo de Firmas Digitales de Curva Elíptica (ECDSA, por sus siglas en inglés).

La llave privada es la verdadera llave de la relación: es la que permite abrir los secretos criptográficos (en el caso de Bitcoin, la transacción). Es la llave privada la que nos da título de propiedad sobre las transacciones y nos permite firmarlas para mover los fondos. Por esta razón, debe permanecer en secreto.

La llave pública, por su parte, se puede compartir aún a través de canales inseguros; es esta la que nos permite recibir bitcoins. Por su naturaleza asimétrica, la relación entre las llaves no es bidireccional. Esto quiere decir que de la llave privada sí se puede derivar la llave pública, pero nadie que solo sepa nuestra llave pública conseguiría conocer nuestra llave privada. Así, las firmas de nuestras transacciones puede ser validada mediante la llave pública sin revelar la llave privada.

Lo mismo sucede con nuestra dirección. En el caso de las direcciones P2PKH, estas se derivan de la llave pública al procesarla a través de dos funciones criptográficas de hash o algoritmos de hashing, y el resultado se codifica para hacerla compacta.

Para las direcciones P2SH, lo que pasa por el proceso de hashing y codificación es el script o comando con que se programe la transacción.

--

--