Una de las actualizaciones que se están esperando con ansias es que Bitcoin (BTC) pueda mejorar las habilidades de “scripting capabilities”.
Esta actualización es conocida como Taproot, y pronto podría ver un despliegue masivo en la red Blockchain de Bitcoin.
La actualización se propuso por primera vez en el año 2018, la cual ampliaría la flexibilidad de los Smart Contracts en la red, y ofrecería un nivel de privacidad sin precedentes, permitiendo que incluso dichos contratos inteligentes más complejos por la actualización, sean virtualmente indistinguibles de las transacciones regulares generadas en la red Blockchain de Bitcoin.
Resolviendo el problema de los Smart Contracts:
A pesar de ser el primer y más ambicioso proyecto de la tecnología Blockchain creado hasta ahora, Bitcoin ha sido fuertemente criticado por su falta de escalabilidad e incapacidad para resolver los problemas de privacidad que surgen con los “complex smart contracts”.
Los desarrolladores principales de Bitcoin han estado trabajando arduamente durante casi una década para resolver estos problemas y una solución casi perfecta para los errores de scripting de la red está en el horizonte y cada vez se está acercando más.
Si bien ya se han propuesto varios proyectos de alto perfil, el más prometedor es Taproot.
Taproot, que fue propuesto por primera vez en enero de 2018 por Gregory Maxwell, un colaborador de Bitcoin Core y antiguo CTO de Blockstream, apunta a expandir la flexibilidad de los Smart Contracts en Bitcoin.
Además de ofrecer una flexibilidad sin precedentes cuando se trata de firmas de Smart Contracts, Taproot también permitiría una mayor privacidad cuando se trata de transacciones.
Una innovación tan importante solo es posible gracias a Segregated Witness (SegWit), que introdujo la creación de versiones de script, una extensión del protocolo Bitcoin que permite la implementación de nuevos algoritmos de firma criptográfica en la red de la criptomoneda más importante de todas.
¿Cómo funciona Taproot?:
Para comprender cómo funciona Taproot, debemos volver a los conceptos básicos de todas las transacciones de BTC: los scripts.
El script es unas pocas líneas de código incrustadas en una transacción que va en una Blockchain: define cómo se pueden gastar los tokens en las transacciones, que parte va a los mineros.
Antes de poder gastar los tokens en la transacción, deben suceder algunas cosas: la propiedad de las monedas debe comprobarse mediante una firma (signature), debe alcanzarse una height o fecha de bloque específica en el caso de timelocks o un cierto número de private keys fuera de un conjunto, estas deben proporcionar firmas para la transacción.
Cualquiera y todas estas condiciones se pueden combinar para crear un Smart contract muy complejo.
Las condiciones del contrato inteligente, o los scripts, solo son visibles para el nuevo propietario de los tokens gracias al pay-to-script hash (P2SH).
Esto permite que solo se incluya un hash del script, o un conjunto aparentemente aleatorio de números, en la Blockchain de Bitcoin Core. Sin embargo, cuando los tokens se gastan, todo el guión se revela en última instancia.
Esto significa que todas las condiciones de la transacción, incluidas las que no se cumplieron, se revelan a todo el público de la red Blockchain de BTC.
Aunque es bastante sencillo, este proceso es extremadamente pesado en cuanto a datos y hace muy poco cuando se trata de proteger la privacidad de aquellos que realizan transacciones en la red de cadenas de bloques que no quieren que sus datos sean mostrados.
Una de las soluciones a este problema es el árbol de sintaxis abstracta de Merkelized o MAST. La proposición se basa en los Merkle Tree, una estructura de datos antigua y compacta que permitiría que todas las diferentes condiciones de la transacción se procesen individualmente.
Todas estas condiciones se incluirían en un Merkle Tree que luego produciría un solo hash que bloquearía los tokens, llamado la Merkle Root.
Si cualquier dato del árbol Merkle se revela a la Blockchain, podría verificarse fácilmente usando la Merkle Root y datos adicionales en el árbol llamado la Merkle Path. Sin embargo, la mayoría de los demás datos incluidos en el árbol Merkle permanecerán ocultos y con hash.
El método de MAST va un paso más allá para garantizar la privacidad y la eficiencia de los datos, ya que solo revela las condiciones de la transacción que se cumplieron y no las incumplidas.
El Soft Fork que traería el protocolo de Schnorr, puede darle vida a Taproot:
Pieter Wuille, el CEO de Blockstream y un destacado desarrollador de la tecnología Blockchain, explicó que Taproot está construido directamente en MAST y en las de Merkle Branches.
En su propuesta de GitHub, explicó que Taproot permitiría que casi cualquier construcción de Smart contracts incluyera una condición que permita a todos los participantes acordar un resultado.
Los participantes pueden cooperar y firmar una transacción de liquidación juntos. Esto provocaría un ahorro de espacio y un aumento en la privacidad de las secuencias de comandos a la hora de pasar el tiempo, señaló Wuille.
Si bien tiene un inmenso potencial por sí solo, el verdadero poder de Taproot solo brilla cuando se combina con las Schnorr Signatures. El innovador esquema de firmas se encuentra actualmente en desarrollo para ser implementado como un soft fork y es una de las actualizaciones más anticipadas de la red de cadenas de bloques principal de Bitcoin.
Nombrado en honor a su inventor Claus Peter Schnorr, el esquema de Signatures (Firmas) es un conjunto de reglas matemáticas que conectan la private key, la public Key y la firma de una transacción.
Schnorr es considerado como el mejor esquema de firmas en la industria de la criptografía. Wuille reconoció que ofrece un nivel de corrección insuperable al tiempo que no sufre maleabilidad.
Además, las Schnorr signatures son extremadamente rápidas de verificar, lo que significa confirmaciones de transacción más rápidas y, en última instancia, tiempos de transacción más rápidos. Sin embargo, lo que hace la mayor diferencia es su soporte integrado de firma múltiple.
No solo se pueden combinar varias firmas en la misma transacción en una sola signature, sino que tanto las public keys como las signatures se pueden combinar en » threshold public keys » y » threshold signatures «.
Esto representa un gran movimiento cuando se trata de la privacidad de la Blockchain, como transacciones multisig, sería virtualmente indistinguible de las transacciones regulares, lo que aumenta infinitamente la privacidad no solo de cada transacción sino de cada Smart Contract.
Taproot es complicado de aplicar:
La mayoría de los desarrolladores están más interesados en las implementaciones más complejas del esquema de firmas. Lo que Schnorr puede hacer es usar los datos para cambiar tanto la private como la public key. El cambio, o ajuste, podría ser tan simple como multiplicar las dos Key por dos.
La “private key x 2” y la “public key x 2” podrían firmar mensajes que podrían verificarse con la “public key x 2”.
Las nuevas keys x 2 creadas se verían como cualquier otro par y seria imposible saber si las claves (privadas o publicas) originales fueron modificadas o no.
Por sí solo, Taproot siempre incluye una condición llamada «cooperative close»: todos los participantes en una transacción pueden cooperar para gastar los fondos.
Al utilizar las Schnorr Signatures, el cooperative close se vería como una transacción regular de igual a igual.
Esto se hace sumando las claves públicas de todos los participantes en las transacciones para crear la » threshold public key».
Una «threshold public key», es combinación de las firmas de todos los participantes, corresponde a esta y permite que los fondos se gasten en conjunto.
Sin embargo, el protocolo de Schnorr también permite que los fondos de una transacción se gasten en resultados no cooperativos.
Las formas alternativas en que se pueden gastar los fondos se combinan en una secuencia de comandos diferente, que es cuando se utiliza el hash y se utiliza para modificar la threshold public key.
La compleja estructura de un Smart Contract de este tipo permite la máxima privacidad: the threshold public key y los scribs se vería como una Public key regular, etc. Solo en una rara ocasión en la que un cooperative close de una transacción resulta imposible es misma Blockchain que es consciente de que la public key fue realmente manipulada con malas intenciones.
Esta actualización del protocolo podría tener un impacto significativo en toda la red de Bitcoin ya que, reducir el tamaño de los bloques significaría transacciones más rápidas y tarifas de transacción reducidas, haciendo de Schnorr el siguiente paso para todos en la cadena de bloques tanto de Bitcoin como las demás que todavía utilizan PoW.