¿Qué es Taproot y qué significa para Bitcoin?

La esperada actualización de Taproot en Bitcoin ya se encuentra activa en la red. En este artículo te contamos cuáles son los componentes más importantes de esta actualización junto con los cambios que traerán aparejados. 

Taproot: privacidad y eficiencia

El camino fue largo pero finalmente llegó. Desde el 14 de noviembre, a partir del bloque número 709.632, Taproot se encuentra activo en la red de Bitcoin. La actualización más importante de Bitcoin desde SegWit llegó por fin.

Su señalización positiva el 12 de junio de 2021 fue un ejemplo de la capacidad de coordinación de la red. Contrario a lo que sucedió en veces anteriores, esto mostró que la actualización contaba con un consenso aprobatorio muy grande dentro de la comunidad.  

Pero, ¿Qué es concretamente Taproot? Lo cierto es que Taproot es un conjunto de 3 componentes interconectados: las firmas Schorr, MAST y Taproot. A continuación veremos de qué se trata cada uno de ellos. 

Firmas Schnorr

Para poder realizar cualquier tipo de transacción dentro de la red de Bitcoin, es necesario contar con una cierta cantidad de bitcoin disponible para ser gastada. Pero, más importante aún es poseer la clave privada que te permite gastarlos. 

Estar en posesión de la clave privada es lo que nos permite firmar digitalmente cada transacción que queramos realizar con nuestra billetera. Para esto existen las firmas dentro del protocolo de Bitcoin. 

Con el nuevo algoritmo de firmas digitales de Schnorr se consiguen varias mejoras. Se reduce el tamaño de las firmas un 11% aproximadamente y, más importante aún, es que el tiempo de verificación se reduce un 250%. Esto significa por un lado una ampliación del espacio existente dentro de los bloques, y por otro que a la hora de verificar nuevos bloques, los nodos lo harán mucho más rápido. 

Pero la mejora más importante es la agregación de firmas. Este proceso permite que no se distinga si una transacción proviene de un solo firmante o de una cantidad mayor. Esto le agrega mayor privacidad al protocolo, ya que serán indistinguibles las transacciones multifirma de las normales. Además elimina el máximo de 15 firmas de una multifirma estándar actual.  

Quote: Una transacción multifirma es una transacción que requiere más de una clave privada para ser aprobada y realizadda.

MAST (Merkelized Abstract Syntax Tree)

Este componente, es vital en la actualización y brindando a la mesa una eficiencia mucho mayor al reducir sustancialmente la cantidad de información necesaria que se debe brindar al programar transacciones complejas en Bitcoin. 

En la actualidad, se pueden configurar transacciones de bitcoin con condiciones de gasto diferentes. Esto es, se puede configurar una transacción para gastar bitcoins que tenga en cuenta diversos escenarios posibles. Esta es la esencia de los contratos inteligentes: realizar transacciones siguiendo condiciones preestablecidas. 

Un ejemplo de transacción con más de una condición de gasto podría ser el siguiente: enviar 0.1 bitcoin a una dirección X si para el bloque 750.000 la dirección X no cuenta con fondos. Caso contrario, enviarlo a la dirección Y. 

El problema consiste en que hoy por hoy, la cantidad de información que un script puede manejar es muy limitada. Además, debido al funcionamiento del protocolo, al realizar la transacción es necesario mostrar todo el script. Esto significa que es necesario dar a conocer todas las condiciones de gasto posibles, lo que no brinda una privacidad óptima. 

Quote: Para ejecutar cualquier programa informático es necesario tipear el código específico. A este código tipeado y guardado se lo conoce como script.

Con la tecnología MAST ya no es necesario mostrar todas las condiciones de gasto posibles. Ahora solo será necesario mostrar la condición que efectivamente ocurrió. Y debido a esto, se libera mucho espacio para realizar programas más complejos. Al solo ejecutarse una condición, todas las condiciones pueden tener el tamaño máximo permitido ya que sólo importará el de la única que termine siendo realizada.

Taproot + Tapscript

Con esto llegamos al tercer componente. Taproot propiamente dicho. Este es en esencia la combinación de los dos anteriores. Debido a la sinergia entre estos componentes, es posible optimizar todavía más la privacidad de la red. 

Con Taproot lo que se logra es que bajo ciertas condiciones específicas, sea completamente indistinguible el tipo de transacción realizada a través de la red de Bitcoin. 

De manera simplificada, una transacción puede tener como destino otra dirección pública sin más. Con las firmas de Schnorr ahora será indistinguible si esa transacción proviene de más de una firma y va hacia más de una dirección pública, permitiendo más privacidad para las cuentas multifirma. 

Por otra parte, también una transacción puede realizarse de forma más compleja utilizando código que permite múltiples condiciones de gasto. Con MAST, se reduce a una la condición de gasto que se muestra, pero en la red se sigue viendo que esa transacción tenía diferentes condiciones de gastos. No se las puede conocer, pero se sabe que las tiene. 

Con Taproot, lo que puede realizarse es privilegiar la condición de gasto más probable para que en caso de que ella sea efectivamente la realizada, tampoco pueda detectarse que había más condiciones de gasto posibles. 

Solo en el caso de que esta condición de gasto principal no se dé se conocería que la transacción utiliza MAST. Si la condición principal se realiza, entonces esta transacción será a los efectos de validación igual que la transacción más simple de todas. El aumento de privacidad es muy grande. 

Taproot ya se encuentra activo y solo quedará esperar el desarrollo de todas las diferentes aplicaciones que esta necesaria herramienta vino a proveer al protocolo más longevo de la industria.