Disyuntores y diversidad de clientes en la red Chainlink

Este artículo es una traducción de Circuit Breakers and Client Diversity Within the Chainlink Network traducido por Ari Kiry y revisado por Comunidad de Chainlink en español.

Comunidad de Chainlink en español
Chainlink Community
9 min readAug 25, 2022

--

Los feeds de precios de Chainlink están diseñados para proporcionar a las aplicaciones DeFi la máxima seguridad, fiabilidad y calidad de datos. Estas propiedades se generan gracias a varias características clave:

  • Descentralización tanto a nivel de nodo como de la fuente de datos para evitar cualquier punto de fallo único.
  • Selección de operadores de nodo seguros y fuentes de datos de máxima calidad para garantizar que cada componente individual sea lo más fiable posible.
  • Seguridad comprobable mediante métricas de rendimiento on-chain que los usuarios pueden supervisar de forma independiente.
  • Incentivos criptoeconómicos para garantizar que las actualizaciones de los feeds de precios se produzcan incluso durante periodos de congestión extrema de la blockchain y hard forks inesperados.

El nivel de seguridad que ofrece Chainlink ha llevado a la adopción generalizada de sus feeds de precios, que ya aseguran miles de millones de dólares de los usuarios en toda la industria DeFi. A medida que crece el valor que asegura Chainlink, se exploran nuevas formas en las que los desarrolladores pueden asegurar aún más sus contratos inteligentes. Aunque los feeds de precios de Chainlink están diseñados para garantizar la fiabilidad incluso durante los ataques de préstamos flash, hay capas adicionales de redundancia en forma de disyuntores y diversidad de clientes Chainlink que generan una hiper-fiabilidad para los feeds de precios de Chainlink, protegiendo los fondos de los usuarios incluso durante eventos inesperados o “cisne negro”.

Las múltiples capas de redundancia en los feeds de precios Chainlink

Para garantizar el máximo nivel de fiabilidad y resistencia a la manipulación, los feeds de precios de Chainlink cuentan con tres niveles de agregación para filtrar los datos atípicos y protegerse de los eventos de cisne negro.

En primer lugar, los feeds de precios de Chainlink obtienen los datos de los agregadores de datos profesionales (por ejemplo, BraveNewCoin), que obtienen los datos de mercado de todos los entornos de negociación (tanto de exchanges off-chain como on-chain) para crear un precio medio único y ponderado por volumen de todo el mercado. En segundo lugar, cada nodo de Chainlink extrae datos de múltiples agregadores de datos y toma el valor medio, lo que garantiza que la respuesta individual de cada nodo sea resistente a los tiempos de inactividad de las API y no se limite a reflejar simplemente una única fuente de datos. En tercer lugar, el precio final consumido por un contrato inteligente representa el valor medio de numerosas respuestas independientes y revisadas por la seguridad de los operadores de los nodos, lo que evita que un solo nodo se convierta en un punto de fallo único.

Estas diferentes capas de agregación ya proporcionan un nivel extremo de fiabilidad. Sin embargo, la red Chainlink también permite dos capas adicionales de redundancia para garantizar aún más que los contratos inteligentes reciban un flujo constante de datos de alta calidad. Esto incluye:

  • Disyuntores históricos: un punto de precio adicional para comparar la última actualización del feed de precios, donde se da la voz de alarma si la diferencia entre los dos supera un umbral porcentual predefinido. Esta capa de seguridad adicional opcional proporciona un mecanismo para evitar que los contratos consuman datos potencialmente erróneos y puede usar como referencia la última actualización del feed de Chainlink (histórico) o un feed de precios separado operado por el usuario.
  • Diversificación de clientes: las redes de oráculos Chainlink siempre operan con varias versiones del software de cliente Chainlink, lo que permite una conmutación automática a versiones anteriores del cliente en caso de que ocurra un imprevisto en la versión actual. Aunque nunca haya ocurrido antes, la diversificación de clientes proporciona protección contra cualquier fallo inesperado en el software del nodo.

Al integrar múltiples capas de redundancias y redes de seguridad opcionales, la red Chainlink proporciona a los usuarios las garantías necesarias de que sus contratos inteligentes siempre recibirán datos de alta calidad y extremadamente seguros de forma fiable. Para mostrar estas piezas clave de la infraestructura utilizada para la redundancia, exploraremos diseños buenos y malos de los disyuntores y los beneficios de la diversidad de clientes.

Descripción de los disyuntores tradicionales y los de Chainlink

