Volver

Inmersión profunda en el escalado de FTSO

En propuestas de gobernanza STP.06 y FIP.06 se abrirán pronto a votación. Incluyen las actualizaciones necesarias para ampliar la capacidad de Flare Time Series Oracle (FTSO) para las redes Flare y Songbird.

El FTSO

El FTSO es un sistema que se ejecuta en Flare, que ofrece fuentes de datos descentralizadas a dapps en Flare sin depender de proveedores centralizados. Actualmente las únicas fuentes de datos disponibles son para pares de precios de criptomonedas, por ejemplo BTC USD. Los feeds soportados son ADA, ALGO, ARB, AVAX, BNB, BTC, DOGE, ETH, FIL, FLR (en Flare), SGB (en Songbird), LTC, MATIC, SOL, USDC, USDT, XDC, XLM, y XRP.

Los proveedores de infraestructuras independientes, como Google Cloud, Ankr y Figment, desempeñan una doble función importante en el sistema: son responsables tanto de asegurar la red como validadores, como de contribuir a los oráculos consagrados de Flare como proveedores de datos.

Para lograr un sistema seguro y descentralizado, recuperan datos de fuentes externas, como bolsas centralizadas y descentralizadas, y los suministran al sistema FTSO. Esta información se pondera en función del poder de voto de cada proveedor (cantidad de fichas delegadas por la comunidad), y se calcula una mediana ponderada para obtener la estimación final.

Escalabilidad FTSO

El FTSO actual (v1) se implementa principalmente como un contrato inteligente en cadena. Actualmente proporcionamos actualizaciones de 18 fuentes de datos cada 180 segundos.

Para dar soporte a nuevos casos de uso que requieren actualizaciones más rápidas y una mayor variedad de datos, era necesario un rediseño más escalable del sistema. Con FTSO Scaling, los proveedores de datos podrán proporcionar hasta 1.000 fuentes de datos (pares de precios de criptomonedas, cotizaciones bursátiles, datos meteorológicos, etc.) cada 90 segundos.

El nuevo diseño propuesto es más eficiente porque los cálculos se realizan fuera de la cadena y sólo se almacena en ella una representación de los resultados de todos los proveedores de datos, conocida como Merkle Root hash. Esta representación hace que los datos en la cadena sean más ligeros y escalables que realizar los cálculos en la cadena y almacenar todos los precios individuales en la cadena.

El protocolo mejorado permite ofrecer más fuentes de datos. Al principio, se añadirán datos de unos 25 pares de precios de criptomonedas. También está previsto incluir progresivamente más criptoactivos, como acciones, bonos, materias primas y divisas, en función de la demanda de los desarrolladores.

FTSO Scaling no debe confundirse con FTSO Fast Updates, que será objeto de una futura propuesta de gobernanza. FTSO Fast Updates permitirá a las dapps solicitar y pagar datos bajo demanda con una latencia de 1-2 bloques (aproximadamente 1-3 segundos). Si la comunidad de Flare aprueba las propuestas de gobernanza, la combinación de FTSO Scaling y FTSO Fast Updates hará realidad nuestra visión de FTSO v2.

Papel de la Comunidad Flare

La comunidad de Flare seguirá colaborando con el FTSO del mismo modo. Se trata de cambios técnicos. Puede seguir delegando en los proveedores de datos del FTSO y reclamar recompensas por delegación igual que antes.

Papel del proveedor de datos

Con el escalado FTSO, los proveedores de datos siguen suministrando información útil, como los pares de precios. Los datos que se alejan demasiado de la mediana (valores atípicos) se siguen eliminando. Las estimaciones de datos resultantes se recompensan y se ponen a disposición en la cadena. Los proveedores de datos siguen utilizando un proceso de confirmación y revelación que permite confirmar todos los datos. La fase de confirmación permite que las estimaciones se envíen sin que algunos proveedores de datos puedan hacer trampas viendo las estimaciones de otros proveedores de datos. La fase de revelación permite a los proveedores de datos acceder a las estimaciones confirmadas para su verificación.

Si se aprueba, la Escala FTSO introducirá dos nuevas fases: La Fase de Firma y la Fase de Finalización.

  • En la fase de señalización, los proveedores de datos filtran las revelaciones que no coinciden con las confirmaciones. Sólo las revelaciones válidas se utilizan para calcular la mediana de los valores de alimentación y las recompensas. Los resultados se representan mediante un código ("hash") y los proveedores de datos lo firman.
  • En la fase de Finalización, una vez presentado un peso suficiente de firmas para la votación, cualquier entidad puede reunirlas y presentarlas al contrato inteligente de votación. Se realiza una comprobación para verificar si las firmas propuestas alcanzan acumulativamente el umbral de peso requerido (al menos el 50% del peso total de todos los proveedores de datos elegibles). En caso afirmativo, la raíz de Merkle se publica en el contrato de votación para un ID de ronda de votación determinado. A continuación, queda a disposición de todos los demás contratos inteligentes que puedan utilizar los datos para verificar los resultados de los cálculos.

