Cómo funciona RSV actualmente

La funcionalidad de RSV va a ser modificada en nuestra próxima actualización. Aquí se describe cómo funciona actualmente.

Elementos fundamentales

RSV está respaldado por una cartera de colaterales en la cadena de bloques, mantenidos por un contrato inteligente llamado Bóveda Reserve. Esta cartera está compuesta por partes iguales de TUSD, USDP y USDC, así que cada RSV es canjeable directamente por esta cartera, el valor de RSV está atado económicamente al valor de esta cartera. Esto ancla el valor de RSV en $1.00, dado que cada uno de los colaterales es canjeable por 1 dólar americano. Esta cartera puede ser diversificada a través de un rebalanceo descentralizado, el cual describiremos luego.

Entonces, ¿qué puede hacer el RSV y cómo funciona? Lo resumimos en 3 elementos fundamentales:

  1. Emisión de RSV: Emite RSV ofreciéndole colateral al protocolo directamente.

  2. Canje de RSV: canjea RSV por colateral.

  3. Rebalanceo de la bóveda: los tenedores pueden enviar propuestas al contrato inteligente Reserve Manager para rebalancear la composición de la cartera en la bóveda.

Si bien estamos orgullosos del progreso que hemos logrado hasta el momento, hay mucho trabajo por hacer con RSV. Las características claves que quedan pendientes de incluir son:

  1. Enlazar la funcionalidad de RSV con RSR.

  2. Implementar los oráculos de monitoreo de precios.

  3. Descentralizar la gobernanza de los contratos inteligentes.

Cada uno de los contratos inteligentes que hacen posible RSV han sido auditados por nuestros amigos de CertiK.

Emisión + Canje

En ambos casos, alguien que quiera interactuar con nuestro sistema procede como se describe a continuación:

  1. Autoriza a nuestro sistema para utilizar una cantidad de sus fondos, usando la función de interfaz standard ERC20.

  2. Llama a la función “Issue” (Emitir) o “Redeem” (Canjear) en nuestros contratos inteligentes.

  3. Durante la emisión, USDC + TUSD + USDP es recolectado de la billetera del usuario y una cantidad equivalente de RSV es emitida y transferida a la misma billetera.

  4. Durante el canje ocurre a la inversa: el RSV es recolectado y destruido y se paga al usuario con USDC + TUSD + USDP que es depositado en su billetera.

Rebalanceo de la bóveda

En la implementación está implícita la noción de con qué está respaldado RSV. Llamamos al proceso de cambiar esto “rebalanceo de la bóveda”. Así es como funciona:

  1. Cualquier cuenta de Ethereum puede hacer una “propuesta”.

  2. Una propuesta es una sugerencia para cambiar con que se respalda RSV.

  3. Las propuestas pueden ser “aprobadas” por la cuenta de la gobernanza. Esto es un contrato multifirma M-de-N.

  4. Después de que la propuesta es aceptada, comienza un contador de 24 horas.

  5. Una propuesta puede ser cancelada por el que la propone, en cualquier momento antes de su ejecución.

  6. Después de expirada las 24 horas, la propuesta puede ser “ejecutada” por la cuenta de gobernanza y sólo por la cuenta de gobernanza.

  7. Cuando una propuesta es ejecutada, una cantidad de colaterales es retirada de la billetera del que la propone para completar los fondos necesarios para respaldar RSV de acuerdo a la nueva propuesta.

  8. De manera importante, el creador de la propuesta puede que no haya autorizado correctamente al contrato Manager para retirar los fondos de su cuenta, o puede que no tenga los fondos. Si este es el caso, entonces la propuesta no se ejecutará, pero no se cancelará.

  9. Si el proponente proveyó de los fondos suficientes, la transacción de rebalanceo lo deja con los tokens que ya no son necesarios para respaldar RSV. El objetivo de la cuenta de gobernanza es asegurar que solo sean aceptadas propuestas que tengan sentido económico.

  10. Si la propuesta es ejecutada exitosamente, RSV toma una nueva identidad. Pero aun si la cartera de colaterales cambia, nuestros contratos inteligentes garantizan que la totalidad del circulante de RSV pueda ser canjeado sin problemas por la totalidad de los activos colaterales.

