Lima, Perú
+5113014109

¿Qué son Taproot y Schnorr y qué traen para Bitcoin?

¿Qué son Taproot y Schnorr y qué traen para Bitcoin?


Bitcoin siempre se está actualizando, pero algunas mejoras destacan más que otras y traen cambios de importancia para todo el protocolo y sus usuarios. Taproot es una de ellas.

Después de Segregated Witness (SegWit), Taproot es la actualización de Bitcoin más relevante de los últimos años y, a partir de su activación, la industria podría desarrollar productos que permitan hacer transacciones más complejas, con enfoque en la eficiencia y privacidad.

En este artículo te explicamos en qué consiste Taproot.

1 ¿Qué es Taproot?

Taproot es el nombre por el que se conoce a una actualización de Bitcoin que reúne en su conjunto varios adelantos técnicos, los cuales apuntan a brindar mayor privacidad y escalabilidad a las transacciones realizadas en la red.

Se trata de una solución que también apunta a flexibilizar la creación de transacciones complejas de Bitcoin, y aligerar el almacenamiento y transmisión de datos en su red.

Para el momento de su activación, el 14 noviembre de 2021, fue una de las actualizaciones de Bitcoin más anticipadas y esperadas por el ecosistema y sus usuarios.

La solución fue planteada el 22 enero de 2018 por el desarrollador de Bitcoin Core Gregory Maxwell, y ha recibido aportes de otros desarrolladores como Pieter Wuille y Jonas Nick, además de Nicolas Dorier, Marco Falke, entre otros.

Taproot, como actualización, está conformada por tres Propuestas de Mejora de Bitcoin (Bitcoin Improvement Proposal o por sus siglas, BIP): Schnorr, Taproot y Tapscript.

BIP-341: Taproot

La BIP-341 o Taproot es una solución para mejorar la forma de agregar la información que compone a una transacción de Bitcoin, como son los scripts o comandos para ejecutar un gasto.

En el repositorio de código de Taproot, se lee:

Esta propuesta busca mejorar la privacidad, eficiencia y flexibilidad de las capacidades de ejecutar comandos (scripting) sin añadir nuevas medidas de seguridad. Específicamente, Taproot busca minimizar cuánta información sobre las condiciones de gasto de una salida (output) de transacción es revelada en la cadena al momento de crear o gastar dicha salida, y añadir una cantidad de actualizaciones mientras se arreglan algunos aspectos de larga data.

Taproot (BIP-341).

Taproot utiliza Schnorr y una estructura de datos conocida como Árbol Merkelizado de Scripts Alternativos o Merkelized Alternative Script Tree (MAST), para evitar que se conozca toda la información que podría conformar una transacción de Bitcoin.

