Dirección

De Bitcoin Wiki
Saltar a: navegación, buscar

Una dirección Bitcoin, o simplemente dirección, es un identificador de entre 27 y 34 caracteres alfanuméricos, comenzando por el número 1 o el 3, que representa un destino de un pago en bitcoins. Las direcciones se pueden generar muy fácilmente y en número arbitrario desde cualquier programa cliente de Bitcoin. Por ejemplo, si se usa Bitcoin-Qt, basta con hacer clic en "Nueva dirección" para obtener una dirección. También se pueden obtener direcciones Bitcoin a través de servicios en Internet como casas de cambio o monederos en línea.

Un ejemplo de una dirección Bitcoin es 31uEbMgunupShBVTewXjtqbBv5MndwfXhb.

Las direcciones Bitcoin son como las direcciones de correo electrónico

Tal como ocurre con el correo electrónico, basta con conocer una dirección Bitcoin de otra persona para poder enviarle un pago. Una persona puede disponer de numerosas direcciones Bitcoin y, de hecho, como mecanismo de seguridad y privacidad y para poder identificar mejor el origen de los pagos, se recomienda utilizar direcciones diferentes para cada transacción. La mayor parte del software y de los sitios web que manejan bitcoins suelen respetar esta práctica generando una nueva dirección cada vez que se lleva a cabo una transacción.

Cuando se utiliza un sitio web que acepta pagos en bitcoins o que custodia un saldo de bitcoins para el usuario, el sitio habrá de asignar una dirección Bitcoin a la cuenta de usuario para poder transferir fondos a la cuenta. Una diferencia importante con el correo electrónico es que, dado que se suelen crear nuevas direcciones por transacción, las direcciones asignadas por el servicio pueden ir variando, por lo que habrá que tener cuidado si se reutilizan direcciones guardadas en el pasado de que el sitio web conserve correctamente todas las direcciones generadas para el usuario. Cuando se envían bitcoins a una cuenta alojada en un sitio web, lo habitual es que los fondos pasen a estar disponibles después de que haya habido varias confirmaciones en la red.

Las direcciones se pueden crear sin conexión

La generación de direcciones puede hacerse sin ningún tipo de conexión a Internet. Al tratarse de un procedimiento matemático a partir de un número aleatorio, no existe ningún registro en la red de direcciones creadas. La red solo tiene constancia de la existencia de una dirección cuando esta aparece como destinataria de un pago.

Se pueden crear grandes reservas de direcciones sin conexión mediante varias herramientas de software. Un escenario en que es habitual generar muchas direcciones disponibles es el de los sitios web que proporcionan una dirección a cada usuario que accede a una opción de "pagar con Bitcoin". En lugar de generar la dirección en el momento del acceso, se pueden guardar miles de direcciones pregeneradas para ir asignándolas cada vez que un usuario accede al servicio.

Cualquier ordenador normal es capaz de generar miles de direcciones Bitcoin por minuto. El proceso de creación de una dirección consiste simplemente en generar un número aleatorio de 256 bits que funciona como clave criptográfica privada, derivar a partir de ese número una clave pública y aplicar varias transformaciones y operaciones de hash a esa clave pública para obtener finalmente la dirección Bitcoin. Debido a la facilidad de creación de direcciones Bitcoin, es frecuente crear direcciones temporales y desecharlas.

Las direcciones diferencian minúsculas y mayúsculas

Las direcciones Bitcoin diferencian minúsculas y mayúsculas y han de introducirse con todos los caracteres sin ningún error. Para evitar fallos de transcripción, es recomendable manejar siempre las direcciones a través de las operaciones de copiar y pegar que facilita el portapapeles del sistema operativo. Las direcciones Bitcoin incluyen dígitos de control de modo que se si se teclea a mano una dirección y se comete un error es extremadamente improbable que la dirección errónea sea igualmente válida, por lo que el software de pago es capaz en tales casos de advertir al usuario de que hay un error en la dirección introducida.

La probabilidad de que una dirección escrita incorrectamente se acepte como válida es de 1 en 232; esto es, aproximadamente 1 en 4290 millones.

Validación de las direcciones

Más allá de las características triviales, como la longitud de la cadena de texto, los caracteres permitidos y el hecho de que el primer carácter tiene que ser '1' o '3', el procedimiento general para validar una dirección Bitcoin es complicado, ya que implica dígitos de control que se han de cotejar con un valor hash. En el siguiente hilo del foro Bitcointal.org (en inglés) se presentan algunas implementaciones en varios lenguajes de programación: Python code for validating Bitcoin address.

Las direcciones tienen una "clave privada"

Las direcciones Bitcoin generadas correctamente proceden de un número secreto al que se denomina clave privada, un tipo de clave criptográfica que se utiliza en una firma electrónica, y que es la única información necesaria para poder gastar los fondos asociados a la dirección.

Cuando se utiliza un programa cliente de Bitcoin, las claves privadas se guardan en un tipo de archivo llamado archivo monedero. La clave privada es imprescindible para crear nuevas transacciones que envíen bitcoins de una dirección a otra. Si se pierde la clave privada correspondiente a una dirección (por ejemplo, por una avería o un accidente como un incendio o una inundación que destruya el dispositivo), los bitcoins en esa dirección se pierden para siempre.

Direcciones multifirma

Se pueden generar direcciones que requieran una combinación de varias claves privadas. Este tipo de direcciones dependen de algunas características añadidas al protocolo con posterioridad al lanzamiento original de Bitcoin, por lo que se las diferencia de las direcciones originales a través de un carácter inicial '3', en lugar del '1' de las direcciones convencionales.

Este tipo de direcciones avanzadas equivaldrían a un cheque con más de un beneficiario, para cobrar el cual hace falta la firma de todos los beneficiarios.

El requisito concreto, como el número de claves privadas necesario para acceder a los fondos, se decide al generar la dirección. Una vez creada, no es posible cambiar esos requisitos de acceso a los fondos.

¿Qué información contiene una dirección?

La mayoría de las direcciones Bitcoin constan de 34 caracteres y contienen cifras y letras tanto mayúsculas como minúsculas. Los únicos caracteres prohibidos son la letra 'O' mayúscula, el número '0', la letra mayúscula 'I' y la letra minúscula 'l' con el fin de evitar ambigüedad visual. Los dos primeros podrían confundirse entre sí y con la letra 'o' minúscula, mientras que los dos segundos podrían confundirse entre sí y con el número '1'.

Las direcciones Bitcoin válidas pueden tener menos de 34 caracteres, en teoría hasta un mínimo de 27, aunque cuanto más cortas, tanto más improbables serán de generar. Estas direcciones más cortas son el resultado de obtener valores numéricos con ceros iniciales. Por ello, las direcciones con 33 caracteres serán aproximadamente una de cada 10, las de 32 caracteres una de cada cien, etc.

Varios de los caracteres que forman la dirección Bitcoin tienen la función de dígitos de control o checksum, que ayuda a evitar errores, como podría ocurrir al confundir una letra con otra al copiar una dirección impresa o si al copiar y pegar una dirección a través del portapapeles se hubiera copiado una dirección incompleta.

Véase también