Glosario / Referencia para desarrolladores
Etiqueta
- ¿Qué es la etiqueta?
- La etiqueta de un URI de Bitcoin nombra a la persona o al negocio que recibe el pago, y en una billetera es la nota privada que usted añade a una dirección o a una transacción.
Se especifica en el BIP-21.
Las etiquetas son la única parte de un pago en bitcoin que existe solo para las personas. Nada de lo que usted escribe en una etiqueta llega a la blockchain, y nada de su frase semilla lo recupera: Bitcoin Core reemplazó su antiguo sistema de cuentas por etiquetas en la versión 0.17.0, en octubre de 2018, y las etiquetas viven únicamente en el archivo de la billetera. Perderlas le cuesta su propio historial de transacciones a la hora de declarar impuestos.
Cómo funciona
La palabra etiqueta abarca dos cosas distintas, y distinguirlas evita mucha confusión.
La primera es el parámetro label que define BIP21. Viaja dentro de un URI de pago como UTF-8 con codificación porcentual, de modo que label=Coffee%20Shop se muestra como Coffee Shop en su pantalla de confirmación. Es un texto orientativo que aporta quien haya construido el URI. Ninguna firma lo cubre, ninguna billetera lo comprueba, y un atacante que construye un enlace de phishing lo elige con la misma libertad que un comerciante honrado.
La segunda es la nota que usted mismo escribe. Bitcoin Core la expone mediante las llamadas RPC setlabel, getaddressesbylabel y listlabels, la API que llegó en la 0.17.0, cuando las cuentas se marcaron como obsoletas, y que terminó de reemplazarlas cuando las llamadas de cuentas se eliminaron en la 0.18.0. Sparrow, Electrum y la mayoría de las billeteras móviles tienen un campo equivalente.
Las etiquetas del lado de la billetera son metadatos que están junto a sus claves, no dentro de ellas. Restaure una frase semilla en un software nuevo y cada moneda volverá sin ningún recuerdo de su procedencia. BIP329 existe para resolver la mitad de ese problema que corresponde a la portabilidad: define una exportación JSON Lines con un registro por línea, cada uno con un tipo (tx, addr, pubkey, input, output o xpub), una referencia y el texto de la etiqueta. Varias billeteras de escritorio y móviles pueden leer y escribir el formato, así que las etiquetas pueden trasladarse cuando usted cambia de software.
Dónde aparece
Las etiquetas resultan imprescindibles en tres situaciones que no tienen nada que ver con que los pagos se vean ordenados.
El control de monedas es la primera. Decidir qué UTXO gastar, y cuáles mantener separados, solo funciona si se pueden distinguir, y la etiqueta es lo que deja constancia de que esta moneda vino de un retiro verificado de un exchange mientras que aquella llegó de una operación entre pares. Fusiónelos en una sola transacción y habrá vinculado las dos historias para siempre. Nadie practica de memoria la evitación de fusiones.
Los registros fiscales son la segunda. El costo de adquisición de una moneda concreta vive en sus propias notas, porque una transferencia de autocustodia no lleva precio. Una billetera con los depósitos etiquetados y el monto en fiat anotado es una hoja de cálculo que usted ya tiene; una billetera llena de UTXO sin etiquetar es una tarde de reconstrucción por año.
El phishing es la tercera, y funciona en sentido contrario. Una etiqueta de URI es texto controlado por el atacante. Ver un nombre de empresa conocido en una pantalla de pago significa que alguien escribió ese nombre en una cadena de caracteres, nada más.
Hábito práctico: etiquete en el momento de la transacción, cuando todavía sabe de qué se trataba, y exporte las etiquetas junto con el descriptor de su billetera cada vez que haga un respaldo. Una frase semilla más un descriptor más un archivo de etiquetas es una restauración completa. Una frase semilla sola recupera el dinero y pierde la historia.
Etiqueta frente a PP memo
Un memo del protocolo de pago (BIP70) era texto del comerciante que viajaba dentro de un mensaje firmado, así que una billetera podía al menos asociarlo a un titular de certificado. Una etiqueta BIP21 viaja en claro sin nada que la avale. Esa diferencia era todo el argumento a favor del protocolo de pago, y no lo salvó: BIP70 se eliminó de Bitcoin Core en la versión 0.20.0, en junio de 2020, lo que dejó las etiquetas sin firmar como el formato que todo el mundo usa en realidad.