Glosario / Direcciones y claves
Dirección heredada
- ¿Qué es la dirección heredada?
- La dirección heredada (legacy) es una cadena de caracteres Base58Check que empieza por 1, el formato original de dirección de bitcoin, y las monedas que hay en una son las más caras de mover.
Las direcciones heredadas funcionan sin cambios desde la primera versión de bitcoin, en enero de 2009, y todas las billeteras y todos los exchanges siguen aceptándolas. También son el formato más caro desde el que gastar: una entrada heredada ocupa unos 148 vbytes, frente a unos 68 de una entrada SegWit nativa. Si sus monedas están en una dirección que empieza por 1, no pasa nada malo, pero cada retiro futuro le cuesta en silencio aproximadamente el doble de comisión.
Cómo funciona
Una dirección heredada es una codificación compacta de un solo hash. Se toma la clave pública comprimida de 33 bytes, se le aplica SHA-256, se aplica RIPEMD-160 a ese resultado y se obtiene una huella digital de 20 bytes. Se antepone un byte de versión 0x00, se añaden como suma de comprobación los cuatro primeros bytes de un doble SHA-256 calculado sobre esos 21 bytes, y el paquete terminado de 25 bytes se codifica en Base58. El byte de versión es lo que obliga a que el primer carácter sea 1, y la cadena de caracteres resultante tiene de 26 a 35 caracteres, casi siempre 34.
Base58 elimina cuatro símbolos de los alfanuméricos habituales: el cero, la O mayúscula, la I mayúscula y la l minúscula. Así desaparecen los pares de símbolos que la gente confunde al leer una cadena de caracteres en voz alta o al copiarla de una pantalla. Lo que no elimina es que el alfabeto distinga mayúsculas de minúsculas, así que una dirección heredada transcrita con las mayúsculas y minúsculas equivocadas es otra dirección, y su código QR tiene que usar el modo de bytes, que empaqueta el patrón con más densidad que el equivalente en bech32.
La dirección es una forma abreviada de escribir un script de bloqueo. La billetera del remitente la expande en OP_DUP OP_HASH160 <20-byte hash> OP_EQUALVERIFY OP_CHECKSIG, 25 bytes que se escriben en la salida de la transacción. Cuando más adelante usted gasta, la firma y la clave pública van al scriptSig de la entrada, donde cada byte cuenta como cuatro unidades de peso frente al presupuesto de 4.000.000 unidades del bloque. Ninguna parte de una entrada heredada tiene descuento, y de ahí viene toda la diferencia de costo.
Vale la pena conocer dos datos históricos. El bloque génesis, minado el 3 de enero de 2009, pagó los 50 BTC de su transacción coinbase directamente a una clave pública en lugar de a un hash, y la famosa cadena de caracteres 1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa es la dirección heredada derivada de esa clave. Esas monedas en concreto no se pueden gastar, porque la transacción coinbase del bloque génesis nunca se añadió al conjunto de salidas gastables.
Por qué importa cuando compra bitcoin
La dirección que usted pega en el formulario de retiro de un exchange determina sus comisiones durante años, y la elección es suya, no de la plataforma.
Aquí se confunden dos comisiones distintas. El exchange cobra una comisión de retiro, normalmente fija por transacción, sea cual sea el monto o el formato. La red le cobra aparte y más tarde, cuando usted mismo gasta esas monedas, y ese costo depende de cuántas entradas tenga y de qué tipo sean. Retirar a una dirección que empieza por 1 le deja una entrada cara. Retirar a una dirección bc1q le deja una barata, sin ningún costo adicional ese día.
Revise la pantalla de retiro antes de depositar fondos en una cuenta. Nuestras reseñas de exchanges indican qué plataformas se centran solo en bitcoin y cómo funciona su configuración de retiros, y la señal a la que hay que prestar atención es un formulario que ofrece formatos Base58 y nada más. Una plataforma que no ha tocado su gestión de direcciones desde 2017 le está diciendo algo sobre su ingeniería, y mientras tanto mantiene su dinero.
Si su billetera es antigua, sus monedas ya están en direcciones heredadas. Una billetera de papel impresa en 2014, un archivo de las primeras versiones de Electrum, una billetera de hardware configurada con su primer firmware: todos usan de forma predeterminada el formato con prefijo 1. Nada está en riesgo y no hay ningún plazo. La única decisión es cuándo pagar el traslado.
Lo que cuesta realmente consolidar un viejo saldo en direcciones heredadas
Imagine doce direcciones distintas que empiezan por 1, cada una con un pequeño monto que sobró de años de pequeñas compras, y un plan para reunirlas en una sola dirección moderna.
Doce entradas heredadas y una salida SegWit nativa forman una transacción de aproximadamente 1.817 vbytes: unos 148 por cada entrada, 31 por la salida y 10 por la versión, los contadores y el locktime. A 6 sat/vB, eso se acerca a 10.900 satoshis. Si esas mismas doce monedas hubieran estado en salidas bc1q, la misma transacción ocuparía unos 858 vbytes y costaría unos 5.150 satoshis. El ahorro viene del formato, no de poner orden.
Hay dos advertencias. Las comisiones por vB cambian, y la misma transacción a 60 sat/vB cuesta aproximadamente 109.000 satoshis, así que es una tarea para una mempool tranquila y no para una tarde ajetreada. Y una consolidación es un suceso que afecta a la privacidad: fusionar doce entradas anuncia que una sola persona controla las doce, lo que puede deshacer separaciones que usted mantuvo a propósito.
Dirección heredada frente a dirección P2PKH
Dirección heredada y dirección P2PKH describen la misma cadena de caracteres desde dos ángulos, y solo difieren en su alcance. P2PKH nombra el script de bloqueo con precisión, así que siempre significa una dirección que empieza por 1. "Heredada" nombra una época, y en el uso informal se estira para abarcar también las cadenas de caracteres Base58 que empiezan por 3, ya que son igual de antiguas y distinguen igualmente mayúsculas de minúsculas. Si alguien dice que su exchange solo admite direcciones heredadas, pregunte si se refiere solo a las que empiezan por 1 o a las que empiezan por 1 y por 3, porque la respuesta cambia a qué direcciones puede retirar.
Dirección heredada frente a SegWit anidado
Las direcciones SegWit anidadas parecen heredadas y no lo son. Comparten la codificación Base58Check y el alfabeto que distingue mayúsculas de minúsculas, pero empiezan por 3, y las monedas que hay detrás son salidas de testigo, así que gastar una de ellas ocupa unos 91 vbytes en lugar de 148. Una plataforma que anuncia compatibilidad con SegWit y luego le da una dirección que empieza por 3 le está ofreciendo la opción intermedia: más barata que la heredada, más cara que bc1q, compatible con casi todo. Juzgar solo por el primer carácter también le hará equivocarse en el sentido contrario, porque una dirección con prefijo 3 podría ser igualmente una bóveda multisig.