direccionesbitcoin

33 visualizaciones
2 participa(n) en el debate
eelciberseguridad
·
--
Artículo
¿CÓMO SE CREA REALMENTE UNA DIRECCIÓN DE BITCOIN?Imaginá que Ana abre su wallet y presiona RECIBIR. En la pantalla aparece una combinación de letras y números, acompañada de un código QR. Ana puede compartir esa información para recibir BTC. Pero hay una pregunta que pocas personas se hacen... ¿DE DÓNDE SALEN ESAS LETRAS Y NÚMEROS? ¿CÓMO SABE LA WALLET QUÉ DIRECCIÓN MOSTRAR? La respuesta está en un procedimiento criptográfico que vamos a comprender paso a paso. En el apartado anterior aprendimos que una billetera HD puede obtener numerosas claves privadas y sus correspondientes claves públicas. Ahora vamos a descubrir cómo utiliza una de esas claves públicas para construir una dirección de Bitcoin.... Para explicarlo utilizaremos un ejemplo real: una dirección P2WPKH, también conocida como dirección SegWit nativa. Es uno de los tipos de direcciones que comienzan con bc1q. ¿QUÉ HACE PRIMERO EL SOFTWARE? La wallet obtiene una clave pública correspondiente a una de las claves privadas que administra. En nuestro ejemplo utiliza una clave pública comprimida, representada mediante 33 bytes de información. Pero atención... UNA CLAVE PÚBLICA NO ES LO MISMO QUE UNA DIRECCIÓN DE BITCOIN.... Todavía necesitamos transformar esa información. ¿CÓMO LO HACE? El software aplica sobre la clave pública una función criptográfica llamada SHA-256. Recordemos que una función hash permite calcular una huella digital a partir de determinados datos. Después, al resultado de SHA-256 le aplica otra función denominada RIPEMD-160. Esta combinación recibe un nombre técnico: HASH160. ¿Y qué obtenemos? Una huella criptográfica de 20 bytes, calculada a partir de la clave pública. PERO ESA HUELLA TODAVÍA NO ES LA DIRECCIÓN COMPLETA.... Es uno de los datos necesarios para construirla. ¿ENTONCES CÓMO APARECE LA DIRECCIÓN QUE VEMOS EN PANTALLA? La wallet incorpora la información que identifica la versión del mecanismo utilizado. En nuestro ejemplo corresponde a la versión 0 de SegWit. Después utiliza un sistema de codificación llamado BECH32, definido en el estándar BIP173. ¿Para qué sirve? Para representar esos datos mediante una secuencia de caracteres que podamos copiar y compartir. Bech32 no cifra ni oculta la información. La codifica siguiendo reglas específicas y añade caracteres de comprobación que permiten detectar muchos errores accidentales. Y ASÍ OBTENEMOS UNA DIRECCIÓN QUE COMIENZA CON bc1q... Pero ¿qué significan esos caracteres? bc identifica la red principal de Bitcoin. El número 1 separa el prefijo del resto de los datos. Y la letra q, inmediatamente después de ese separador, representa la versión 0 en esta codificación. Los demás caracteres representan la información correspondiente a la dirección e incluyen datos de comprobación. TODO ESTE PROCESO LO REALIZA AUTOMÁTICAMENTE LA WALLET. Ana no calcula hashes, no convierte números ni escribe claves manualmente.... El software hace esos cálculos siguiendo las reglas del formato. ¿PODEMOS RESUMIR EL PROCEDIMIENTO? Sí. Para nuestro ejemplo, el recorrido es: CLAVE PÚBLICA - SHA-256 - RIPEMD 160 - DATOS DE VERSIÓN -CODIFICACIÓN BECH32 - DIRECCIÓN. Y ahora viene algo importante. ¿QUÉ SUCEDE CUANDO BRUNO ENVÍA BITCOINS A ESA DIRECCIÓN? La wallet de Bruno interpreta la información codificada. A partir de esos datos prepara una salida de transacción con las condiciones correspondientes para que esos BTC puedan gastarse posteriormente. Como ya aprendimos, una dirección no es una cuenta bancaria ni un recipiente donde se almacenan monedas digitales. ES INFORMACIÓN QUE PERMITE INDICAR CÓMO DEBE CONSTRUIRSE UNA SALIDA DE BITCOIN. ¿Y QUÉ FUNCIÓN CUMPLE EL CÓDIGO QR? Facilita compartir esa información sin tener que escribirla. Puede contener simplemente la dirección o una solicitud de pago con información adicional, como un importe. Pero no modifica las claves privadas ni el procedimiento criptográfico utilizado para construir la dirección. ¿Y POR QUÉ ES TAN IMPORTANTE COMPROBARLA ANTES DE ENVIAR BTC? Porque esos caracteres representan información precisa. El mecanismo de comprobación de Bech32 puede detectar numerosos errores de escritura. Sin embargo, existe un riesgo diferente. Un atacante podría sustituir la dirección original por otra dirección válida que controla. En ese caso, el formato puede ser perfectamente correcto, pero el destinatario sería distinto... UNA DIRECCIÓN VÁLIDA NO SIGNIFICA NECESARIAMENTE QUE SEA LA DIRECCIÓN CORRECTA. Por eso debemos comprobar que corresponde realmente a la persona que recibirá los fondos. ¿QUÉ APRENDIMOS? Que una dirección de Bitcoin no es una combinación arbitraria de caracteres... Que su construcción utiliza información criptográfica y reglas de codificación específicas. Y que una clave pública puede intervenir en la generación de una dirección sin necesidad de revelar la clave privada correspondiente. Pero hay una cuestión que todavía no resolvimos... SI LAS DIRECCIONES SIRVEN PARA RECIBIR BITCOINS, ¿POR QUÉ ALGUNAS COMIENZAN CON 1, OTRAS CON 3 Y OTRAS CON bc1q O bc1p? ¿Son simples diferencias visuales o representan mecanismos distintos? Eso nos lleva directamente al próximo apartado.... PORQUE DETRÁS DE CADA DIRECCIÓN EXISTE UNA ESTRUCTURA QUE EL SOFTWARE DEBE INTERPRETAR CORRECTAMENTE. Y AHORA QUE SABEMOS CÓMO SE CONSTRUYE UNA, ESTAMOS PREPARADOS PARA ENTENDER POR QUÉ NO TODAS LAS DIRECCIONES DE BITCOIN SON IGUALES.... $BTC $ETH $BNB #bitcoin #blockchain #DireccionesBitcoin #Criptografia

