comienzo
comienzo

Si utilizas tu propio monedero de Bitcoin en régimen de autocustodia, debes haber utilizado ya una dirección de recepción. Como ya sabrás, estas secuencias de caracteres te permiten recibir bitcoins en tu monedero.
En este artículo, vamos a analizar detalladamente este elemento esencial en el uso de Bitcoin. Exploramos exactamente qué es una dirección de recepción y su función en la billetera. También presentamos los diferentes tipos de direcciones que existen, cómo se construye cada tipo y cuál debe elegir. Por último, analizamos las mejores prácticas a adoptar para garantizar la seguridad de tus bitcoins bajo autocustodia.
Una dirección de recepción de Bitcoin es una cadena alfanumérica que se usa para recibir bitcoins en una billetera, al igual que una dirección postal que se usa para recibir correo. Esta dirección es el identificador que indica a dónde enviar los BTC.
Por otro lado, a diferencia de una dirección postal, que sigue siendo la misma para todas las cartas recibidas, las carteras de Bitcoin pueden generar varias direcciones de recepción diferentes. Por motivos de privacidad, que analizaremos con más detalle en la parte final, es muy recomendable que utilices una dirección nueva para cada pago que recibas en el monedero.

Concretamente, cuando un usuario quiere enviar bitcoins, debe conocer la dirección de recepción del destinatario. Esta dirección la genera la billetera del destinatario y se puede comunicar al remitente, quien la utilizará en su transacción.
Cada dirección de recepción está vinculada a una clave pública, que a su vez está asociada a una clave privada. Una vez que se reciben los bitcoins en una dirección, la única forma de volver a gastarlos es proporcionar una prueba criptográfica con la clave privada correspondiente.

Esta prueba adopta la forma de una firma digital. Por lo tanto, la persona que posee la clave privada asociada a una dirección es, de hecho, la propietaria de esta dirección y de los bitcoins enviados allí. Este mecanismo garantiza que solo el propietario legítimo pueda gastar los bitcoins que ha recibido anteriormente.

En Bitcoin, se utilizan varios modelos de script estándar para bloquear BTC en una dirección de recepción. Cada plantilla de script satisface necesidades específicas, y periódicamente se introducen nuevos modelos con actualizaciones.
Una plantilla de script es esencialmente una pequeña lista de códigos de operación reunidos para formar un estándar que especifica cómo configurar las condiciones de gasto en bitcoins. Las principales familias de plantillas de scripts, en orden cronológico, son:
Si utilizas un monedero de Bitcoin en régimen de autocustodia, es probable que ya te hayas encontrado con estos términos técnicos, ya que normalmente se te pide que elijas entre estos estándares al crear tu monedero. Y precisamente, cada estándar corresponde a un tipo de dirección diferente.
El modelo P2PKH (Hash de pago a Pubkey-Hash) es el más antiguo. Fue introducido por Satoshi Nakamoto cuando se lanzó Bitcoin. Las direcciones P2PKH comienzan con un «1». Por ejemplo, esta es una dirección de recepción P2PKH:
1 HTZQJS6YUUPIGNNPC9425XENXQS2JWM7C
Introducido unos años más tarde, el modelo P2SH (Hash de pago por script) permite codificar un script de gastos para transacciones más complejas, como carteras con firmas múltiples. Las direcciones P2SH siempre comienzan con un «3», por ejemplo:
3GE7GUBM1MFUUT7T1BidJWCM75owvxfbwp
Estos dos modelos forman parte del estándar «Legacy» y ahora se consideran obsoletos. Ya no se recomienda su uso. No representan un problema de seguridad, pero cuestan más y son menos confidenciales que los estándares modernos.
Las direcciones P2SH-P2WPKH y P2SH-P2WSH son soluciones de transición para la compatibilidad con SegWit. Estas plantillas de script específicas encapsulan una dirección de SegWit en una dirección de P2SH, con el fin de permitir a los usuarios beneficiarse de las ventajas de SegWit sin dejar de ser compatibles con el software anterior. Estas direcciones son las mismas que las direcciones P2SH, por lo que comienzan con un «3». Este estándar se llama «Nested-Segwit» y ya no es necesario dada la amplia adopción de SegWit.
2 VECES POR KG (Pubkey-Hash de pago para presenciar) y P2WSH (Hash de script de pago para presenciar) son los formatos nativos de SegWit. Como usuario, no cabe duda de que puede optar por utilizar este estándar, aunque recomiendo utilizar las direcciones de Taproot en su lugar de ahora en adelante. Las direcciones P2WPKH comienzan con «bc1q» y permiten al usuario ahorrar en las comisiones de transacción. Las direcciones P2WSH también comienzan por «bc1q» y se utilizan para scripts más complejos, como las firmas múltiples. Por ejemplo, esta es una dirección de SegWit:
bc1qtcstnrarj7ennfsu4fjtlmdw3gu3w833jgvhrt
Por último, los scripts P2TR (Pagar a raíz), introducidos con Taproot en 2021, representan el modelo más reciente. El uso de direcciones P2TR no solo ahorra costes, sino que también mejora la confidencialidad, especialmente en el caso de scripts complejos. Las direcciones P2TR siempre comienzan por «bc1p», por ejemplo:
bc1ph540qgndfedhnhfyq36z7d6fsk278ca0sgsmexnz377v633e7e7slqp7lnjn
Pero en términos concretos, ¿cómo generan las carteras estas direcciones de recepción?
La construcción de una dirección de recepción depende del tipo de script utilizado. En los modelos P2PKH y P2WPKH, las direcciones son simplemente el hash de clave pública del usuario. Tu monedero de Bitcoin genera numerosos pares de claves criptográficas basadas en tu frase mnemotécnica (12 o 24 palabras). Cada par se compone de una clave privada, que se utiliza para gastar los fondos, y una clave pública, que se utiliza para recibirlos. Para formar una dirección de recepción, la clave pública simplemente se pasa a una función hash.

