¿Qué es la actualización de Taproot Bitcoin?
Taproot es la actualización del protocolo de Bitcoin más esperada. Te explicamos qué novedades trae y por qué son importantes.
La actualización de Taproot aportará dos notables novedades al protocolo de Bitcoin:
- MAST
- Esquema de firma Schnorr
Cada uno de ellos es una gran actualización por sí mismo, pero juntos aumentan drásticamente la privacidad y las capacidades de los contratos inteligentes.
¿Qué es MAST?
MAST es la abreviatura de Árbol de Sintaxis Abstracto Merkelizado (Merkelized Abstract Syntax Tree). Antes de explicar qué es MAST, hay que explicar cómo gestiona Bitcoin actualmente los contratos inteligentes.
P2SH
Los contratos inteligentes se crean con condiciones (scripts) que deben cumplirse para que los contratos inteligentes se activen o procesen.
Por ejemplo, una primera condición podría ser que las monedas sólo se puedan mover después de 1 día y una segunda condición podría ser que John pueda moverlas al instante. Al menos una de estas condiciones debe cumplirse para que las monedas sean movidas.
Estas condiciones dentro de los contratos inteligentes están ocultas y sólo el propietario sabe cómo activarlas. Las condiciones se ocultan con un hash* (la condición es una clave privada, el hash es una clave pública). Esto también se conoce como P2SH (pagar para condicionar el hash/pay to script hash). Cuando las monedas se mueven activando una de las condiciones, la condición y el hash de la misma se revelan. Todo el mundo puede comprobar posteriormente si el hash de la condición es igual al hash inicial.
*hash es una cadena aleatoria de números y letras, similar a la dirección de un monedero de Bitcoin. Para obtener un hash, se utiliza una función unidireccional, lo que significa que siempre se puede obtener el valor X a partir de Y, pero no se puede obtener el valor Y a partir de X. Donde X es una clave pública e Y es una clave privada.
El inconveniente de P2SH es que cada vez que se cumple una de las condiciones, se revelan todas las demás al mismo tiempo. Esto permite a otros usuarios del ecosistema averiguar cómo se podrían haber gastado los fondos y supone un riesgo para la privacidad.
Otro inconveniente importante es que hay una enorme cantidad de datos escritos para cada condición que afecta directamente a las tasas de transacción.
¿Por qué MAST en lugar de P2SH?
Árbol de Sintaxis Abstracta Merkelizado es una forma de resolver el problema de privacidad y datos con los contratos inteligentes de Bitcoin.
Como se ha explicado anteriormente, P2SH revela todas las condiciones porque todas las condiciones están ocultas en un único hash, lo que significa que una vez que se cumple una de las condiciones, todas las condiciones pasan a ser conocidas públicamente.
MAST, por otro lado, puede hacer un hash de cada una de las condiciones individualmente, y sólo después de que cada condición ha sido cumplida, entonces hace un hash de estas condiciones en un único hash "maestro", conocido como raíz de Merkle. Esto, en consecuencia, requiere que sólo una condición sea revelada una vez que se cumpla la condición, ya que el resto de las condiciones siguen ocultas detrás de un hash.

¿Qué es Schnorr?
(SDSS) Esquema de firma digital de Schnorr (Schnorr Digital Signature Scheme) es un próximo esquema de firma de Bitcoin que sustituirá al actual ECDSA (Algoritmo de firma digital de curva elíptica/Elliptic Curve Digital Signature Algorithm).
Lo curioso es que las firmas Schnorr fueron desarrolladas antes que ECDSA por Claus Schnorr, pero no fueron utilizadas en Bitcoin ya que Schnorr las patentó. La patente expiró en 2008. Lo más probable es que Satoshi Nakamoto prefiriera ECDSA porque eran de código abierto, más entendidas y más conocidas en general.
¿Qué es una firma?
Todas las transacciones en la blockchain deben ser firmadas antes de ser emitidas y enviadas a otra dirección. Las transacciones requieren una sola firma (monederos básicos) o varias firmas (monederos multisig). Los monederos básicos pueden ser operados por un solo propietario, mientras que los monederos multisig requieren múltiples firmas para que la transacción sea emitida a la blockchain.
¿Qué es una transacción multisig?
Las transacciones multisig deben ser firmadas por múltiples claves privadas. Por ejemplo, un monedero multisig podría tener la condición de que al menos 4 de 5 claves privadas y firmas válidas deben firmar la transacción para que se siga emitiendo.
¿Por qué Schorr en lugar de ECDSA?
Por defecto, Bitcoin no soporta carteras multisig y utiliza una solución para permitir transacciones multisig. Esto aumenta efectivamente el tamaño de la transacción y afecta directamente a las tasas de transacción, ya que hay múltiples firmas escritas en la transacción (más bytes equivalen a más tasas) en lugar de una sola clave privada. Esto plantea un problema cuando se utilizan carteras multisig más grandes, por ejemplo, una que requiere 10 firmas.
Además, cuando se utiliza ECDSA para firmar las transacciones multisig, todo el mundo en la blockchain puede ver qué carteras se utilizaron para firmar la transacción. Esto no es bueno para la privacidad, ya que todos los monederos están expuestos en la blockchain.
Las transacciones firmadas por Schnorr son imposibles de distinguir entre transacciones con una sola firma o con varias, ya que la longitud de la firma es siempre la misma. Al observar las transacciones en la blockchain, tanto las transacciones con firma única como las transacciones con firma múltiple tendrán el mismo aspecto.
Todas las firmas de los múltiples firmantes se combinan en una sola firma que luego firma la transacción. Esto resuelve los problemas de privacidad y de datos de las transacciones actuales con múltiples firmas.