¿CÓMO SE CREA REALMENTE UNA DIRECCIÓN DE BITCOIN?

Imaginá que Ana abre su wallet y presiona RECIBIR.
En la pantalla aparece una combinación de letras y números, acompañada de un código QR.
Ana puede compartir esa información para recibir BTC.
Pero hay una pregunta que pocas personas se hacen...
¿DE DÓNDE SALEN ESAS LETRAS Y NÚMEROS? ¿CÓMO SABE LA WALLET QUÉ DIRECCIÓN MOSTRAR?
La respuesta está en un procedimiento criptográfico que vamos a comprender paso a paso.
En el apartado anterior aprendimos que una billetera HD puede obtener numerosas claves privadas y sus correspondientes claves públicas.
Ahora vamos a descubrir cómo utiliza una de esas claves públicas para construir una dirección de Bitcoin....
Para explicarlo utilizaremos un ejemplo real: una dirección P2WPKH, también conocida como dirección SegWit nativa.
Es uno de los tipos de direcciones que comienzan con bc1q.
¿QUÉ HACE PRIMERO EL SOFTWARE?
La wallet obtiene una clave pública correspondiente a una de las claves privadas que administra.
En nuestro ejemplo utiliza una clave pública comprimida, representada mediante 33 bytes de información.
Pero atención...
UNA CLAVE PÚBLICA NO ES LO MISMO QUE UNA DIRECCIÓN DE BITCOIN....
Todavía necesitamos transformar esa información.
¿CÓMO LO HACE?
El software aplica sobre la clave pública una función criptográfica llamada SHA-256.
Recordemos que una función hash permite calcular una huella digital a partir de determinados datos.
Después, al resultado de SHA-256 le aplica otra función denominada RIPEMD-160.
Esta combinación recibe un nombre técnico: HASH160.
¿Y qué obtenemos?
Una huella criptográfica de 20 bytes, calculada a partir de la clave pública.
PERO ESA HUELLA TODAVÍA NO ES LA DIRECCIÓN COMPLETA....
Es uno de los datos necesarios para construirla.
¿ENTONCES CÓMO APARECE LA DIRECCIÓN QUE VEMOS EN PANTALLA?
La wallet incorpora la información que identifica la versión del mecanismo utilizado.
En nuestro ejemplo corresponde a la versión 0 de SegWit.
Después utiliza un sistema de codificación llamado BECH32, definido en el estándar BIP173.
¿Para qué sirve?
Para representar esos datos mediante una secuencia de caracteres que podamos copiar y compartir.
Bech32 no cifra ni oculta la información.
La codifica siguiendo reglas específicas y añade caracteres de comprobación que permiten detectar muchos errores accidentales.
Y ASÍ OBTENEMOS UNA DIRECCIÓN QUE COMIENZA CON bc1q...
Pero ¿qué significan esos caracteres?
bc identifica la red principal de Bitcoin.
El número 1 separa el prefijo del resto de los datos.
Y la letra q, inmediatamente después de ese separador, representa la versión 0 en esta codificación.
Los demás caracteres representan la información correspondiente a la dirección e incluyen datos de comprobación.
TODO ESTE PROCESO LO REALIZA AUTOMÁTICAMENTE LA WALLET.
Ana no calcula hashes, no convierte números ni escribe claves manualmente.... El software hace esos cálculos siguiendo las reglas del formato.
¿PODEMOS RESUMIR EL PROCEDIMIENTO?
Sí. Para nuestro ejemplo, el recorrido es:
CLAVE PÚBLICA - SHA-256 - RIPEMD 160 - DATOS DE VERSIÓN -CODIFICACIÓN BECH32 - DIRECCIÓN.
Y ahora viene algo importante.
¿QUÉ SUCEDE CUANDO BRUNO ENVÍA BITCOINS A ESA DIRECCIÓN?
La wallet de Bruno interpreta la información codificada. A partir de esos datos prepara una salida de transacción con las condiciones correspondientes para que esos BTC puedan gastarse posteriormente.
Como ya aprendimos, una dirección no es una cuenta bancaria ni un recipiente donde se almacenan monedas digitales.
ES INFORMACIÓN QUE PERMITE INDICAR CÓMO DEBE CONSTRUIRSE UNA SALIDA DE BITCOIN.
¿Y QUÉ FUNCIÓN CUMPLE EL CÓDIGO QR?
Facilita compartir esa información sin tener que escribirla.
Puede contener simplemente la dirección o una solicitud de pago con información adicional, como un importe.
Pero no modifica las claves privadas ni el procedimiento criptográfico utilizado para construir la dirección.
¿Y POR QUÉ ES TAN IMPORTANTE COMPROBARLA ANTES DE ENVIAR BTC?
Porque esos caracteres representan información precisa.
El mecanismo de comprobación de Bech32 puede detectar numerosos errores de escritura.
Sin embargo, existe un riesgo diferente.
Un atacante podría sustituir la dirección original por otra dirección válida que controla.
En ese caso, el formato puede ser perfectamente correcto, pero el destinatario sería distinto...
UNA DIRECCIÓN VÁLIDA NO SIGNIFICA NECESARIAMENTE QUE SEA LA DIRECCIÓN CORRECTA.
Por eso debemos comprobar que corresponde realmente a la persona que recibirá los fondos.
¿QUÉ APRENDIMOS?
Que una dirección de Bitcoin no es una combinación arbitraria de caracteres...
Que su construcción utiliza información criptográfica y reglas de codificación específicas.
Y que una clave pública puede intervenir en la generación de una dirección sin necesidad de revelar la clave privada correspondiente.
Pero hay una cuestión que todavía no resolvimos...
SI LAS DIRECCIONES SIRVEN PARA RECIBIR BITCOINS, ¿POR QUÉ ALGUNAS COMIENZAN CON 1, OTRAS CON 3 Y OTRAS CON bc1q O bc1p?
¿Son simples diferencias visuales o representan mecanismos distintos?
Eso nos lleva directamente al próximo apartado....
PORQUE DETRÁS DE CADA DIRECCIÓN EXISTE UNA ESTRUCTURA QUE EL SOFTWARE DEBE INTERPRETAR CORRECTAMENTE.
Y AHORA QUE SABEMOS CÓMO SE CONSTRUYE UNA, ESTAMOS PREPARADOS PARA ENTENDER POR QUÉ NO TODAS LAS DIRECCIONES DE BITCOIN SON IGUALES....
$BTC $ETH $BNB
#bitcoin #blockchain #DireccionesBitcoin #Criptografia
Inicia sesión para explorar más contenidos
Únete a usuarios de criptomonedas de todo el mundo en Binance Square
⚡️ Obtén la información más reciente y útil sobre criptomonedas.
💬 Confía en el mayor exchange de criptomonedas del mundo.
👍 Descubre opiniones reales de creadores verificados.
Correo electrónico/número de teléfono