¿Qué es Graftroot?

José Maldonado
04 NOV 2020
¿Qué es Graftroot?
1.

Introducción

Una de las propuestas de mejoras que más se esperan en Bitcoin es Graftroot. Con ella se busca implementar un mejor soporte para smart contracts sobre Bitcoin, además de otras mejoras en la criptografía de esta criptomoneda. De hecho, es junto con Taproot, una de las mejoras destinadas a mejorar la privacidad de la primera criptomoneda del mundo.

Con Graftroot se busca la combinación de tecnologías criptográficas. Esto con el objetivo de darle mayor privacidad a las transacciones que se ejecutan en la red Bitcoin. Conjugando Taproot, firmas Schnorr y MAST, se busca la creación de transacciones complejas multifirmas que a la vista se parezca a una transacción normal. Esto le aporta mayor privacidad a las transacciones. Con ello se busca dificultar que las empresas de análisis de cadenas blockchains puedan analizar los flujos de entrada y salida de las criptomonedas envueltas en las transacciones.

2.

¿Qué es Graftroot?

Graftroot es una tecnología reciente que busca mejorar las características de privacidad de los contratos inteligentes sobre la blockchain de Bitcoin. Fue propuesta por Greg Maxwell, uno de los principales contribuyentes de Bitcoin, con la idea de mejorar algunos aspectos que no cubren la tecnología Taproot. Esta última, también había sido propuesta por el mismo Maxwell. La finalidad es darle mayor privacidad a los contratos inteligentes que se realizan en la red de Bitcoin.

Con Graftroot los participantes en un contrato inteligente pueden combinar sus claves públicas en la realización del contrato. De esta forma, se puede generar una sola clave de umbral (threshold key). A esta clave se puede acceder con una firma de umbral (threshold signature), al igual que sucede con Taproot.

La diferencia es que en Graftroot se crean firmas de umbral por cada condición alternativa en el contrato inteligente. Mientras que con Taproot la firma se hace sobre el conjunto completo de condiciones. Esta característica de Taproot, tiene la desventaja de generar muchos datos, lo que representa un inconveniente para la privacidad del contrato dentro de la blockchain. Con Graftroot se busca solventar este aspecto, y hacer que un contrato inteligente luzca como una transacción estándar para quienes buscan realizar análisis de cadena dentro de la blockchain.

Citando textualmente las palabras del propio Maxwell respecto a Graftroot:

“Con Graftroot, los participantes establecen una clave de umbral, opcionalmente con una alternativa de Taproot, tal como lo hacen con Taproot. En cualquier momento, pueden delegar su capacidad para firmar a un script sustituto (y sólo el script) con su clave Taproot y compartir esa delegación con quien elijan. Más tarde, cuando llegue el momento de gastar la moneda si los firmantes no están disponibles y se debe usar el guión, la parte redentora debe hacer lo que sea necesario para satisfacer el guión (por ejemplo, proporcionar su propia firma y un bloqueo de tiempo, o lo que sea). y presenta esa información junto con la firma del guión del firmante ".

3.

Objetivo de Graftroot

Como ya se mencionó, el objetivo de Graftroot, es hacer que los contratos inteligentes se confundan con las transacciones normales dentro de la blockchain, de esta manera se dificulta el trabajo de análisis que se pueda realizar sobre la blockchain en busca de indicios de contratos inteligentes en la misma, por lo tanto se aporta mayor privacidad a las negociaciones realizadas a través de los contratos inteligentes en la red Bitcoin.

4.

¿Cómo funciona Graftroot?

El funcionamiento de Graftroot se puede explicar a través de un ejemplo:

Supongamos que se establece un contrato inteligente entre dos personas, María y Carlos, para que ellos puedan gastar juntos fondos del contrato.

  • Se puede establecer, como una condición alternativa en el contrato, que María podrá realizar gastos después de un tiempo determinado, por ejemplo una semana.
  • De forma alternativa, también se establece que Carlos podrá gastar fondos si aporta un número secreto.
  • Entonces María y Carlos crean y firman estas condiciones alternativas.
  • María guarda su firma de umbral con la que podrá realizar los gastos después del período estipulado, una semana.
  • Y Carlos, por su parte, mantiene su firma de umbral con la que podrá realizar gastos si aporta su número secreto.

Al momento de liquidar el contrato, se pueden presentar dos situaciones, que son: el cierre cooperativo, donde ambos participantes firman las transacciones, generando de esta forma una firma de umbral. O el cierre no cooperativo, cuando por cualquier motivo, alguna de las partes no está presente. En este caso, si está Carlos, éste con su número secreto puede revelar la condición alternativa pautada en el contrato y su firma de umbral para demostrar la autenticidad del gasto. Por lo tanto, para el consenso, esto lucirá como que todas las partes del contrato acordaron la transacción. 