Esta parte constituye lo que se denomina carga útil de direcciones. A esto, luego se le agregan ciertos metadatos, como el prefijo «bc1q» para las direcciones de SegWit, por ejemplo. También se añade una suma de comprobación (o suma de comprobación).

Para los modelos P2SH y P2WSH, como indican sus nombres, las direcciones son el resultado del hash del script utilizado. Por lo demás, la construcción es idéntica.
En cuanto a las direcciones P2TR, su construcción difiere ligeramente: la dirección no es el hash de una clave pública, sino la propia clave pública, presentada en su forma original. Para aquellos que quieran profundizar en su comprensión de cómo funcionan las direcciones Taproot, los invito a consulta nuestro artículo dedicado a este tema.
Una vez recopilada toda la información necesaria para crear una dirección, se codifica en un formato específico adaptado a Bitcoin. Se utilizan tres formatos:
Estos formatos son simplemente una forma estándar de escribir direcciones para que sean legibles por humanos y reconocidas de manera uniforme por diferentes plataformas y software de monederos, como Bitstack.
Para bloquear los bitcoins, la carga útil de la dirección se integra en un script que bloquea los fondos. Este script se suele denominar» Clave ScriptPub » o» Script de bloqueo ».

Como vimos en la parte anterior, las direcciones de recepción de Bitcoin incorporan una suma de verificación. Este valor, calculado a partir de la propia dirección, se añade al final de la dirección para garantizar su integridad y validez durante la transmisión.
Esta suma de comprobación es importante porque permite al software verificar la exactitud de la dirección introducida al enviar Bitcoin. Por ejemplo, con la aplicación Bitstack, si intentas retirar tus bitcoins a otro monedero y cometes un error al introducir la dirección, la aplicación no te permitirá enviar tus fondos porque la dirección no es válida. Esta verificación es posible gracias a la suma de comprobación.
Esta función elimina la necesidad de comprobar cuidadosamente cada carácter de la dirección de recepción cuando se transmite a un remitente. Solo tienes que comprobar algunos caracteres al principio, a la mitad y al final de la dirección para asegurarte de que es la correcta. Si hay un error tipográfico, como un carácter faltante o adicional, el software del remitente impedirá que se envíe la transacción.

Hasta aquí la seguridad de las direcciones de recepción de Bitcoin. Por motivos de privacidad, es importante entender que las direcciones solo deben usarse una vez. Esto significa que para cada nueva transacción entrante, debes generar una dirección nueva.
Dado que la cadena de bloques es pública, es fácil ver qué direcciones protegen qué cantidad de bitcoins. Si se utiliza la misma dirección para varias transacciones, es posible deducir que todos los bitcoins asociados a esta dirección pertenecen a la misma persona. Este fenómeno de reutilización de direcciones compromete la privacidad del usuario, ya que permite establecer vínculos deterministas entre diferentes transacciones y facilita el seguimiento de los bitcoins en la cadena de bloques. El propio Satoshi Nakamoto ya destacó este problema en su libro blanco:
Como firewall adicional, se podría usar un nuevo par de claves para cada transacción a fin de mantenerlas desvinculadas de un propietario común.
— Nakamoto, S. (2008). «Bitcoin: un sistema de efectivo electrónico de igual a igual». https://bitcoin.org/bitcoin.pdf.

Para proteger mejor su privacidad, se recomienda encarecidamente que utilice cada dirección de Bitcoin solo una vez. Afortunadamente, con los monederos deterministas y jerárquicos, ahora es muy fácil gestionar varias direcciones. Todos los pares de claves asociados a una billetera se pueden regenerar fácilmente en función de su frase mnemotécnica. Precisamente por esta razón, el software de monedero te ofrece automáticamente una nueva dirección cada vez que presionas el botón «». Recibiendo ».
➤ Descubre 7 consejos para mejorar la seguridad de tu monedero de Bitcoin.
Una dirección de Bitcoin es una cadena de caracteres que generalmente se genera a partir de una clave pública y que se utiliza en scripts para bloquear bitcoins. En otras palabras, se usa para recibir bitcoins.
Hay varios tipos de direcciones de Bitcoin, cada una de las cuales corresponde a un estándar diferente. Hoy en día, se recomienda utilizar las direcciones P2TR de Taproot o, en su defecto, las direcciones P2WPKH de SegWit.
Para el usuario, el aspecto más importante al usar direcciones de recepción es no reutilizar nunca la misma dirección para varias transacciones. Es fundamental generar una nueva dirección para cada transacción; de lo contrario, la falta de confidencialidad que proporciona Bitcoin se destruirá por completo.

