Monedas deflacionarias

Las monedas indexadas a la inflación son la razón de la existencia del protocolo Geminon. El diseño inicial del protocolo tuvo como objetivo crear una moneda estable de cuarta generación, con una combinación de escalabilidad, descentralización y seguridad superior a las alternativas existentes y que además fuera resistente a la pérdida de valor debida a la inflación.

Valor de referencia (peg)

A pesar de su nombre, las monedas indexadas de Geminon no replican a ningún índice, sino que utilizan como valor de referencia la predicción del valor de dicho índice para el próximo periodo. Este detalle es importante puesto que les permite situarse sobre la curva de inflación, en lugar de por detrás de la curva.

Monotonía

Otra diferencia importante frente a un simple índice de inflación es que las monedas indexadas de Geminon están programadas para que su valor no pueda descender nunca frente a su moneda base: en los casos en que se produce deflación su valor queda fijo al de la moneda base en lugar de seguir la bajada del índice de inflación, por lo que en términos globales se obtiene una curva de valor monótona creciente, es decir, una moneda puramente deflacionaria.

Predicción del índice

El contrato PredictIndex implementa un sistema de predicción de series temporales basado en el modelo de tendencia lineal no estacional de Holt-Winters. En su forma recurrente, el modelo viene dado por dos ecuaciones para el suavizado de la serie y la tendencia:

Sn=αXn+(1α)(Sn1+Tn1)S_n = \alpha X_n + (1 - \alpha)(S_{n-1} + T_{n-1})
Tn=γ(SnSn1)+(1γ)Tn1T_n = \gamma (S_n - S_{n-1}) + (1 - \gamma) T_{n-1}

Donde XX es la serie temporal, SS el valor suavizado de la serie, TT la componente tendencial de la serie y α\alpha, γ\gamma los parámetros del modelo. La predicción de la serie temporal SS en el instante n+mn + m viene dada por la expresión:

Xn^(m)=Sn+mTn\hat{X_n}(m) = S_n + m T_n

Los parámetros α\alpha y γ\gamma se obtienen por optimización, seleccionando el par que da el error mínimo de predicción a un periodo para la serie temporal analizada.

Valor objetivo

El valor objetivo es el valor que la moneda debe alcanzar en la fecha de predicción del índice. Es la conversión del valor del índice en valor de cambio monetario (expresado en USD). Se obtiene dividiendo el valor de predicción entre el valor de base del índice.

Yn=Xn^XbY_n = \dfrac {\hat{X_n}} {X_b}

Este valor expresa también el porcentaje de inflación acumulada desde la fecha del periodo usado como base hasta la actualidad.

Función rampa

La serie temporal del índice de precios al consumo tiene periodicidad mensual. Si se utilizara directamente el valor objetivo como valor de referencia de la moneda, se producirían saltos bruscos en su valor una vez al mes coincidiendo con la publicación del nuevo dato de inflación. Estos saltos bruscos en el precio, al ser predecibles, permitirían llevar a cabo ataques de arbitraje temporal contra el protocolo.

Para evitar este tipo de ataques y generar una curva de variación del precio continua, se utiliza una función de interpolación lineal que genera una rampa continua entre el último valor objetivo y el siguiente:

δt,n=ttn1tntn1\delta_{t,n} = \dfrac {t - t_{n-1}} {t_n - t_{n-1}}
yt,n=Yn1+δt,n(YnYn1)y_{t,n} = Y_{n-1} + \delta_{t,n} (Y_n - Y_{n-1})

Limitador de variación

Los tokens indexados incorporan un mecanismo de seguridad para evitar variaciones excesivas de su valor objetivo en un periodo determinado. Cada vez que se actualiza el valor objetivo del token, el contrato comprueba que dicho valor se encuentra dentro de límites:

  • Límite inferior: el límite inferior de variación viene dado por el requisito de monotonía de la función de precio. El nuevo valor objetivo no puede ser menor que el valor de referencia actual de la moneda. Si el objetivo calculado es menor, se toma como nuevo objetivo el valor actual de referencia, con lo que el valor de referencia queda temporalmente fijo al precio actual.

  • Límite superior: es un parámetro del contrato, que viene establecido por defecto en un 2% mensual. Si el nuevo valor objetivo supone una variación respecto al objetivo anterior mayor al 2%, se utiliza el valor límite como objetivo.

Valor de respaldo

El contrato ERC20Indexed, que sirve de base para las monedas indexadas a la inflación de Geminon, implementa un mecanismo de respaldo que permite que los tokens puedan funcionar de forma autónoma, cumpliendo su función de cobertura frente a la inflación incluso si nadie actualiza los valores del índice de referencia a través del contrato PredictIndex.

En caso de una actualización normal, la tasa de variación mensual se calcula como:

Vn=TnSnV_n = \dfrac {T_n} {S_n}

Donde TnT_n y SnS_n son la tendencia y el suavizado según el modelo de Holt-Winters descrito anteriormente. Si definimos una tasa de variación constante de respaldo V0V_0, en caso de que en el siguiente periodo los valores de TnT_n y SnS_n no estuvieran disponibles, se calcularía una nueva tasa de variación según la expresión:

Vn=αV0+(1α)Vn1V_n = \alpha V_0 + (1 - \alpha)V_{n-1}

La tasa de variación calculada de este modo converge lentamente hacia el valor por defecto V0V_0. Si deja de actualizarse el índice subyacente de forma permanente, transcurrido un número suficiente de periodos se tendrá Vn=V0V_n = V_0. El nuevo valor objetivo se calcularía en cada periodo de forma recursiva utilizando la tasa de variación de respaldo:

X^n+1=Xn(1+Vn)\hat{X}_{n+1} = X_n (1 + V_n)

Para evitar que se pueda invocar la actualización de respaldo aprovechando la ventana entre la fecha de publicación del nuevo dato del índice y la transacción de actualización, el contrato PredictIndex hace disponible la predicción para los siguientes dos periodos, de forma que solo se considera desactualizado si fallan dos actualizaciones consecutivas. El contrato del token puede comenzar a realizar actualizaciones de respaldo solo cuando se sobrepasa la fecha de la segunda predicción sin que se hayan vuelto a actualizar los datos del índice, es decir, cuando pasan más de dos meses sin actualizar los valores.

Última actualización