LearnBitcoin

Glosario

BIP 341 (Taproot)

Define Taproot: salidas de SegWit versión 1 que usan una clave pública x-only ajustada (tweaked) directamente como dirección, sin ninguna capa de hash delante de la clave.

Traducción hecha con ayuda de IA, pendiente de revisión humana. Lee el original (en inglés).

El BIP 341 define Taproot: salidas de SegWit versión 1 que usan una clave pública x-only ajustada (tweaked) directamente como dirección. Se activó como soft fork en noviembre de 2021, a la altura de bloque 709,632, junto con el BIP 340 (firmas Schnorr) y el BIP 342 (Tapscript, en inglés).

La decisión estructural de fondo: no hay ninguna capa de hash delante de la clave pública. La dirección bech32m (la parte que empieza con bc1p...) ES una clave pública x-only ajustada de 32 bytes, presentada tal cual a cualquiera que lea la cadena. Los tipos de dirección anteriores, con hash (P2PKH, P2WPKH), esconden la clave pública detrás de un hash de 160 bits hasta que la dirección se gasta. P2TR no. Toda salida P2TR pone su clave en la cadena desde el momento en que se crea.

Esa decisión es lo que hace que todas las salidas P2TR se vean idénticas en la red hasta que se gastan (el compromiso con el árbol de scripts va plegado dentro del ajuste, en lugar de aparecer como una capa de hash aparte), y también es la razón de que las salidas P2TR estén "siempre expuestas" en términos poscuánticos: la clave pública queda al alcance del análisis forense desde que se crea la salida, se gaste alguna vez o no.

Las dos rutas de gasto

Una salida P2TR siempre se compromete con una clave pública (la "clave interna") y, opcionalmente, con un árbol de scripts de gasto alternativos (las "rutas de script"); una billetera que quiera gastar solo por script usa una clave interna por la que nadie puede firmar. El ajuste (tweak) de Taproot combina ambas cosas en una sola clave de salida que no revela qué rutas existen.

  1. Gasto por la ruta de clave. Una sola firma Schnorr sobre la clave ajustada. El testigo (witness) contiene una sola firma de 64 bytes (65 bytes si se añade un tipo de sighash distinto del predeterminado). Quien observa no puede saber si existían rutas de script ni cuáles habrían sido. Es el caso común y el gasto estándar más barato que hay en Bitcoin: unos 57.5 vbytes por entrada, frente a 68 en P2WPKH.
  2. Gasto por la ruta de script. Revela una sola hoja del árbol de scripts merkleizado (MAST (en inglés)), demuestra que el ajuste se comprometió con ella y ejecuta el script de esa hoja bajo Tapscript (en inglés). Las demás ramas siguen ocultas. Pagas por la rama que de verdad usas.

Lo escribieron Pieter Wuille, Jonas Nick y Anthony Towns. La activación siguió una ventana de señalización "Speedy Trial" que se abrió el 24 de abril de 2021 con fecha límite el 11 de agosto; los mineros lo dejaron fijado (locked in) el 12 de junio de 2021, y entró en vigor en noviembre.

Especificación: BIP 341.

Consulta Cómo funciona Taproot en realidad (en inglés) para ver la construcción con un diagrama y lo que revela cada ruta de gasto.

Ideas clave

  • Define el tipo de salida P2TR, en el que la dirección bech32m ES la clave pública ajustada
  • Dos rutas de gasto: la ruta de clave cooperativa (una sola firma Schnorr) o la ruta de script (prueba de Merkle de una sola rama)
  • Se activó como soft fork en noviembre de 2021, junto con el BIP 340 (Schnorr) y el BIP 342 (Tapscript)

Fuentes (6)

Referencias externas (3)

Términos relacionados (10)

Publicado el . No hay correcciones registradas para esta página.

Editar esta página en GitHub