Pero espera, aún hay más.

Existen de hecho dos tipos de propuestas. Para entender el porqué, considera qué cambios en el circulante de RSV son probables que ocurran en las siguientes 24 horas entre que la propuesta es aceptada y cuando es ejecutada. Eso significa que los fondos requeridos para lograr un determinado nivel de respaldo pueden incrementarse en ese lapso de tiempo.

Para lidiar con este tipo de situaciones, creamos 2 tipos distintos de propuestas: “Propuestas de peso (Weight Proposals)” y “Propuestas de intercambio (Swap Proposals)”.

Propuestas de peso

Las propuestas de peso consisten en:

  1. Una lista de direcciones de tokens de longitud N.

  2. Una lista de pesos de longitud N.

Por ejemplo, pudiera ser: [TUSD, USDC] and [0.50, 0.50].

(Aquí hemos normalizado los pesos por legibilidad, pero en realidad estos están expresados en números mucho más largos, normalmente del orden de 10³⁶, para poder mantener precisión durante los cálculos.)

Propuestas de intercambio

Una propuesta de intercambio consisten en lo siguiente:

  1. Una lista de direcciones de token de longitud N.

  2. Una lista de cantidades de longitud N.

  3. Una lista de valores booleanos que indican si la cantidad debe ser añadida o removida de la bóveda.

Por ejemplo, una propuesta de intercambio puede consistir de [TUSD, USDC], [1000, 1000], [True, False]. Esta propuesta dice añade 1000 unidades de TUSD a la bóveda, y remueve 1000 unidades de USDC de la misma.

Cómo trabajan juntas

Imagina el caso en que el circulante de RSV sea de mil millones de dólares. En ese caso, rebalancear de [33%, 33%, 33%] [USDC, TUSD, USDP] a [50%, 50%] [USDC, TUSD] requeriría $333 millones en capital. Eso es mucho. No se tú, pero yo no tengo esa cantidad de dinero a mi disposición. Una forma de hacer esto es hacer la transición en una serie de pequeños pasos.

  1. Envía y ejecuta muchas propuestas de intercambio para agregar un poco de USDC y TUSD, mientras eliminas un poco de USDP. Por ejemplo: [33%, 33%, 33%] -> [34%, 34%, 31%] -> [35%, 35%, 29%]…

  2. Después de muchas iteraciones, nos acercaremos la proporción [50%, 50%, 0%] a la que inicialmente estuvimos apuntando. Sin embargo, es probable que no termine siendo esa. Es probable que no termine siendo 100% exacto. Adicionalmente, incluso si es cero, USDP necesita ser eliminado como dirección de token para evitar aglomeramiento.

  3. Esto se consigue enviando y ejecutando una propuesta de peso, especificando explícitamente la distribución [50%, 50%] deseada, y eliminando el tercer token. Este es el paso que finalmente elimina el token USDP de la cartera de colaterales y asegura que cualquier pequeña cantidad restante sean transferidas fuera.

Los usuarios podrán usar ambos tipos de propuestas en cualquier momento. Creemos que las propuestas de intercambio sean las más fáciles de entender, pero las propuestas de peso son cruciales para mantener la precisión en el largo plazo.

Autorización y otros controles

El sistema tiene un dueño, actualmente es una multifirma M-de-N, con los siguientes controles:

  1. Pausar el sistema. Cuando el sistema es pausado, la emisión, el canje y las propuestas no pueden ejecutarse. Este control se denomina “emergencia” y está pensado para ser usado en situaciones que lo ameriten.

  2. Pausar emisión. El canje se mantiene funcionando en este caso. Anticipamos que este control solo sea usado en casos en los que RSV crezca demasiado rápido. También es posible configurar un circulante máximo para RSV.

  3. Pausar todas las transferencias de RSV.

  4. Designar y especificar un monto de señoreaje a la emisión. Actualmente configurado en 0.

  5. Cambiar el retraso de 24 horas entre admisión de propuesta y ejecución.

  6. Actualizar el contrato “Manager”.

  7. Configurar los permisos de autorización en la bóveda.

  8. Configurar los permisos de autorización de RSV.

Nota: Debido a estas 3 últimas, es posible que el dueño tenga acceso a los fondos de la bóveda.