Taproot es una actualización de Bitcoin que trajo varias nuevas características y beneficios a los usuarios de Bitcoin. La comunidad de Bitcoin activó Taproot en el bloque 709,632 el 12 de noviembre de 2021.
La actualización Taproot se compone de tres Propuestas de Mejora de Bitcoin (BIPs)que definen tres actualizaciones distintas del protocolo Bitcoin:
Juntas, estas tres actualizaciones son conocidas como la actualización Taproot, a menudo referidas colectivamente como BIP Taproot. Estos BIP introdujeron nuevas formas más eficientes, flexibles y privadas de transferir Bitcoin.
Como parte de la actualización de Taproot, BIP 340 introduce firmas Schnorr para su uso en Bitcoin. Las firmas Schnorr aportan varios beneficios a los usuarios de Bitcoin, incluida una mayor privacidad, tarifas más bajas y mayor flexibilidad multifirma.
Este BIP también especifica cómo se codifican las claves públicas y firmas de Schnorr para su uso en Bitcoin. Las claves públicas utilizadas para las firmas de Schnorr tienen una longitud de 32 bytes, en comparación con las claves públicas de 33 bytes de ECDSA. Además, las firmas de Schnorr tienen una longitud de 64 bytes, en comparación con las firmas de ECDSA, que van desde 71-72 bytes, incluyendo unbandera sighash. Estos pequeños ahorros de espacio ofrecen ahorros de comisión a los usuarios de Bitcoin que adoptan Taproot.
➤ Obtenga más información sobre las firmas Schnorr.
Mientras que BIP 340 define la especificación para generar y codificar firmas de Schnorr y claves públicas, BIP 341 define cómo el protocolo de Bitcoin integra las firmas de Schnorr. Específicamente, el Script de Bitcoin debe ser actualizado para evaluar también las firmas de Schnorr. Taproot también integra Árboles de script alternativos de Merkel (MAST), que permiten a los usuarios bloquear salidas a múltiples scripts.
Las salidas de Pagar-a-Taproot son salidas SegWit de versión 1, y todas las transacciones Taproot son transacciones SegWit.
Taproot también introdujo un nuevo tipo de script, una forma de gastar Bitcoin. Pay-to-Taproot (P2TR) permite a los usuarios pagar tanto a una clave pública Schnorr como al raíz de Merklede una variedad de otros scripts. Usando este nuevo tipo de script, un usuario puede crear un UTXOque puede ser desbloqueado y gastado por el propietario de la clave privada o por cualquier persona que pueda cumplir con los requisitos de cualquier script dentro del árbol de Merkle.
Agregación de claves
La función de agregación de claves de Schnorr permite esta funcionalidad flexible. Cuando se envía bitcoin a una salida P2TR, se bloquea a una sola clave pública, llamada Q. Sin embargo, esta clave pública Q es en realidad una agregación de una clave pública P y una clave pública formada a partir de la raíz de Merkle de muchos otros tipos de script. Cualquiera de los scripts alternativos en el árbol de Merkle se puede usar para gastar la salida.
Este diseño permite a los usuarios elegir entre scripts complejos y arbitrarios, así como funcionalidades simples de pago a clave pública en el momento del gasto, en lugar de en el momento de la recepción. También hace que todas las salidas de TAPROOT se vean similares. Debido a que las salidas multisig, las salidas de una sola sig y otros contratos inteligentes complejos se ven iguales en la cadena de bloques, muchas heurísticas de análisis de cadenas se volverán inutilizables, preservando la privacidad de todos los usuarios de TAPROOT.
Para implementar transacciones P2TR, BIP 342 añade y actualiza varios opcodesEstos nuevos scripts se utilizan para verificar los gastos de Taproot y las firmas de Schnorr, y se conocen colectivamente como Tapscript.
Tapscript fue diseñado para maximizar la flexibilidad futura del gasto de P2TR para permitir actualizaciones que aún no se prevén.
La actualización de Taproot ofrece muchos beneficios a los usuarios de Bitcoin que adoptan Taproot, así como a los que no lo hacen. La introducción de firmas Schnorr ofrece beneficios significativos para la privacidad y la seguridad, pero Taproot y Tapscript también aportan ventajas propias.
➤ Obtenga más información sobre los beneficios de las firmas Schnorr.
La mayoría de las salidas de Taproot (P2TR) consumen menos espacio en la cadena de bloques que las normalesP2PKHsalidas, pero son ligeramente más grandes queP2WPKHlas salidas. Esto se debe en su mayoría al hecho de que las salidas P2TR bloquean bitcoin directamente a una clave pública, no al hash de la clave pública. Esto hace que enviar a las salidas Taproot sea ligeramente más caro, porque las claves públicas ocupan más espacio que los hashes de claves públicas. Sin embargo, gastar las salidas Taproot es significativamente más barato porque la clave pública se incluye en el scriptPubKey, y por lo tanto no necesita ser incluida en el Testigo de Script.
Taproot también definió el esquema de codificación para las claves públicas y firmas de Schnorr, haciéndolas más cortas que sus contrapartes de ECDSA, lo que proporciona ahorros adicionales en comisiones.
Las implicaciones de privacidad de Taproot son quizás la parte más importante de la actualización. Al introducir firmas Schnorr y agregación de claves, los contratos multisig ya no se ven diferentes de los contratos de una sola firma, proporcionando privacidad a todos los usuarios de Taproot.
Dado que la Red Lightning se basa en multisig 2-de-2, Taproot hace imposible discernir qué transacciones crean canales de Lightning.
Taproot también introdujo importantes beneficios de privacidad a través de la integración de MAST. Como se discutió anteriormente, Taproot permite que el bitcoin esté bloqueado a muchos scripts a la vez. Sin embargo, al gastar bitcoin de una salida Taproot, el gastador no necesita revelar cada posible script que podría haber desbloqueado el bitcoin; solo el script que realmente usaron. En la mayoría de los casos, es probable que los usuarios de Taproot utilicen la opción de pago a clave pública, lo que les permite mantener privadas cualquier opción de respaldo que puedan haber planeado.
➤Obtenga más información sobre cómo Taproot mejora la experiencia del usuario de Lightning.
En un nivel técnico y teórico, las firmas de Schnorr se consideran más seguras que las firmas de ECDSA porque las firmas de Schnorr son demostrablemente seguras utilizando menos suposiciones. Al igual que todos los esquemas de criptografía de curva elíptica, tanto ECDSA como Schnorr dependen de la suposición de que el Problema del Logaritmo Discreto es difícil. Sin embargo, ECDSA se basa en suposiciones adicionales para garantizar su seguridad. No obstante, no ha habido ejemplos de ECDSA que hayan sido comprometidos sistemáticamente durante la existencia de Bitcoin.
Las firmas Schnorr también eliminan cualquier firmamaleabilidadque podría haber estado presente en las firmas de ECDSA. Si bien la maleabilidad de transacciones fue resuelta por la actualización SegWit, la maleabilidad de firmas persistió como una característica de ECDSA.
Taroes un protocolo impulsado por Taproot que permite a los usuarios emitir activos en la cadena de bloques de Bitcoin y la Red de RayosCon un diseño centrado en Taproot, esta emisión de activos se puede realizar de una manera más privada y escalable que intentos anteriores de introducir otros activos en Bitcoin. Taro fue propuesto por Lightning Labs en abril de 2022.
Taproot se utiliza en Taro para incrustar metadatos de activos en una salida de transacción existente. Las Firmas Schnorr también se utilizan para mejorar la simplicidad y la escalabilidad.
El nombre Taro es un acrónimo de Taproot Asset Representation Overlay, lo que indica que sin Taproot, esta actualización no sería posible.
Cuando se propone una actualización de Bitcoin, primero es discutida por la comunidad de desarrolladores. Una vez que la propuesta está formalizada, se le asigna un número de BIP. Después de que el código es escrito, revisado, probado y fusionado, los operadores de nodos de Bitcoin deben decidir cómo y cuándo activar la actualización.
Las actualizaciones de Schnorr, Taproot y Tapscript se les dio BIP 340, 341 y 342 en enero de 2020, y han estado bajo discusión y desarrollo desde entonces. A finales de 2020, la implementación del código para las tres actualizaciones se completó, probó, revisó y se fusionó con Bitcoin Core.
En mayo de 2021, más del 90% de los mineros señalaron la activación de Taproot, y BIP 340, 341 y 342 se activaron y aplicaron en el bloque 709,632 el 12 de noviembre de 2021. Hay varios métodos para activar actualizaciones en Bitcoin; la comunidad de Bitcoin selecciona un camino y luego lo ejecuta.
BIP 8 y BIP 9 definen dos métodos populares para activar actualizaciones. Ambos procesos comienzan encuestando a los mineros de Bitcoin en busca de apoyo. Si una abrumadora mayoría de mineros señala su apoyo a través de mensajes en los bloques que minan, la actualización se activa. La diferencia entre BIP 8 y BIP 9 surge si el apoyo de los mineros es insuficiente. En ese caso, BIP 9 especifica que la actualización no debe tener lugar, mientras que BIP 8 especifica que la actualización debe activarse después de un período de demora.
Variantes de estas dos propuestas fueron presentadas en el contexto de la activación de Taproot. Sin embargo, la comunidad de Bitcoin apoyó abrumadoramente a Taproot, y se ha planteado muy poca crítica. Por lo tanto, la ruta de activación específica fue en gran medida insignificante.
Taproot es una actualización de Bitcoin que trajo varias nuevas características y beneficios a los usuarios de Bitcoin. La comunidad de Bitcoin activó Taproot en el bloque 709,632 el 12 de noviembre de 2021.
La actualización Taproot se compone de tres Propuestas de Mejora de Bitcoin (BIPs)que definen tres actualizaciones distintas del protocolo Bitcoin:
Juntas, estas tres actualizaciones son conocidas como la actualización Taproot, a menudo referidas colectivamente como BIP Taproot. Estos BIP introdujeron nuevas formas más eficientes, flexibles y privadas de transferir Bitcoin.
Como parte de la actualización de Taproot, BIP 340 introduce firmas Schnorr para su uso en Bitcoin. Las firmas Schnorr aportan varios beneficios a los usuarios de Bitcoin, incluida una mayor privacidad, tarifas más bajas y mayor flexibilidad multifirma.
Este BIP también especifica cómo se codifican las claves públicas y firmas de Schnorr para su uso en Bitcoin. Las claves públicas utilizadas para las firmas de Schnorr tienen una longitud de 32 bytes, en comparación con las claves públicas de 33 bytes de ECDSA. Además, las firmas de Schnorr tienen una longitud de 64 bytes, en comparación con las firmas de ECDSA, que van desde 71-72 bytes, incluyendo unbandera sighash. Estos pequeños ahorros de espacio ofrecen ahorros de comisión a los usuarios de Bitcoin que adoptan Taproot.
➤ Obtenga más información sobre las firmas Schnorr.
Mientras que BIP 340 define la especificación para generar y codificar firmas de Schnorr y claves públicas, BIP 341 define cómo el protocolo de Bitcoin integra las firmas de Schnorr. Específicamente, el Script de Bitcoin debe ser actualizado para evaluar también las firmas de Schnorr. Taproot también integra Árboles de script alternativos de Merkel (MAST), que permiten a los usuarios bloquear salidas a múltiples scripts.
Las salidas de Pagar-a-Taproot son salidas SegWit de versión 1, y todas las transacciones Taproot son transacciones SegWit.
Taproot también introdujo un nuevo tipo de script, una forma de gastar Bitcoin. Pay-to-Taproot (P2TR) permite a los usuarios pagar tanto a una clave pública Schnorr como al raíz de Merklede una variedad de otros scripts. Usando este nuevo tipo de script, un usuario puede crear un UTXOque puede ser desbloqueado y gastado por el propietario de la clave privada o por cualquier persona que pueda cumplir con los requisitos de cualquier script dentro del árbol de Merkle.
Agregación de claves
La función de agregación de claves de Schnorr permite esta funcionalidad flexible. Cuando se envía bitcoin a una salida P2TR, se bloquea a una sola clave pública, llamada Q. Sin embargo, esta clave pública Q es en realidad una agregación de una clave pública P y una clave pública formada a partir de la raíz de Merkle de muchos otros tipos de script. Cualquiera de los scripts alternativos en el árbol de Merkle se puede usar para gastar la salida.
Este diseño permite a los usuarios elegir entre scripts complejos y arbitrarios, así como funcionalidades simples de pago a clave pública en el momento del gasto, en lugar de en el momento de la recepción. También hace que todas las salidas de TAPROOT se vean similares. Debido a que las salidas multisig, las salidas de una sola sig y otros contratos inteligentes complejos se ven iguales en la cadena de bloques, muchas heurísticas de análisis de cadenas se volverán inutilizables, preservando la privacidad de todos los usuarios de TAPROOT.
Para implementar transacciones P2TR, BIP 342 añade y actualiza varios opcodesEstos nuevos scripts se utilizan para verificar los gastos de Taproot y las firmas de Schnorr, y se conocen colectivamente como Tapscript.
Tapscript fue diseñado para maximizar la flexibilidad futura del gasto de P2TR para permitir actualizaciones que aún no se prevén.
La actualización de Taproot ofrece muchos beneficios a los usuarios de Bitcoin que adoptan Taproot, así como a los que no lo hacen. La introducción de firmas Schnorr ofrece beneficios significativos para la privacidad y la seguridad, pero Taproot y Tapscript también aportan ventajas propias.
➤ Obtenga más información sobre los beneficios de las firmas Schnorr.
La mayoría de las salidas de Taproot (P2TR) consumen menos espacio en la cadena de bloques que las normalesP2PKHsalidas, pero son ligeramente más grandes queP2WPKHlas salidas. Esto se debe en su mayoría al hecho de que las salidas P2TR bloquean bitcoin directamente a una clave pública, no al hash de la clave pública. Esto hace que enviar a las salidas Taproot sea ligeramente más caro, porque las claves públicas ocupan más espacio que los hashes de claves públicas. Sin embargo, gastar las salidas Taproot es significativamente más barato porque la clave pública se incluye en el scriptPubKey, y por lo tanto no necesita ser incluida en el Testigo de Script.
Taproot también definió el esquema de codificación para las claves públicas y firmas de Schnorr, haciéndolas más cortas que sus contrapartes de ECDSA, lo que proporciona ahorros adicionales en comisiones.
Las implicaciones de privacidad de Taproot son quizás la parte más importante de la actualización. Al introducir firmas Schnorr y agregación de claves, los contratos multisig ya no se ven diferentes de los contratos de una sola firma, proporcionando privacidad a todos los usuarios de Taproot.
Dado que la Red Lightning se basa en multisig 2-de-2, Taproot hace imposible discernir qué transacciones crean canales de Lightning.
Taproot también introdujo importantes beneficios de privacidad a través de la integración de MAST. Como se discutió anteriormente, Taproot permite que el bitcoin esté bloqueado a muchos scripts a la vez. Sin embargo, al gastar bitcoin de una salida Taproot, el gastador no necesita revelar cada posible script que podría haber desbloqueado el bitcoin; solo el script que realmente usaron. En la mayoría de los casos, es probable que los usuarios de Taproot utilicen la opción de pago a clave pública, lo que les permite mantener privadas cualquier opción de respaldo que puedan haber planeado.
➤Obtenga más información sobre cómo Taproot mejora la experiencia del usuario de Lightning.
En un nivel técnico y teórico, las firmas de Schnorr se consideran más seguras que las firmas de ECDSA porque las firmas de Schnorr son demostrablemente seguras utilizando menos suposiciones. Al igual que todos los esquemas de criptografía de curva elíptica, tanto ECDSA como Schnorr dependen de la suposición de que el Problema del Logaritmo Discreto es difícil. Sin embargo, ECDSA se basa en suposiciones adicionales para garantizar su seguridad. No obstante, no ha habido ejemplos de ECDSA que hayan sido comprometidos sistemáticamente durante la existencia de Bitcoin.
Las firmas Schnorr también eliminan cualquier firmamaleabilidadque podría haber estado presente en las firmas de ECDSA. Si bien la maleabilidad de transacciones fue resuelta por la actualización SegWit, la maleabilidad de firmas persistió como una característica de ECDSA.
Taroes un protocolo impulsado por Taproot que permite a los usuarios emitir activos en la cadena de bloques de Bitcoin y la Red de RayosCon un diseño centrado en Taproot, esta emisión de activos se puede realizar de una manera más privada y escalable que intentos anteriores de introducir otros activos en Bitcoin. Taro fue propuesto por Lightning Labs en abril de 2022.
Taproot se utiliza en Taro para incrustar metadatos de activos en una salida de transacción existente. Las Firmas Schnorr también se utilizan para mejorar la simplicidad y la escalabilidad.
El nombre Taro es un acrónimo de Taproot Asset Representation Overlay, lo que indica que sin Taproot, esta actualización no sería posible.
Cuando se propone una actualización de Bitcoin, primero es discutida por la comunidad de desarrolladores. Una vez que la propuesta está formalizada, se le asigna un número de BIP. Después de que el código es escrito, revisado, probado y fusionado, los operadores de nodos de Bitcoin deben decidir cómo y cuándo activar la actualización.
Las actualizaciones de Schnorr, Taproot y Tapscript se les dio BIP 340, 341 y 342 en enero de 2020, y han estado bajo discusión y desarrollo desde entonces. A finales de 2020, la implementación del código para las tres actualizaciones se completó, probó, revisó y se fusionó con Bitcoin Core.
En mayo de 2021, más del 90% de los mineros señalaron la activación de Taproot, y BIP 340, 341 y 342 se activaron y aplicaron en el bloque 709,632 el 12 de noviembre de 2021. Hay varios métodos para activar actualizaciones en Bitcoin; la comunidad de Bitcoin selecciona un camino y luego lo ejecuta.
BIP 8 y BIP 9 definen dos métodos populares para activar actualizaciones. Ambos procesos comienzan encuestando a los mineros de Bitcoin en busca de apoyo. Si una abrumadora mayoría de mineros señala su apoyo a través de mensajes en los bloques que minan, la actualización se activa. La diferencia entre BIP 8 y BIP 9 surge si el apoyo de los mineros es insuficiente. En ese caso, BIP 9 especifica que la actualización no debe tener lugar, mientras que BIP 8 especifica que la actualización debe activarse después de un período de demora.
Variantes de estas dos propuestas fueron presentadas en el contexto de la activación de Taproot. Sin embargo, la comunidad de Bitcoin apoyó abrumadoramente a Taproot, y se ha planteado muy poca crítica. Por lo tanto, la ruta de activación específica fue en gran medida insignificante.