¿Qué es Taproot y cómo mejora a Bitcoin?

Una de las mayores ventajas que el dinero basado en software tiene sobre las monedas nacionales es que es perfectible. A lo sumo, los Estados pueden hacer un refrescamiento de sus billetes con nuevos conos monetarios, que usualmente son sinónimo de devaluación. Pero, cuando se trata de Bitcoin, una nueva actualización puede hacerlo más seguro, eficiente, versátil, privado, fungible, barato de transferir y, en consecuencia, más valioso. Todo esto es lo que logra la más reciente actualización al protocolo: Taproot. Veamos de qué se trata.

Taproot es una actualización del protocolo Bitcoin que trae varias nuevas características y beneficios para los usuarios de esta red. Esta actualización realmente engloba tres Propuestas de Mejora de Bitcoin (BIP, por sus siglas en inglés): las Firmas Schnorr; Taproot y Tapscript, pero, como se activarán las tres en conjunto, se suele referir a la actualización como BIP Taproot.

Estas BIP, entre otras cosas, harán más flexible la escritura de transacciones complejas (lo que suele llamarse contratos inteligentes) en Bitcoin. Pero a diferencia de otras redes enfocadas en este tipo de transacciones, como Ethereum, el conjunto de actualizaciones que se integrarán a Bitcoin mediante Taproot harán indistinguibles las transacciones complejas respecto a las transacciones simples, aumentando la privacidad para los usuarios de este protocolo.

Transacciones en lote; apertura y cierre de canales en Lightning Network; contratos multifirma; mezcla de monedas mediante coinjoins; bloqueo de monedas mediante hashes; transferencias a o desde sidechains y/o drivechains; cualquier transacción compleja en la que puedas pensar, lucirán toda igual a otras transacciones Taproot ante los exploradores de bloques. Y, por si fuera poco, la simplificación de estas transacciones complejas hará que ocupen menos espacio de bloque, reduciendo los costos de comisión por procesamiento.

Sin embargo, esto es un proceso que solo ocurrirá con el tiempo. Cabe recordar que, en Bitcoin, las actualizaciones suelen ser optativas. Esto quiere decir que, para poder aprovechar los beneficios de esta actualización, es necesario que tanto usuarios como proveedores de servicios (exchanges, monederos y demás) actualicen a la última versión de su cliente de Bitcoin de preferencia.

Hasta ahora, estos procesos de adopción han sido bastante graduales y progresivos. El ejemplo que mejor lo evidencia es la actualización conocida como Segregated Witness. Esta BIP enfocada en mejorar la escalabilidad de Bitcoin fue implementada en el año 2017. La reconocerás fácilmente al ver direcciones que comienzan con bc1. Sin embargo, también habrás notado que coexisten direcciones que comienzan con 1 o con 3. Esto se debe a proveedores de servicios que se mantienen trabajando con versiones antiguas del monedero de Bitcoin.

Por esta razón, cabe esperar que, por algún tiempo, podamos distinguir entre las direcciones pasadas, y el nuevo formato de direcciones Pay-to-Taproot. Aunque el nuevo formato de dirección solo tendrá ligeras diferencias respecto a las direcciones SegWit pues, en efecto se trata de una nueva versión del formato de SegWit o bech32. La versión 0, actualmente usada, comienza con bc1q y tiene 42 caracteres de longitud, mientras que las versión 1, que servirá a Taproot, comenzará con bc1p y tendrá 62 caracteres de longitud.

Si bien son diferencias apenas distinguibles por el ojo descuidado, para las computadoras de los servicios de análisis de blockchain será distinción suficiente para discernir quién ha actualizado a la nueva versión de Bitcoin, si bien les seguirá dificultando saber qué nivel de complejidad de transacción están realizando.

La transición se hará progresivamente pues los incentivos están alineados para ello. La reducción de costos de comisión para transacciones en lote y multifirmas motivará a los exchanges a migrar hacia Taproot, pues son de los que más se benefician de estas transacciones complejas. En adelante, deben ser los proveedores de monederos y procesadores de pagos quienes adopten la tecnología para que sus usuarios puedan aprovecharla, así como los usuarios que corran nodos. Todo esto pasa por un proceso divulgativo respecto a cuáles son las mejoras que Taproot suma a Bitcoin. Veamos estas BIP para conocer con más detalle de qué mejoras se trata:

¿Qué son las Firmas Schnorr?

Las Firmas Schnorr (BIP 340) son una actualización en las firmas digitales utilizadas en Bitcoin para demostrar la propiedad sobre determinadas monedas o UTXO, y autorizar su transferencia. En el white paper de Bitcoin, Satoshi Nakamoto incluso estableció que “definimos una moneda electrónica como una cadena de firmas digitales”, lo que da a entender la importancia de esta actualización.

Las firmas Schnorr estuvieron protegidas bajo patente durante el proceso de gestación de Bitcoin, por lo que no contaba con suficiente revisión pública. Por esta razón, se escogió el actual Algoritmo de Firmas Digitales de Curva Elíptica (ECDSA). Ahora, al integrar las firmas Schnorr, se alcanzará una mayor privacidad, menos comisiones y multifirmas más flexibles.

Las llaves públicas usadas en las firmas Schnorr son de 32 bytes de longitud, mientras que las ECDSA son de 33 bytes. Además, las firmas en Schnorr son de 65 bytes, mientras que las firmas ECDSA son de 71–72 bytes. Esta reducción en el espacio es lo que hará más económica las comisiones.

