Al terminar esta lección podrás
- Saber qué errores detecta el checksum de un descriptor y qué no comprueba
- Actuar bien cuando el checksum no cuadra: buscar la errata, no copiar el checksum nuevo
El descriptor de una firma de la lección anterior tiene 154 caracteres. El de la multifirma 2 de 3 del inspector, 457. Copiar eso sin una errata cuesta, y una errata puede llevarte a otras direcciones o a una clave que el aparato no reconoce. Por eso un descriptor termina en # y ocho caracteres: el checksum de BIP-380.
Lo que garantiza es concreto. Detecta cualquier error de un símbolo, cualquiera de dos o tres en descriptores de hasta 49.154 caracteres y cualquiera de cuatro hasta 507. Un símbolo no siempre es un carácter, así que no lo resumas en «detecta hasta cuatro erratas». Con errores al azar, la probabilidad de que uno pase sin detectar es de 1 entre 2 elevado a 40.
Lo que no hace también importa. No te dice qué carácter falló ni lo corrige. Bitcoin Core te enseña el checksum que saldría con lo que has pegado. Si no coincide con el tuyo, la errata está en el texto, y copiar ese checksum encima solo la esconde. Tampoco confirma que el descriptor sea el tuyo: uno ajeno con su checksum correcto pasa igual. Eso lo confirma la primera dirección que apuntaste al crear la billetera.
Un detalle que despista. El marcador de endurecido se puede escribir ' o h. Significan lo mismo, pero el checksum cambia: el ejemplo de una firma pasa de #hpg6d6w2 a #qf45pmyh. Desde la versión 26.0, Bitcoin Core muestra h. Si tienes dos copias con marcadores distintos, no las des por alteradas: comprueba cada una con su propio checksum.
Copia siempre el descriptor con su checksum. BIP-380 lo deja como opcional, pero Bitcoin Core lo exige al importar, y es lo que te avisará el día que restaures desde una copia vieja.
En «Descriptores de salida» lee el apartado «El checksum: qué protege y qué no».
Lee en Bitcoinpedia
Pruébalo
Pega solo descriptores con claves públicas (xpub). Si lleva una clave privada, la herramienta se para: un descriptor así no se pega en ninguna web. Los ejemplos salen de seeds de prueba públicas.
En el inspector, pulsa «Una firma, SegWit» y después «Checksum que no cuadra». Compara los dos textos hasta encontrar la diferencia. ¿Cambian las direcciones? ¿Por qué avisa igual el checksum? Solución: en el origen pone la cuenta 1' (84'/0'/1') en lugar de la 0' (84'/0'/0'). Las direcciones salen iguales porque las calcula la xpub, pero el origen dice de qué ruta sale la clave, y el checksum cubre cada carácter. Luego pulsa «Sin checksum». ¿Qué te propone la herramienta? ¿Cuándo tiene sentido añadirlo y por qué no arregla una errata que ya estuviera en el texto? En tu escenario, apunta qué comprobarás al restaurar desde la copia del descriptor: el checksum y, además, que la primera dirección coincide con la que apuntaste.
Piénsalo o escríbelo a mano. No guardamos lo que respondas.