Artículo de Blog

Usando el Protocolo 17 de Recuperación de Activos

Autor

Tyler van der Hoeven

Fecha de publicación

Actualización de protocolo

Recuperación de activo

El 1 de junio de 2021, la red de Stellar se actualizó al Protocolo 17, que incluye una característica mayor — e increíble — nueva: Recuperación de Activos. El Ctrl-Z opcional para la blockchain de Stellar.

En su esencia, la Recuperación de Activos es bastante simple: es un conjunto de dos nuevas operaciones y una bandera de cuenta que permite a los emisores recuperar tokens de cualquier cuenta que posea tokens.

Profundizaremos en cómo funciona a continuación, pero antes quiero señalar que la Recuperación de Activos facilita la emisión de tipos específicos de activos regulados como fondos del mercado monetario, bonos y acciones en Stellar. No afecta los activos que los usuarios poseen actualmente, y todos los activos habilitados para recuperación están claramente designados por banderas de cuenta que son visibles en el libro mayor público. Si y cuando los usuarios optan por poseer un activo habilitado para recuperación, lo hacen con pleno conocimiento.

Vamos a profundizar en cómo configurarías, emitirías y recuperarías un activo de Stellar.

Hay tres pasos principales:

  1. Configurar la cuenta Emisora y el Beneficiario.
  2. Emitir el activo.
  3. Recuperarlo.

Configurar la cuenta emisora

Hoy estaré usando el Laboratorio de Stellar pero podrías hacer esto igualmente con cualquiera de los SDKs de Stellar o incluso haciendo solicitudes API crudas a Horizon.

Primero, vamos a crear y financiar una cuenta nueva de Stellar. Dado que estamos haciendo esto en la testnet, podemos aprovechar friendbot para obtener algunos XLM de testnet gratis. Esta cuenta servirá como nuestra cuenta Emisora del activo habilitado para recuperación.

A continuación, necesitamos configurar correctamente una bandera habilitada para recuperación para que cualquier activo emitido por esta cuenta en el futuro esté habilitado para recuperación. Lo haremos en la pestaña “Construir Transacción”.

Configuraremos la cuenta fuente a la clave pública de la cuenta Emisora del paso anterior, obtendremos el siguiente número de secuencia, estableceremos nuestra tarifa base y finalmente añadiremos una única operación de “Establecer Opciones” con las banderas de Autorización revocable y Autorización habilitada para recuperación configuradas.

A continuación, firmaremos esta transacción con la clave privada de la cuenta Emisora y la enviaremos a la red, completando el proceso de configuración de la cuenta Emisora.

Haz clic en "Enviar en el Enviador de Transacciones"
¡Tu transacción ha sido enviada!

Emitir el activo

¡Genial! Nuestra cuenta Emisora ahora está completamente preparada para emitir activos habilitados para recuperación. Procedamos a hacerlo.

Primero, crearemos y financiaremos otro par de claves completamente nuevo desde la pestaña “Crear Cuenta” usando el mismo proceso que usamos para crear la cuenta Emisora. Esta segunda cuenta es nuestro Beneficiario. Es la cuenta de usuario que recibirá el activo habilitado para recuperación y finalmente tendrá parte de él recuperado.

A continuación, creamos una transacción con dos operaciones.

  1. El Beneficiario crea una línea de confianza para un activo emitido por la cuenta Emisora.
  2. La cuenta Emisora hace un pago en el activo habilitado para recuperación, al que he decidido llamar RECUPERACIÓN, al Beneficiario.


Notarás que antes de que la cuenta Emisora pueda hacer el pago al Beneficiario, el Beneficiario tiene que optar por mantener el activo creando una línea de confianza. El Beneficiario literalmente firma la transacción para confirmar la voluntad de mantener el activo.

Dado que la Emisora es la cuenta fuente para la transacción y el pago del activo RECUPERACIÓN, también tiene que firmar la transacción para autorizar el pago. Esta transacción, en otras palabras, requiere firmas de ambas cuentas.


Finalmente, enviemos esta transacción y finalicemos el pago de RECUPERACIÓN.


Si ahora consultamos el saldo de la cuenta del Beneficiario (ver código resaltado), notaremos que tiene 500 unidades del activo RECUPERACIÓN, y que la línea de confianza está marcada como "is_clawback_enabled": true. Esa bandera es completamente visible para el Beneficiario.

Recuperarlo

Vamos a hacerlo – lo previamente imposible – ¡vamos a revertir! Vamos a recuperar algunos de estos activos del Beneficiario. El proceso es simple: la cuenta Emisora crea una transacción final que hace uso de la nueva operación “Recuperación”.

¡Excelente! Hagamos que la cuenta Emisora firme y envíe esa transacción, y luego miremos el saldo de la cuenta del Beneficiario para ver si cambió. Si hemos hecho todo correctamente, debería haber disminuido de 500 a 250 unidades (ver código resaltado abajo).

¡Increíble! Las 250 unidades del saldo han sido exitosamente recuperadas a la cuenta emisora, efectivamente eliminándolas de la existencia.

Conclusión

La Recuperación de Activos puede parecer un cambio pequeño, pero para el espacio de emisión de activos regulados, es la diferencia entre usar blockchain o no. Añade herramientas que facilitan a los emisores cumplir con varios requisitos regulatorios, lo que ayuda a traer casos de uso financieros tradicionales e instrumentos al siglo 21. Extiende la capacidad de Stellar para hacer la transferencia de valor completamente digital y accesible para cualquiera en cualquier parte del mundo.

Notas técnicas finales: arriba, miramos cómo recuperar una parte de un saldo. Pero cuando un activo está habilitado para recuperación, también puedes usar la operación de saldo reclamable de recuperación para recuperar un saldo reclamable.

También vale la pena mencionar que los emisores pueden remover la bandera habilitada para recuperación de líneas de confianza individuales usando la nueva operación “Establecer Banderas de Línea de Confianza”, y esa operación reemplaza la ahora legada operación “Permitir Confianza”.

Para saber más sobre la característica de Recuperación de Activos, ve:

¿Interesado en aprender aún más sobre el lado técnico de Stellar en porciones digeribles? Únete a Stellar Quest!