Pero la mayor ventaja de las firmas Schnorr quizás esté en la agregación de llaves. En la actualidad, una firma digital contiene una llave pública única, un mensaje (transacción) a ser firmado y una firma, con lo que se asume que el dueño de la llave pública firmó dicho mensaje. Cuando varios participantes quieren firmar la misma transacción, como en el caso de una multifirma, cada uno debe incluir su llave pública y su firma. Esto es deficiente en términos de computación y almacenamiento, pues cada nodo debe verificar y almacenar cada una de las firmas y llaves por separado, lo cual es una función costosa.

La agregación de firmas en Schnorr, por su parte, permite que todos los involucrados en una multifirma puedan combinar sus llaves públicas individuales en una sola llave pública, la cual podrá ser firmada por cada uno de ellos con su respectiva clave privada. También pueden combinar sus tres firmas para formar una firma única que sea válida para la llave pública combinada. De esta manera, los nodos solo tendrían que verificar una firma y una llave pública para garantizar que los involucrados firmaron la transacción.

Esta agregación de firmas no solo aumenta la eficiencia en la verificación y reduce el peso de las transacciones, sino que también aumenta la privacidad, pues las transacciones multifirmas aparecerían en la blockchain como una transacción de una sola firma, sin rutas que señalen a las direcciones de cada participante.

Otro beneficio de la agregación de firmas es que permite a los nodos de Bitcoin verificar las firmas en lotes, lo cual reduce el tiempo y los recursos computacionales necesarios para verificar las transacciones con muchas entradas.

Taproot, Tapscript y MAST

Como se comentó en párrafos anteriores, Taproot usará una nueva versión de SegWit, la cual estará basada en Taproot, firmas Schnorr y ramas de Merkle. Esta nueva versión es lo que se detalla en la BIP 341. Pero en orden de hacer compatible todas estas actualizaciones con los códigos operacionales Bitcoin, se hace necesario adaptar el lenguaje de programación o scripting. Esto es lo que se ha llamado Tapscript, y se especifica en la BIP 342.

Taproot también integrará los llamados Árboles Merkelizados de Scripts Alternativos (MAST), los cuales permiten a los usuarios bloquear salidas en varios scripts. Los scripts son, en términos llanos, las instrucciones que se escriben en una transacción que especificarán cómo se realizará un gasto. Por ejemplo, que deba contar con 2 de 3 firmas de distintas llaves, que los fondos quedarán bloqueados hasta que se mine determinado bloque en el futuro, entre otras posibilidades.

En la actualidad, Bitcoin utiliza Árboles de Merkle para reducir la cantidad de espacio utilizada en incluir muchos scripts en una transacción, resumiendo un conjunto de posibles condiciones de gasto. Pero, si un usuario llegara a gastar una transacción que contiene múltiples scripts, revelaría todas las posibles condiciones de gasto al resto de la red. Con MAST, hay un aumento en la privacidad y la eficiencia en tanto que solo el script correspondiente a la condición de gasto utilizada será revelado.

Pongamos como ejemplo que creas con tu pareja una transacción de ahorro forzoso, que solo podrán liberar en dos años cuando se mine cierta cantidad de bloques. Pero tu, que sabes que estás teniendo problemas económicos y podrías necesitar parte de ese dinero, incluyes una condición de que si firmas con dos llaves la transacción, podrías desbloquearla antes del periodo preestablecido. Si no llegas a necesitar el dinero, cuando se minen los bloques la transacción se realizará de manera automática y tu pareja no se enteraría de tu deslealtad.

Taproot también introduce un nuevo tipo de script, mencionado anteriormente como Pay-to-Taproot (P2TR). Esto añadirá versatilidad a Bitcoin al permitir que los usuarios puedan pagar tanto a una dirección pública de Schnorr, como a una raíz de Merkle que incluya una variedad de otros scripts.

Finalmente, para poder compaginar todas estas actualizaciones, Tapscript actualiza diversos códigos operacionales para verificar los gastos realizados con Taproot y Schnorr. También, al aumentar la flexibilidad de escritura de condiciones, mantiene abierta la puerta a futuras actualizaciones y casos de uso que aún no han sido ingeniados.

¿Cuándo se activará Taproot en Bitcoin?

Los desarrolladores y la comunidad de Bitcoin estuvieron pronto de acuerdo en que Taproot era beneficioso para la red. Pero no hubo tanto acuerdo respecto al método activación. Luego de varias discusiones se optó por un método llamado speedy trial o prueba rápida para la activación de Taproot mediante softfork, como se especifíca en la BIP 9. Esto significa que será cada usuario el que deberá actualizar su nodo a la nueva versión, pero que esta actualización seguirá siendo compatible con versiones anteriores, por lo que la comunicación se mantendrá así pocos usuarios actualicen en un inicio.

El speedy trial da a los mineros tres meses para señalar su soporte a Taproot mediante su poder de hash. Si más del 90% de los bloques minados en un periodo de dificultad (2016 bloques) se minan señalando a Taproot, la actualización quedaría bloqueada y se activaría en un par de meses después. Según el portal de seguimiento de poder de hash Taproot.Watch, ya se cuenta con el 97% del hashrate a favor, por lo que es muy probable que Taproot se bloquee en el próximo periodo de dificultad, que inicia este 29 de mayo.

En adelante, quedará de los nodos participantes de la red actualizar sus versiones para comenzar a aprovechar los beneficios que trae esta actualización.


¿Qué es Taproot y cómo mejora a Bitcoin? was originally published in Orionx on Medium, where people are continuing the conversation by highlighting and responding to this story.

Envía un comentario