Sobre los Intents


Qué son los Intents

Los intents representan una forma de ejecutar un cambio en el ledger. El cambio más común relacionado con un intent es el movimiento de saldos entre billeteras.

El autor del intent construye y firma el intent con su llave privada, lo cual garantiza la integridad y autenticidad de su intención.

Los intents garantizan la atomicidad de los cambios en el ledger, lo que significa que si hay múltiples cambios, estos serán todos persistidos completamente o ninguno será persistido.

Hay 6 estados de intent relacionados con la atomicidad:

EstadoDescripción
PendingEl intent ha sido enviado pero aún está siendo procesado. Los cambios en los datos del ledger aún no se han persistido.
PreparedEl intent ha sido preparado por todos los participantes y puede ser procesado.
CommittedEl intent se ha procesado exitosamente. Los cambios en los datos del ledger se han persistido y son irreversibles. Eventualmente será completado.
CompletedEl intent se procesó exitosamente.
AbortedEl intent fue abortado mientras estaba en estado pendiente. Eventualmente será rechazado.
RejectedEl procesamiento del intent falló. Los cambios en los datos del ledger se rechazan y no pueden persistirse.

Completed y Rejected son los estados finales, y no se pueden hacer cambios a un intent después de que ha llegado a uno de estos estados.

Firmas de Intents

La firma de un intent es una prueba que garantiza la autenticidad e integridad del intent. En otras palabras, garantiza:

  • que el firmante es realmente el autor o testigo del intent y que está de acuerdo con él
  • que el intent no ha sido manipulado durante su transporte o almacenamiento

Las firmas de intent también son el mecanismo para lograr el acuerdo entre múltiples partes involucradas en el intent sin necesidad de confiar en un mediador externo.
En un ejemplo de un intent de intercambio donde participan 2 billeteras, se requerirán firmas de los propietarios de ambas billeteras para poder confirmar el intent.

Ambas partes saben que el intent necesita 2 firmas para ser confirmado, y cada una decidirá de forma independiente si los términos del intercambio son aceptables, y lo confirmará con su firma.

Las firmas requeridas para un intent se determinan por el contenido de las claims (declaraciones) del intent.
Por ejemplo, una claim de transferencia que transfiere saldo de un origen a un destino requiere una firma que tenga permiso para ejecutar la acción spend sobre la billetera de origen.
Las reglas de seguridad que definen qué firmantes tienen permiso para gastar desde una billetera se configuran mediante las reglas de autorización.


Historial de cambios
1.0.0
  • Agregado Versión inicial