¿Qué es 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.