Las ramas del árbol Merkle nos permiten revelar a la blockchain solamente la parte del script que se ejecutó, en lugar de revelar todas las formas en que un script puede ejecutarse […[.

Además, Taproot nos deja fusionar los scripts pay-to-pubkey y pay-to-scripthash, haciendo que todas las salidas se puedan gastar tanto con una clave como con un script, opcionalmente, y que sean indistinguibles una de la otra. Si se hiciera un gasto con una clave de usuario, no se revelará si se permitía también un gasto con un script, resultando en un ahorro de espacio y el incremento de la privacidad de los scripts.

Taproot (BIP-341).

Esto es especialmente útil para la privacidad y eficiencia de los contratos inteligentes, transacciones donde las condiciones son variables y están involucrados múltiples participantes a la vez, que deben llegar a un consenso para firmar la transacción, pero que pudieron contemplar otras opciones para hacerla.

Ejemplo de una estructura de datos MAST por el Massachussets Institute of Technology (MIT), donde cada dato puede resumirse bajo una dirección hash hasta llegar a la cabecera o dirección de la raíz del árbol Merkle que los engloba.

2 ¿Qué son las firmas Schnorr en Bitcoin?

Schnorr es un algoritmo de creación de firmas criptográficas, es decir, un método para generar claves, como las llaves públicas y privadas que usamos para validar y enviar una transacción de Bitcoin.

El método de generación de firmas y llaves que Satoshi Nakamoto configuró para utilizar en Bitcoin es el Algoritmo de Firma Digital de Curva Elíptica (ECDSA, Elliptic Curve Digital Signature Algorithm), que es de código abierto y es uno de los más conocidos.

Ambos algoritmos (ECDSA y Schnorr) utilizan funciones matemáticas de curva elíptica para generar aleatoriamente las claves. La diferencia de Schnorr radica en que, con este algoritmo, podemos sumar o agregar varias firmas y generar una sola firma que las resuma como resultado.

Para Bitcoin, esto tiene potenciales beneficios al momento de hacer una transacción multifirma, pues permitiría tomar las firmas de varios usuarios y convertirlas en una sola que valide una transacción.

Al usar una sola firma, se incurre en una reducción del peso en datos que tiene una transacción de Bitcoin. Además, se ofusca la participación del resto de firmas, brindándoles privacidad.

Una transacción de Bitcoin realizada por un número n de personas con un número igual de llaves públicas, podría ser firmada con un número n de llaves privadas resultante de ese proceso aditivo entre todos los usuarios.

Schnorr implica también mejoras de seguridad para Bitcoin

Según el repositorio de la BIP-340, que describe la aplicación de las firmas Schnorr, las firmas generadas por este algoritmo son más difíciles de falsificar o forzar.

Los autores de la BIP-340, Pieter Wuille, Jonas Nick y Tim Ruffing, argumentan que las firmas ECDSA son maleables, o modificables, en teoría.

Esto significa que con cierto poder de cómputo, un actor malicioso puede ver una transacción en la red y las firmas que la validan, y hacer ingeniería inversa para generar nuevas firmas, con el fin de clonar la transacción original y reenviar una transacción falsa, pero idéntica, apostando a que la mayoría de la red reconozca la transacción falsa primero

Este método tiene el potencial de que el actor malicioso se pueda robar los bitcoins de la transacción originaria, lo que se conoce como ataque de maleabilidad.

En cuanto a las firmas Schnorr, los desarrolladores indican que no son maleables. Así destacan la cualidad de «Linealidad» de Schnorr, en cuanto a la capacidad de agregación de firmas:

Las firmas Schnorr proveen de un método simple y eficiente que permite a múltiples colaboradores producir una firma que sea válida con la suma de sus llaves públicas. Esto es el bloque fundacional para varios constructos de alto nivel para mejorar la eficiencia y privacidad, como las multifirmas y otras aplicaciones.

Pieter Wuille, Jonas Nick y Tim Ruffing, Bitcoin Core, BIP-340.

¿Por qué no se usaba Schnorr en Bitcoin?

Las firmas Schnorr fueron patentadas por su creador, Claus-Peter Schnorr, en 1989, antes de hacer pública esta invención en 1991 en la revista Journal of Cryptology.

Las patentes de las firmas Schnorr vencieron en el año 2008, cuando Satoshi Nakamoto trabajaba en la creación de Bitcoin, pero se presume que Satoshi no usó Schnorr porque este algoritmo no era tan conocido o estudiado en la comunidad como otras alternativas para ese momento, debido a la imposibilidad de usarlas por la patente.

En ese momento, Bitcoin necesitaba de un software abierto y seguro, con mecanismos que fueran estables, desplegables y verificables por sus usuarios.

El algoritmo elegido por Satoshi fue ECDSA, que cuenta con una licencia OpenSSL, uno de los estándares de software de licencia abierta más populares en el ámbito de la criptografía.

No obstante, ya han pasado 13 años desde que venció la patente de las firmas Schnorr. Este fue un tiempo suficiente para estudiarlas y ponerlas a prueba.

3 Tapscript: una nueva línea de instrucciones de gasto para Bitcoin

Para lograr expresar cómo se debe gastar una transacción de Bitcoin según Taproot, se ha creado un nuevo formato de scripts: Tapscript (BIP 342).

Tapscript es, entonces, una actualización a la línea de comandos de Bitcoin, que permitirá la verificación en lote de las firmas Schnorr (en vez de las ECDSA), pero también, permite que se agreguen nuevos scripts a Bitcoin sin entrar en conflicto con scripts ya preexistentes.

Esto hace mucho más fácil que se puedan diseñar nuevos tipos de instrucciones de gasto, y agregarlas a Bitcoin, sin tener que hacer actualizaciones que puedan ser difíciles de coordinar e implementar como el caso de los hard-forks o bifurcaciones fuertes.

Según considera la firma Kraken Intelligence, Tapscript es una pieza fundamental de Taproot.

La validación de firmas es la operación computacionalmente más intensa en un script porque son verificadas individualmente. Al permitir la verificación en lote, Bitcoin puede alcanzar las mejoras asociadas a Schnorr y Taproot. Esta nueva flexibilidad para contratos inteligentes en Bitcoin, que se da gracias a Taproot, permite crear contratos multifirma más complicados, y abre la posibilidad para que las Organizaciones Autónomas Descentralizadas y otras aplicaciones de finanzas descentralizadas (DeFi) tengan lugar en Bitcoin.

Kraken Intelligence, empresa de investigación y análisis de cadenas de bloques.

4 ¿Qué aporta Taproot a Bitcoin?

Con Taproot, las transacciones de mayor complejidad, ahora se reducirán ligeramente de tamaño y, por ende, serán más fáciles de transmitir y procesar.

Esto abaratará los costos de las transacciones que utilizan varias salidas y varias firmas de usuario para ejecutarse, comunes entre las casas de cambio, servidores de pago, servicios de custodia y operadores de canales de Lightning, por ejemplo.

Asimismo, Taproot puede dar lugar a otros desarrollos y servicios prácticos para el usuario de Bitcoin. Las pruebas de concepto y herramientas que se creen a partir de las capacidades de Taproot podrían conducir una parte importante de la evolución de Bitcoin en los próximos años.

Si bien Taproot no es un contrato inteligente, en el sentido de que pueda cumplir procesos automatizados como lo hace un software o programa, su potencial entusiasma a los desarrolladores con la idea de poder crear este tipo de sistemas.

Taproot puede ser el punto de partida para el desarrollo de contratos inteligentes más complejos en Bitcoin, como los que hoy en día son los motores de las finanzas descentralizadas (DeFi), mercados predictivos, los utility tokens y otros esquemas en algunas plataformas de criptomonedas.

A su vez, la ampliación de los scripts puede dar lugar a nuevos modelos de negocio entre entidades comerciales que hagan parte de Bitcoin, quienes podrían interesarse por llevar a cabo contratos con diferentes condiciones posibles de la forma más privada y eficiente que puedan.

5 ¿Qué puedo hacer con Taproot?

Tal ha sido el apoyo del ecosistema de Bitcoin a Taproot, y la expectativa en torno a su activación final, que ya varios proyectos desarrollan aplicaciones y herramientas que funcionarán o se verán fuertemente beneficiadas por Taproot.

Algunos de ellos son los Contratos de Registro Discreto o Discreet Log Contracts (DLC), una forma de contratos inteligentes de Bitcoin. Los DLC tienen como novedad que son contratos que utilizan oráculos, fuente de información proveniente del mundo exterior a la red Bitcoin, y que comunica a los contratos los datos requeridos para su cumplimiento y ejecución.

Otro de los proyectos que se benefician de la activación de Taproot es RGB, una implementación que permite emitir tokens fungibles o no fungibles (NFT) en la red Lightning.

Si bien desde la Asociación de Estándares LNP/BP, que dirige el proyecto, argumentan que Taproot no es imprescindible, RGB sí es beneficiado por las capacidades de Taproot para la gestión de múltiples firmas en una transacción.

En este proyecto, esto es necesario para configurar los contratos que, de acuerdo a múltiples parámetros, pueden realizarse entre usuarios con el propósito de emitir tokens o intercambiarlos vía Lightning.

Asimismo, Taproot podría permitir un interesante concepto: la Prueba de Posesión. Esta consiste en demostrar la posesión o propiedad sobre una salida u output (UTXO) sin revelar su dirección, o en otras palabras, la ubicación de los bitcoins.

Taproot también puede agregar funcionalidades a las wallets o carteras de Bitcoin. El desarrollador Jameson Lopp explicó que se puede configurar una cartera de 3 sobre 5 firmas (3 of 5 multisig) que se convierta en una cartera de 2 de 5 firmas si en 5 años los fondos no se mueven.

Esto podría requerirse para el caso en el que algunas de las firmas se pierdan o extravíen en el tiempo, lo que de lo contrario bloquearía los bitcoins indefinidamente afectando a los dueños de todas las firmas.

Taproot funcionaría para ocultar esta configuración subyacente cuando la transacción se complete y quede registrada en la cadena de bloques de Bitcoin, según los desarrolladores.

6 Un poco de historia: ¿Cómo fue la activación Taproot?

A diferencia de SegWit, que tuvo sus oponentes, en esta oportunidad es unánime el apoyo del ecosistema a Taproot. Sin embargo, aunque esta solución como tal no fue rechazada, sí se discutió muchísimo sobre cuál sería su método de activación.

Desde 2020 el método de activación de Taproot que más aceptación recibió de la comunidad fue el propuesto por la BIP 8, un mecanismo de bifurcación suave que establece un flag day o fecha tope para realizar una actualización. Si los mineros fallan en actualizarse antes de esta fecha límite, los usuarios pueden actualizar sus clientes y forzar la implementación de la solución que deseen.

Pero dentro de la BIP 8 existía otro debate a superar. Este método de bifurcación suave incluye un parámetro conocido como LockInOnTime (LOT), con dos opciones LOT=False y LOT=True.

Este parámetro define qué ocurriría si en la fecha límite de activación los mineros fallan en actualizarse. Con LOT=False, la activación de Taproot no sería efectiva y tendría que discutirse un nuevo método de activación.

Pero con LOT=True, si los mineros fallaran en la activación, los nodos de la red podrían actualizarse y luego de culminada la fecha tope, comenzarían a rechazar los bloques de mineros que no hayan actualizado a Taproot, haciendo efectiva esta implementación.

El debate se extendió unos meses y dividió las opiniones de algunos desarrolladores, pues buscaban ser más flexibles y no dar por sentado que los mineros fallarían en actualizarse. Pero otros, consideraban que es un derecho y un deber de los usuarios de Bitcoin forzar las actualizaciones aunque los mineros no participen.

La speedy trial o prueba rápida decide sobre Taproot

Mientras el debate entre LOT=True y LOT=False parecía no llegar a ningún lado, en marzo de 2021 se realizó la propuesta de Speedy Trial o prueba rápida, por parte del desarrollador Michael Folkson.

La Speedy Trial estableció un periodo de tiempo en que los mineros podían señalizar su aprobación a Taproot con una pequeña marca o firma aprobatoria en cada bloque que minasen.

Esta solución intermedia al álgido debate que amenazaba con politizar demasiado la activación de Taproot, fue integrada al cliente Bitcoin Core en abril de 2021, y comenzó con el ajuste de dificultad de minado que entró en efecto el 1 de mayo de 2021.

El esquema exigía a los mineros señalizar su aprobación a Taproot en más del 90% de los bloques de cada periodo de dificultad, que consiste en 2016 bloques minados en aproximadamente 2 semanas o 14 días. Los mineros tenían entonces que minar más de 1.815 bloques con la señal aprobatoria en este periodo o era de dificultad.

El lapso del Speedy Trial pudo haberse extendido hasta los 6 periodos de dificultad desde su comienzo en mayo de 2021. Sin embargo, cerca de finalizar el tercero de estos periodos, el 12 de junio de 2021, los mineros de Bitcoin lograron señalizar en más de 1815 bloques a favor de Taproot. Así, bloquearon su activación definitiva en la red para noviembre de 2021, reportó CriptoNoticias.

Ahora, solo quedará que los nodos de la red adopten clientes de Bitcoin con Taproot integrado y comiencen a cumplir las reglas del consenso en base a estas nuevas capacidades de la red.

7 La ruta de Taproot hasta su activación

  • 23 de enero de 2018: Greg Maxwell propone Taproot
  • 22 de septiembre de 2019: Pieter Wuille propone implementar Taproot en Bitcoin Core
  • 21 de enero de 2020: Desarrollador Pieter Wuille envía propuesta de Taproot para revisión (Pull Request)
  • 15 de abril de 2021: Desarrolladores proponen la Speedy Trial o Prueba Rápida de Activación
  • 1 de mayo de 2021: Inicia la primera ronda para intentar bloquear Taproot.
  • 13 de mayo de 2021: Falla el primer intento de bloqueo de Taproot.
  • 29 de mayo de 2021: Falla el segundo intento de bloqueo de Taproot.
  • 12 de junio de 2021: La activación de Taproot se bloquea definitivamente.
  • 13 de septiembre de 2021: Lanzamiento del cliente Bitcoin Core 22.0, primero en incluir a Taproot
  • 15 de noviembre de 2021: Taproot es activado en Bitcoin

Taproot ya se activó ¿Qué pasará ahora?

En líneas generales, la gestión eficiente de las firmas criptográficas que aporta Taproot y Schnorr, traerá enormes beneficios para todo el protocolo de Bitcoin. Pero aunque Taproot y Schnorr ya están activos, aún se deberá esperar un tiempo para que los proyectos se desarrollen, se creen productos y soluciones en torno a esta implementación, y la industria la adopte progresivamente en sus servicios.

En el caso de SegWit (Segregated Witness), la actualización de Bitcoin realizada en 2018, durante los primeros años el volumen de transacciones realizadas con esta implementación parecía no aumentar, pero hoy en día representan más del 75% de transacciones de la red de Bitcoin.

De modo similar, podría esperarse un periodo de varios años de adaptación a Taproot por parte de la industria. Incluso, desde cierta perspectiva del análisis on chain, la privacidad provista por Taproot adquiere cierta relatividad, según algunos críticos, pues, mientras no se le adopte masivamente, podría dejar expuesta la privacidad de algunos usuarios.

Cabe señalar que la palabra «Taproot» en inglés significa «raíz principal», siendo el mismo tipo de raíz de las zanahorias y otras plantas. Esta alegoría hace referencia a la novedosa manera de estructurar las transacciones de bitcoin con este método.



Enlace fuente

Post Relacionados
× ¿Cómo puedo ayudarte? Available from 09:00 to 18:00