Un disyuntor es un dispositivo automático que se encuentra en edificios residenciales, diseñado para proteger un circuito eléctrico de los daños causados por grandes fluctuaciones de la corriente. Su función básica es detectar y evitar que grandes cambios en la salida de la red eléctrica afecten negativamente a los aparatos electrónicos conectados al circuito. Los disyuntores protegen a diario tu casa, pero también se utilizan para asegurar equipos esenciales como servidores de datos, ventiladores de hospitales, sistemas de soporte vital y otras infraestructuras que requieren funcionar en todo momento. En definitiva, los disyuntores son la última línea de defensa antes de que una subida de la corriente llegue a un dispositivo electrónico.

Un disyuntor eléctrico típico de una casa.

El concepto de disyuntores también puede verse en mercados financieros tradicionales para provocar una interrupción temporal de las operaciones cuando se produce un gran movimiento de precios a la baja. El disyuntor se activa cuando el precio supera un porcentaje definido en un tiempo determinado. Por ejemplo, el índice S&P 500 tiene un mecanismo de interrupción de operaciones de 15 minutos cuando el precio desciende un 7% respecto al precio de cierre del día anterior. Está diseñado para proteger contra las ventas por pánico, liquidaciones en cascada y desviaciones no naturales del mercado en general. Como los disyuntores eléctricos de una casa, estos dispositivos de protección de los mercados financieros son la última línea de defensa contra daños no deseados.

Disyuntor histórico de Chainlink

Los disyuntores históricos de Chainlink son una capa opcional de redundancia para los feeds de precios de Chainlink que se activan si y cuando la última actualización de un feed de precios se desvía más allá de un umbral predefinido de la ronda anterior o una agregación de varias rondas anteriores (por ejemplo, el promedio de las últimas 5 actualizaciones de precios). Si se detecta una desviación anormal, se activa una alarma que puede provocar que las dApps inicien acciones específicas, como una pausa temporal en las operaciones o impedir que se inicien nuevos préstamos.

Además de ser conceptualmente sencillo, el diseño del disyuntor histórico de Chainlink proporciona una capa de redundancia fácil de integrar y que no consume demasiado gas. El umbral utilizado dentro del disyuntor (por ejemplo, el 10%) se define en función del feed de precios, lo que proporciona un alto grado de flexibilidad. Por ejemplo, un disyuntor histórico para un feed de precios de stablecoin/FX puede tener una desviación más ajustada que un feed de precios para activos altamente volátiles, permitiendo ajustes personalizados específicos para cada caso.

Disyuntor de Chainlink operado por el usuario

Chainlink también permite la creación de disyuntores personalizados en los que un usuario opta por lanzar un nodo de Chainlink con el fin de crear una red disyuntora operada por el usuario que puede utilizarse junto con los feeds de precios existentes de Chainlink. Esto permite que un proyecto conserve cierto control sobre los datos que consumen sus contratos inteligentes ejecutando de forma independiente el disyuntor responsable de asegurar el protocolo contra cualquier evento de cisne negro.

Hay que tener en cuenta que los disyuntores de Chainlink no son una solución para mezclar datos, ya que esto introduce una gran cantidad de vectores de ataque no deseados, especialmente en torno a la dilución de los altos niveles inherentes de seguridad y calidad de los datos que ofrecen los feeds de precios de Chainlink. Cuando se mezcla vinagre y vino, no se obtiene un vino mejor. Más bien, los feeds de precios de Chainlink operan como solución de oráculo principal que suministra a las aplicaciones datos de precios agregados de alta calidad con una cobertura total del mercado, mientras que el disyuntor opcional simplemente eleva la voz de alarma y desencadena una acción como respuesta a la detección de una gran desviación.

PRECAUCIÓN: Evite los disyuntores que dependan exclusivamente de Exchanges Descentralizados (DEX)

A pesar de que la integración de un disyuntor seguro y fiable puede servir de protección en el peor de los casos, un disyuntor mal diseñado puede introducir varios riesgos nuevos e involuntarios. Especialmente, el uso de una fuente de precios basada en un exchange descentralizado (DEX) como disyuntor puede llevar fácilmente a la activación de falsos positivos en momentos de volatilidad del mercado, que es cuando el disyuntor es más necesario.

La razón es que la aplicación que utiliza un disyuntor DEX se expone a ataques de manipulación de datos o a datos de precios obsoletos. En el caso de que el disyuntor represente un precio directo de un DEX, se vuelve extremadamente vulnerable a los ataques sándwich, en los que una gran operación sesga temporalmente el precio reportado por el DEX en comparación con el mercado más amplio. Este vector de ataque se ha visto cada vez más expuesto utilizando préstamos flash (flash-loans), por lo que no recomendamos en absoluto un precio directo de un DEX como disyuntor.

