Aspectos Técnicos de Bitcoin

¿Que Es Mast? Contratos Inteligentes En Bitcoin

Que es mast

A pesar de que Bitcoin es la mayor criptomoneda, y la más popular por capitalización de mercado, también posee una blockchain relativamente sencilla, la cual es incapaz de soportar algunas características que ha hecho a sus perseguidores muy populares.

Conozcamos MAST

Unas de las actualizaciones que han llegado para enfrentar el problema de la velocidad y las comisiones de las transacciones es el testigo segregado, o SegWit.

De esta actualización se ha estado hablando desde agosto del 2017, dándole una gran publicidad. Pero no es la única mejora, ya que existen numerosas otras Propuestas de Mejora de Bitcoin (BIP por sus siglas en inglés) que buscan enriquecer ciertos aspectos de la criptomoneda. Alguna de ellas se centran en MAST.

MAST es un acrónimo que significa Merkelized Abstract Syntax Tree. Este protocolo es una conjunción entre los árboles de Merkle y los árboles de sintaxis abstractos. Los primeros son una herramienta criptográfica que facilita la reducción del tamaño de la información dentro de un bloque. Al usar la raíz del árbol es posible verificar si la información dentro de un árbol es verdadera sin tener que descargar toda la información.

Los árboles de sintaxis abstractos (AST por sus siglas en inglés) son algoritmos que funcionan dividiendo un programa en sus partes constituyentes para poder entenderlo y categorizar más fácilmente.

El poder dividirlo permite acceder a la información relevante mucho más fácil.

MAST árbol

De esta forma, con la combinación de ambos es posible agregar información más compleja en las transacciones realizadas en la blockchain de Bitcoin. A su vez permite datos de transacción más pequeños debido al uso de pruebas de Merkle.

En noviembre del 2016, un desarrollador de Bitcoin, Luke-jr, escribió:

La idea de Merkelized Abstract Syntax Tree (MAST) es utilizar un árbol de Merkle para codificar operaciones en un script. Al gastar, los usuarios pueden proporcionar solo las ramas que están ejecutando y hashes que conectan las ramas con la raíz de Merkle de tamaño fijo. Esto reduce el tamaño de la pila de redención de O(n) a O(log n) (n como el número de operaciones).

Actualmente, la cadena de bloques de Bitcoin requiere toda la información asociada con las transacciones para ser llevada a cabo. Aun cuando cierta información que no es usada durante la transacción.

Por lo tanto esto hace que las transacciones en el ledger (libro mayor público) sean muy pesadas, y como resultado hace que el proceso sea mucho más lento. Si finalmente algún día se implementa MAST, las transacciones de Bitcoin podrían ser mucho más rápidas.

Gráfico con y sin MASK

BIP14

Un desarrollador líder de Bitcoin, Johnson Lau, envió una petición en GitHub llamada propuesta BIP 114. En la definición dice:

Este BIP define un nuevo tipo de programa testigo que usa un árbol de Merkle para codificar ramas mutuamente excluyentes en un script. Esto permite complicadas condiciones de intercambios que actualmente no son posibles, mejora la privacidad al ocultar scripts no ejecutados y permite la inclusión de datos no consensuados con muy poco o ningún coste adicional.

Para Lau, la motivación que existe detrás de la propuesta proviene del sistema de script seguro, pero algo inadecuado y engorros, de Bitcoin.

Si se llegase a implementar, la propuesta permitirá que las direcciones nativas de SegWit usen una raíz de Merkle para atestiguar las transacciones.

Lau explica además que, aunque BIP114 se basa en MAST, tiene algunas distinciones y se conoce mejor como Script Merkelizado:

Esta propuesta es un caso simplificado y especial de MAST. En lugar de codificar operaciones individuales, la raíz de Merkle codifica ramas de script condicional mutuamente excluyentes. Aunque no es una implementación completa de MAST, proporciona el mismo nivel de privacidad y escalabilidad O (log n).

La propuesta de Mark Friedenbach

Otro desarrollador líder de Bitcoin, Mark Friedenbach, ha publicado dos propuestas que cuando estén listas permitirá la introducción de MAST en la criptomoneda.

La primera de ella es la BIP 116 que busca permitir que «los programadores de scripts se comprometan con un conjunto de datos y tengan uno o más de estos elementos en la redención sin tener que revelar el conjunto completo». A esto lo llamo MERKLEBRANCHVERIFY.