Reparto de recompensas

Al igual que en FTSO (v1), los proveedores de datos seguirán recibiendo recompensas por presentar datos cercanos al valor medio. Si se aprueba la propuesta de gobernanza, cuando se aplique plenamente el escalado de FTSO, la mayor parte del total disponible de recompensas por suministro de datos de FTSO, el 80%, seguirá distribuyéndose entre los proveedores de datos que lo consigan.

Asimismo, cuando se aplique plenamente el escalado FTSO, también se recompensará la presentación de firmas en la fase de firma y la activación de la finalización en la fase de finalización. Para la presentación de firmas en la fase de Firma, se distribuirá el 10% de las recompensas por suministro de datos a los proveedores de datos que presenten una única firma válida. Para desencadenar la finalización en la fase Finalización, hasta cinco entidades pueden llevar a cabo la finalización: las cinco primeras que hagan que el umbral de peso se alcance con éxito. El 10% de las recompensas por suministro de datos disponibles se destinará a estos proveedores de datos.

Sanciones

FTSO Scaling penaliza a los proveedores de datos por Revelar Retenciones o Doble Firma:

  • Revelar retenciones: Los proveedores de datos deben poder verificar que el hash de los datos revelados coincide con el hash de los datos confirmados. Cuando se omite la revelación de una confirmación o no coincide, se denomina Retención de revelación y se penalizará.
  • Doble firma: Proporcionar firmas inválidas o firmas para más de un resultado en la misma ronda de votación se denominará Doble-Firma y será penalizado.

En ambos casos, la penalización será 30 veces superior a la cuota relativa de recompensas prevista para el proveedor de datos infractor en esa ronda de votaciones, y se deducirá de la cantidad total de recompensas al final de la época de recompensas. La cantidad máxima que se puede deducir es igual a la recompensa total del proveedor de datos en la época. La cantidad deducida se quemará.

Fases del despliegue

La ampliación del sistema FTSO para permitir hasta 1.000 fuentes de datos requerirá una serie de actualizaciones sustanciales. Para dar tiempo a la Fundación Flare a realizar pruebas y a los proveedores de datos a adaptarse a los cambios, si se aprueba, la actualización constará de una fase de prueba, una fase beta y una fase de eliminación.

Durante estas fases, coexistirán los proveedores de datos actuales y los actualizados. Los proveedores de datos actuales son los que ejecutan el código FTSO (v1) existente y los proveedores de datos actualizados son los que ejecutan el nuevo código que incluye FTSO Scaling. El 70% de la inflación total de Flare sigue destinándose a recompensas por el suministro de datos FTSO, pero se dividirá entre los proveedores de datos de la siguiente manera:

  • Fase de prueba: Durante esta fase, la asignación de recompensas no cambiará: los proveedores de datos actuales seguirán recibiendo el 100% de las recompensas por suministro de datos FTSO distribuidas entre ellos; mientras que los proveedores de datos actualizados no recibirán ninguna recompensa.
  • Fase beta: Durante esta fase, la Fundación Flare actualizará el contrato de Inflación para que los proveedores de datos actuales reciban el 50% de la asignación total de recompensas por suministro de datos FTSO, y los proveedores de datos actualizados reciban el otro 50%. En este momento, todos los proveedores de datos podrán reclamar sus recompensas. Por ejemplo, supongamos que durante la fase beta tenemos 100 FLR de inflación para recompensas. Entonces, los proveedores de datos actuales tendrán 50 FLR distribuidos entre ellos y los proveedores de datos actualizados tendrán la siguiente distribución entre ellos: 40 por cercanía a la mediana, 5 por envío de firma válida y 5 por contribuir a la finalización.
  • Fase de depreciación: Durante esta fase, la Fundación Flare volverá a actualizar el contrato de inflación para que sólo los proveedores de datos actualizados reciban recompensas. Por lo tanto, con la cantidad de inflación del ejemplo anterior, 100 FLR, los proveedores de datos actualizados recibirán la distribución completa entre ellos: 80 por cercanía a la mediana, 10 por envío de firma válida y 10 por contribuir a la finalización.