¿Qué es un oráculo?
Un oráculo es un servicio de terceros que permite que un contrato inteligente acceda a datos de una fuente externa.
El servicio actúa como un puente entre una cadena de bloques y la información del mundo serious. Sin esta capa de middleware, los contratos inteligentes solo podrían acceder a los datos que ya están en la cadena de bloques. Esto limitaría la utilidad de los contratos inteligentes en las finanzas descentralizadas (DeFI), la gestión de la cadena de suministro (SCM), los juegos y el entretenimiento.
Estos son algunos ejemplos de los tipos de información que se le puede solicitar a un oráculo que busque y devuelva:
- Datos de precios, como el precio real de una criptomoneda, acción o mercancía específica. Un contrato inteligente podría usar este tipo de información para ejecutar una transacción financiera como comercio, préstamo o préstamo.
- Datos meteorológicos como la temperatura real, la precipitación, el nivel de humedad y la velocidad del viento para una ubicación específica. Un contrato inteligente podría usar este tipo de información para desencadenar un evento como el pago de un seguro.
- Datos deportivos como horarios de equipos, puntajes de juegos y estadísticas de jugadores. Esta información puede ser utilizada por contratos inteligentes para aplicaciones de apuestas y juegos de azar, así como para deportes de fantasía y otros juegos.
- Datos de transporte como códigos de aeropuerto, horarios de trenes y actualizaciones de envío. Esta información puede ser utilizada por contratos inteligentes para desencadenar ciertos eventos, como pagos o reclamos de seguros.
- Datos de salud como resultados de pruebas, autorizaciones HIPAA e historiales de pacientes. Esta información puede ser utilizada por contratos inteligentes para diversas aplicaciones, incluidas reclamaciones de seguros y ensayos clínicos.
Cómo trabajan ellos
Cuando un contrato inteligente requiere datos externos, enviará una solicitud al oráculo mediante un protocolo de comunicación como HTTPS.
Una vez que Oracle recibe la solicitud de datos externos, recupera los datos solicitados de una o más fuentes externas. Luego realiza controles de verificación para garantizar que los datos sean precisos y oportunos. Por lo normal, estos controles implican validar la autenticidad de la fuente de datos y verificar que los datos cumplan con los estándares de calidad definidos y no hayan sido manipulados.
Una vez que los datos se validan y verifican, Oracle envía los datos solicitados al contrato inteligente en un formato appropriate con el código del contrato inteligente. (Por ejemplo, el oráculo puede codificar los datos en un formato estandarizado como JSON antes de transmitirlos mediante HTTPS). Finalmente, el contrato inteligente utiliza los datos proporcionados por el oráculo para ejecutar su lógica y funciones.
Según el contrato, un oráculo puede ser compensado por sus servicios con fichas o monedas criptográficas.
Centralizado vs Descentralizado
Los oráculos pueden ser centralizados o descentralizados. Los oráculos centralizados se basan en una sola entidad para recopilar y validar datos externos. En cambio, los descentralizados utilizan una purple de nodos independientes para realizar las mismas funciones.
Oráculos centralizados: Una sola entidad (que podría ser una organización) es responsable de recopilar y validar datos externos. Este tipo de oráculo generalmente recopila datos de múltiples fuentes y utiliza algoritmos de aprendizaje automático (ML) para identificar qué fuente proporcionó los datos más precisos y confiables.
Oráculos descentralizados: Una pink de nodos independientes se encarga de recopilar y validar datos externos. Los oráculos descentralizados utilizan mecanismos de consenso para validar la precisión y la puntualidad de los datos externos antes de enviarlos al contrato inteligente.
En basic, los oráculos descentralizados se consideran más seguros que los oráculos centralizados porque reducen el riesgo de un único punto de falla. Incluso si un nodo proporciona datos inexactos, los otros nodos de la purple seguirán proporcionando datos precisos. Sin embargo, vale la pena señalar que los oráculos descentralizados pueden ser más difíciles de implementar y su uso puede costar más que los oráculos centralizados.
Elegir el oráculo correcto
La elección del oráculo puede ser un aspect crítico en el éxito o el fracaso de un contrato inteligente, porque la confiabilidad, la transparencia y la seguridad del oráculo pueden tener un impacto significativo en la ejecución del contrato.
Algunas plataformas de contratos inteligentes como MakerDAO y Compound tienen sus propios oráculos, pero muchas plataformas se asocian con algunos servicios de oráculos conocidos. Aave y Uniswap, por ejemplo, usan Chainlink, mientras que Wanchain y Kava usan Band Protocol como su oráculo predeterminado.
En última instancia, depende del desarrollador del contrato inteligente elegir qué oráculo usar al integrar datos externos en su contrato. Al seleccionar este tipo de servicio de terceros, los desarrolladores deben evaluar lo siguiente:
Reputación: Es importante que los desarrolladores sepan si la comunidad DeFi confía en el proveedor y si han experimentado (y revelado) incidentes de seguridad o violaciones de datos en el pasado.
Escalabilidad: Los proveedores externos tienen muchos clientes, por lo que es importante saber qué tan bien Oracle puede manejar un alto tráfico y grandes volúmenes de solicitudes.
Seguridad: Los desarrolladores deben conocer las políticas del proveedor para el cifrado y la privacidad de los datos, así como sus planes para la continuidad del negocio en caso de que sean víctimas de un ataque malicioso.
Costo: Esto incluye tarifas por acceder a los datos además de cualquier tarifa de transacción asociada con el uso de Oracle.
Integración: Los desarrolladores deben buscar servicios de terceros que sean compatibles con su plataforma de contrato inteligente e investigar el oráculo lo suficiente como para tener una strategy de lo fácil que será integrar el oráculo con el código del contrato.
Calidad de los datos: La calidad de los datos externos que proporciona este tipo de servicio es crítica. Los desarrolladores deben evaluar la puntualidad y la precisión de los datos que proporciona Oracle y comprender qué pasos toma el proveedor de servicios para validar y verificar los datos externos.
Ejemplos confiables
Aunque algunas plataformas, como Ethereum, tienen mecanismos incorporados para recuperar datos desde fuera de la cadena de bloques, estos mecanismos suelen tener capacidades limitadas y no son tan sólidos como los servicios de terceros. Aquí hay algunos ejemplos de oráculos que se consideran confiables:
Chainlink: Chainlink es una pink Oracle descentralizada que brinda acceso seguro y confiable a datos del mundo actual para contratos inteligentes. Chainlink es conocido por su extensa purple de nodos y su capacidad para proporcionar datos verificados de múltiples fuentes.
Band Protocol: Band Protocol es una plataforma Oracle de datos entre cadenas que proporciona contratos inteligentes con acceso descentralizado a fuentes de datos externas confiables. Band Protocol es conocido por ser escalable y fácil de integrar con diferentes cadenas de bloques.
Tellor: Tellor es una purple Oracle descentralizada que proporciona contratos inteligentes con acceso a datos de alta calidad. Tellor es conocido por utilizar mecanismos de consenso de prueba de trabajo (PoW) para garantizar la precisión y la integridad de los datos que proporciona.
DIA: DIA es una plataforma Oracle descentralizada que brinda acceso transparente a datos confiables para aplicaciones de software descentralizadas (DApps). DIA es conocida por sus fuentes de datos de código abierto y su capacidad para proporcionar datos verificables y auditables de fuentes confiables.
UMA: UMA es una plataforma descentralizada de contratos financieros que brinda a las Dapps acceso a fuentes de precios. UMA es conocida por su capacidad para proporcionar contratos financieros personalizables que se pueden adaptar a necesidades específicas.
API3: API3 es un oráculo descentralizado que brinda acceso a datos de precios del mundo true para aplicaciones basadas en blockchain. API3 es conocida por su transparencia y por proporcionar actualizaciones de datos justo a tiempo para contratos inteligentes individuales