La segunda propuesta es la BIP número 117, que se titula «Tail Call Semantics». En ella Friedenbach explica cómo trabajará para conseguir implementar MAST:

Este BIP, junto con el BIP 116, permite que un script se comprometa con un número prácticamente ilimitado de rutas de código, y luego revela el camino real del código utilizado en el tiempo de gasto. Esto logra una forma de MAST generalizado que permite la descomposición de scripts complejos de ramificación en un conjunto de vías de ejecución planas no ramificadas, comprometiéndose con todo el conjunto de vías posibles, y luego revelando solo la ruta utilizada en el tiempo de gasto.

Mientras que la propuesta de Lau solo puede funcionar con el script de SegWit, la de Friedenbach es independiente y puede ser implementada sin los tres scripts que se usan actualmente en la blockchain de Bitcoin. Estos son bare, P2SH y SegWit. Sobre esto explicó:

Al usar la modularidad y la composición de herramientas potentes pero simples como MERKLEBRANCHVERIFY y recursión de una sola cola para construir MAST, habilitamos una característica compleja y deseable mientras minimizamos los cambios al código de consenso, revisamos la carga y la deuda técnica adquirida.

Taproot de Gregory Maxwell

Mientras que Lau y Friedenbach se concentran en MAST buscando la eficiencia que el protocolo puede introducir, Gregory Maxwell busca incrementar la privacidad con su implementación.

Maxwell está desarrollado un protocolo llamado Taproot (raíz principal) que busca preservar la privacidad en las transacciones. Debido a que la transacciones con condiciones son fácilmente distinguibles de aquellas que son simplemente gastos, Maxwell propone construir lo que permitiría que los contratos inteligentes complejos luzcan como simples pagos.

Taproot es un tipo especial de raíz de Merkle que funciona como un CHECKSIG delegante. Esta herramienta hace imposible distinguir entre los cumplimiento de contratos inteligentes y otras transacciones más simples:

la complejidad de cómputo de verificación de la ruta de la firma es obviamente la misma que cualquier otra firma simple (ya que es indistinguible). La verificación de la redención de sucursales requiere un hash y una multiplicación con un punto constante que es estrictamente más eficiente que una verificación de firma y podrá fusionarse de manera eficiente en la validación de firmas de lotes.

¿Cual es la ventaja de implementar MAST?

Si bien todo lo que escribimos arriba incluye muchos tecnicismos, lo importante es que la implementación de MAST posibilita los contratos inteligentes así como la mejora de la escalabilidad.

Con MAST es posible tener una gran lista de condiciones sin utilizar una gran cantidad de información.

Gracias a esto es posible crear contratos inteligentes complejos en la cadena de bloques de Bitcoin. Y lo que es mejor, MAST puede ayudar a solucionar los problemas de escalabilidad.

Esta actualización se presenta como muy interesante respecto a las soluciones de eficiencia, funcionalidad y privacidad que ofrece.

Y es que otra de las características de MAST es el hecho de poder proveer un nivel mejor de privacidad en las transacciones, ya que utiliza solo aquella información que es necesaria para procesar las transacciones. Dentro de esta información que no es usada se encuentra el timelock o la condición.

Con esto protege la privacidad de aquellos incluidos en las condiciones, porque esta información no será visible públicamente.

Sumado a esto, MAST puede volver a ofrecer fungibilidad, ya que haría imposible determinar que unidades estaban unidas al contrato inteligente y cuáles eran gastos simples.

Por último, MAST podría llevar a una utilización menor de información en las transacciones debido al árbol de Merkle. Tanto la raíz de Merkle así como la prueba de Merkle elimina la necesidad de todo el conjunto de información. Como resultado de esto las transacciones en la blockchain pueden ser mucho más rápidas.

Si bien queda por ver si finalmente MAST será implementado en Bitcoin, lo cierto es que sería muy beneficioso para la moneda digital así como para su funcionalidad.

Acerca del autor

Criptotario

Me llamo Martin, soy ingeniero y apasionado de las inversiones y la tecnología. Me gusta mucho leer libros y todo aquello que me haga mejorar día a día.

Agrega un Comentario

Haz clic aquí para añadir un comentario