En el caso de que sólo se encuentre María, ella puede proceder de manera similar, exponiendo la condición alternativa acordada en el contrato y aportando su clave de umbral para realizar el gasto.

Con Graftroot se garantiza entonces que la ejecución de cualquiera de los casos, se realice con la generación de pocos datos mediante la aplicación de firmas Schnorr, árboles de sintaxis abstractas conocidos como MAST y las bondades propias de Taproot. Toda esta combinación de tecnologías hará que la transacción luzca como una transacción normal en la blockchain, aún en los casos en donde se ejecutaron condiciones alternativas, es decir, en los casos donde faltó alguna de las firmas.

5.

Características

Una de las características más resaltantes de Graftroot es la posibilidad de incorporar al contrato inteligente varias condiciones alternativas acordadas por los participantes del contrato al momento de la creación del mismo. En un caso de contrato inteligente del 3 de 3, es decir, hay 3 participantes y se requiere la firma de los tres para ejecutar el contrato, no involucra mucho problema para manejar como una transacción normal. En caso de que firmen 2 participantes de los 3, se puede procesar convenientemente a través de Taproot, pero cuando ya firma 1 de 3 participantes, se generan más datos para efectos del consenso, y esto atenta contra la privacidad del contrato, puesto que podrá ser localizado con más facilidad que una transacción normal dentro de la blockchain.

Otra característica bastante interesante de Graftroot es que no es necesario que todas las condiciones alternativas se firmen de antemano, pueden ser añadidas después de la creación del contrato, con la generación de sus respectivas firmas de umbral.

Por otro lado, se tiene que Graftroot soporta la capacidad de poder delegar sus claves a un script para firmar mediante éste en caso de alguna eventualidad. Por ejemplo en el contrato inteligente para cubrir contingencias en un testamento. Una persona puede establecer condiciones alternativas que deleguen sus claves a un script que sus hijos, por ejemplo, podrán usar para firmar en el momento que la defunción de esta persona sea confirmada. A esta característica se le conoce como secuencia de comandos sustituta.

6.

Implicaciones de la mejora

Una de las implicaciones que esta mejora supone, es la actualización de la red para que soporte estas características. En el ámbito Bitcoin hay muchas expectativas acerca de esta actualización que involucra una bifurcación suave para permitir que estas funcionalidades puedan ser soportadas por la red Bitcoin.

La privacidad y seguridad de la ejecución de contratos inteligentes, es otra de las implicaciones, más importantes dentro de este conjunto de mejoras propuestas para la red Bitcoin.

7.

Pros y contras

Como todo en el mundo de la criptografía tiene sus pros y sus contras. Graftroot no escapa de ello. He aquí algunas:

Pros

  • Graftroot puede facilitar incluso el contrato inteligente más complejo, y nadie se daría cuenta.
  • Los participantes pueden incluso agregar más condiciones después de que se ejecute el contrato inicial. 
  • Brinda mayor privacidad en los contratos inteligentes con varias condiciones alternativas.
  • La eficiencia de Graftroot es superior a la de Taproot en los contratos inteligentes con muchas condiciones alternativas.
  • Las condiciones alternativas tienen cada una su propia firma de umbral.
  • Le da posibilidad a los participantes de delegar sus claves a otras personas para que firmen en caso de ausencia de uno o más participantes del contrato.

Contras

  • Por un lado, es interactivo. Las partes involucradas deben comunicar sobre la firma de los guiones alternativos antes de que puedan gastar los fondos de la forma que habían acordado. 
  • Otro inconveniente es que si un participante pierde su firma de umbral para la secuencia de comandos alternativa, pierde con ella su copia de seguridad. 
8.

Conclusiones

Los entusiastas de Bitcoin contemplan expectantes la implementación de esta serie de mejoras en la red de Bitcoin. Y es que representa una actualización bastante prometedora para este ecosistema de Bitcoin. La notable irrupción de Bitcoin en el mercado de criptodivisas descentralizadas del tipo P2P abrió las puertas a un amplio mundo de posibilidades en el plano financiero digital. 

Ahora con esta serie de mejoras tecnológicas busca mantenerse a la vanguardia ofreciendo características a todas las personas a nivel mundial para que saquen el mayor provecho de su potencialidad bajo un entorno de privacidad y seguridad propios del ecosistema criptográfico.

Estaremos a la espera de nuevos avances ligados a la implementación de Graftroot en la creación de contratos inteligentes en la red Bitcoin, así como de los proyectos innovadores que se deriven de la puesta en marcha de esta tecnología en el espacio criptográfico.