Si el disyuntor refleja un precio medio ponderado en el tiempo (TWAP) de DEX, el usuario puede lograr la resistencia a los ataques de sándwich, pero a costa de la precisión del precio. Esto se debe a que el TWAP representa un precio medio durante un largo periodo de tiempo, lo que lleva a una dinámica en la que la seguridad del oráculo de precios está inversamente correlacionada con la precisión de los precios. Por lo tanto, un disyuntor de TWAP a menudo informará de precios obsoletos que van por detrás del mercado más amplio durante situaciones de alta volatilidad, introduciendo graves riesgos para los fondos de los usuarios.

Por ejemplo, si un mercado monetario descentralizado utilizara un disyuntor basado en TWAP durante un rápido desplome del mercado del 50%, el disyuntor TWAP podría desincronizarse fácilmente con el mercado más amplio durante un largo periodo de tiempo. Como resultado, el disyuntor generaría un falso positivo, provocando que las liquidaciones y/o depósitos de los usuarios quedaran inhabilitados. Cuando el disyuntor TWAP vuelva a alcanzar el precio de todo el mercado y permita que se produzcan liquidaciones, éstas no serán rentables, ya que el valor de la garantía habrá bajado demasiado en comparación con la deuda que hay que devolver. La falta de incentivos podría dar lugar a una importante subcolateralización del protocolo, creando una situación de insolvencia y una pérdida directa de fondos de los usuarios.

Dado el riesgo que supone la caducidad de estos datos, recomendamos a los desarrolladores que eviten los disyuntores basados en TWAP y que, en su lugar, utilicen un disyuntor histórico o uno operado por el usuario, ya que proporcionan datos más precisos y pueden escalar la seguridad sin sacrificar la precisión (añadiendo más nodos y fuentes de datos).

Diversificación de los clientes del software Chainlink

Además de la hiper-fiabilidad de la red Chainlink, los operadores de nodos siempre están ejecutando múltiples versiones de clientes distintas del software Chainlink Core. Esto asegura que si una versión falla, los nodos pueden volver a un cliente separado con una base de código completamente diferente, permitiendo que los nodos continúen obteniendo y entregando datos on-chain para los contratos inteligentes. Los nodos Chainlink que suministran feeds de precios utilizan este mecanismo operando Flux Monitor como cliente de oráculo principal y RunLog en segundo plano como cliente de reserva.

Con el lanzamiento de la funcionalidad de informes off-chain (OCR) de Chainlink, los operadores de nodos tendrán un tercer cliente de software de oráculos adicional a su disposición, ofreciendo aún más diversidad de clientes. Aunque no ha habido ninguna situación en la que los nodos de Chainlink hayan necesitado cambiar a un cliente de respaldo, los nodos tienen la posibilidad de hacerlo, lo que sirve como una poderosa herramienta para mitigar cualquier tipo de evento de cisne negro en caso de que la implementación de un cliente experimente algún problema.

Conclusión

Mediante el uso de múltiples capas de agregación en los feeds de precios y de varios mecanismos de respaldo opcionales cuidadosamente construidos en forma de disyuntores y diversidad de clientes, la red Chainlink proporciona un enfoque sólido de defensa integral que garantiza a los usuarios la solución de oráculo más segura y fiable del mercado. Esto permite a los usuarios obtener todos los beneficios de los feeds de precios de Chainlink en torno a la seguridad, la fiabilidad y la calidad de los datos del oráculo, a la vez que cuentan con las herramientas para mitigar situaciones inesperadas, lo que permite que la industria DeFi se beneficie plenamente de los efectos de la red de Chainlink.

Empieza hoy a construir con Chainlink

Si estás interesado en integrar una red de oráculos Chainlink de alta fiabilidad para tu aplicación descentralizada, ponte en contacto con nosotros aquí y podremos ayudarte en el proceso de integración.

Si eres un proyecto DeFi y quieres lanzar un nuevo feed de precios Chainlink o integrar uno existente, visita la documentación para desarrolladores o programa una llamada para discutirlo más a fondo. Puedes integrar fácilmente una o varias redes de oráculos de Chainlink en mainnet y testnet hoy, añadiendo más seguridad y capacidades a tus contratos inteligentes.

--

--

Comunidad de Chainlink en español
Chainlink Community

Unofficial Chainlink Medium in Spanish. This account is not managed by the official team. Lowering the language barrier to entry to becoming part of Chainlink.