Unidad 7 · Lección 7.3

Miniscript, en lo justo

Unidad 7: Timelocks y herencia · lección 3 de 4

Al terminar esta lección podrás

  • Distinguir la política de gasto del Miniscript que sale del compilador y va al descriptor
  • Saber por qué una billetera con recuperación no se recupera sin su descriptor y qué comprobar antes de meter fondos

No hace falta escribir Miniscript para usar una billetera con herencia. Lo que sí hace falta es saber qué es, dónde vive y qué puede salir mal.

Qué es. Una forma ordenada de escribir una parte del Script que ya existe, sin opcodes nuevos ni soft fork. Tiene dos niveles. La política es lo que quieres: «yo, cuando quiera; mi heredero, tras unos 365 días sin movimiento», or(9@pk(TU_CLAVE),and(pk(HEREDERO),older(52560))). Un compilador la pasa a Miniscript, que es lo que de verdad bloquea los fondos: or_d(pk(TU_CLAVE),and_v(v:pkh(HEREDERO),older(52560))), que en el descriptor va dentro de wsh(). Como cada trozo se traduce a opcodes fijos, un programa puede comprobar que ninguna rama se abre sin firma y que el script cabe en los límites.

Dónde vive. En el descriptor. Tus palabras no guardan la clave del heredero, ni el plazo, ni la forma del script, y las suyas tampoco guardan la tuya. Sin el descriptor, ninguna de las dos seeds encuentra los fondos. Por eso cada participante guarda una copia junto a su clave, como en la ficha de la unidad 3.

Qué puede salir mal. Un older() con un número demasiado grande no da error: el nodo lo recorta y un plazo de años se queda en días. Revisa cada older() en el conversor antes de depositar. Un firmante puede entender mal un fragmento: las versiones 2.1.0 y 2.1.1 de la app Bitcoin de Ledger daban direcciones erróneas, y se corrigió en la 2.1.2 (mayo de 2023). Compara siempre la dirección del aparato con la del programa. Y no todos los aparatos firman Miniscript: Coldcard, por ejemplo, solo con su firmware Edge, a octubre de 2026. Mira la documentación del fabricante.

La privacidad separa P2WSH de Taproot. En P2WSH cada gasto enseña el script entero. En Taproot tu clave va en el camino de clave y la del heredero en una hoja, que solo se publica si él la usa.

En «Miniscript» lee «Qué es y qué no es», «Política y Miniscript: dos cosas distintas», «Un ejemplo: herencia con camino de recuperación», con sus dos trampas, y «Firma genérica y soporte real». Repasa «Qué copiar además de las palabras» en «Descriptores de salida» y, en «Billeteras con timelock», el segundo punto de «Qué significa esto para ti».

Lee en Bitcoinpedia

Pruébalo

Inspector de descriptoresAbrir aparte

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.

Prueba:
100 % local: nada sale de tu navegador
Actividad

En el inspector de descriptores, pulsa «Taproot» y apunta el checksum. Ahora, en el cuadro de texto, escribe justo detrás de /* y antes del paréntesis que cierra, sin espacios: ,and_v(v:pk(HEREDERO),older(52560)). HEREDERO es un marcador, no una clave. ¿Qué dice del checksum? ¿Cuántas claves salen en la tabla? ¿Te da direcciones? Solución: el checksum ya no cuadra, debería ser #5atv5dy5. Cambiar la política da otro descriptor y otra billetera, con otras direcciones. Guarda el nuevo con su checksum, y no tires el viejo mientras quede saldo en sus direcciones. La tabla solo enseña una clave: la del heredero y el plazo van en el árbol de scripts, que la herramienta no calcula, y por eso no da direcciones. En Taproot ese árbol cambia la dirección aunque tu clave sea la misma. Después, para tu escenario, escribe con marcadores la política de la rama de recuperación, si la hay, y su descriptor en P2WSH o en Taproot. Al lado apunta quién guarda copia del descriptor, con qué clave va y qué tiene que comprobar en el aparato antes de meter fondos. Si elegiste el negocio con su 2 de 3, escribe solo la multifirma: en la 7.4 decidirás si le hace falta algún plazo.

Piénsalo o escríbelo a mano. No guardamos lo que respondas.