¿Qué es un oráculo en la Blockchain?
Un oráculo es un servicio de terceros que permite a un contrato inteligente acceder a datos de una fuente externa.
El servicio actúa como puente entre una cadena de bloques y la información del mundo real. Sin esta capa intermedia, los contratos inteligentes sólo 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.
He aquí algunos ejemplos de los tipos de información que se podría pedir a un oráculo que encontrara y devolviera:
- Datos de precios, como el precio actual de una criptomoneda, acción o materia prima específica. Un contrato inteligente podría utilizar este tipo de información para ejecutar una transacción financiera como el comercio, el préstamo o el endeudamiento.
- Datos meteorológicos, como la temperatura actual, las precipitaciones, el nivel de humedad y la velocidad del viento en un lugar concreto. Un contrato inteligente podría utilizar este tipo de información para desencadenar un evento como el pago de un seguro.
- Datos deportivos, como los calendarios de los equipos, los resultados de los partidos y las estadísticas de los 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 aeropuertos, horarios de trenes y actualizaciones de envíos. Esta información puede ser utilizada por contratos inteligentes para desencadenar determinados eventos, como pagos o reclamaciones de seguros.
- Datos relacionados con la salud, como resultados de pruebas, autorizaciones HIPAA e historiales de pacientes. Esta información puede ser utilizada por contratos inteligentes para diversas aplicaciones, como reclamaciones de seguros y ensayos clínicos.
Cómo funcionan los oráculos de la blockchain
Cuando un contrato inteligente necesita datos externos, enviará una solicitud al oráculo utilizando un protocolo de comunicación como HTTPS.
Una vez que el oráculo recibe la solicitud de datos externos, recupera los datos solicitados de una o más fuentes externas. A continuación, realiza comprobaciones para asegurarse de que los datos son precisos y oportunos. Normalmente, estas comprobaciones implican validar la autenticidad de la fuente de datos y verificar que los datos cumplen las normas de calidad definidas y no han sido manipulados.
Una vez validados y verificados los datos, el oráculo envía los datos solicitados al contrato inteligente en un formato compatible 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). Por último, el contrato inteligente utiliza los datos proporcionados por el oráculo para ejecutar su lógica y sus funciones.
Dependiendo del contrato, un oráculo puede ser compensado por sus servicios con tokens o criptomonedas.
Centralizado frente a descentralizado
Los oráculos pueden ser centralizados o descentralizados. Los oráculos centralizados dependen de una única entidad para recopilar y validar datos externos. En cambio, los descentralizados utilizan una red de nodos independientes para realizar las mismas funciones.
Oráculos centralizados: Una única entidad (que puede ser una organización) se encarga de recopilar y validar los datos externos. Este tipo de oráculo suele recopilar datos de múltiples fuentes y utiliza algoritmos de machine learning (ML) para identificar qué fuente ha proporcionado los datos más precisos y fiables.
Oráculos descentralizados: Una red de nodos independientes se encarga de recopilar y validar los datos externos. Los oráculos descentralizados utilizan mecanismos de consenso para validar la exactitud y puntualidad de los datos externos antes de enviarlos al contrato inteligente.
En general, los oráculos descentralizados se consideran más seguros que los centralizados porque reducen el riesgo de un único punto de fallo. Incluso si un nodo proporciona datos inexactos, los otros nodos de la red seguirán proporcionando datos exactos. Sin embargo, hay que tener en cuenta que los oráculos descentralizados pueden ser más difíciles de implementar y su uso puede resultar más costoso que el de los oráculos centralizados.
Elegir el oráculo adecuado
La elección del oráculo puede ser un factor crítico en el éxito o fracaso de un contrato inteligente, porque la fiabilidad, transparencia y seguridad del oráculo pueden tener un impacto significativo en el rendimiento 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áculo bien conocidos. Aave y Uniswap, por ejemplo, utilizan Chainlink, mientras que Wanchain y Kava utilizan Band Protocol como su oráculo por defecto.
En última instancia, depende del desarrollador del contrato inteligente elegir qué oráculo utilizar al integrar datos externos en su contrato. Al seleccionar este tipo de servicios de terceros, los desarrolladores deben evaluar lo siguiente:
Reputación: Es importante que los desarrolladores sepan si el proveedor es de confianza dentro de la comunidad DeFi y si han experimentado (y revelado) incidentes de seguridad o violaciones de datos en el pasado.
Adaptabilidad: Los proveedores externos tienen muchos clientes, por lo que es importante saber hasta qué punto el oráculo puede gestionar un tráfico elevado y grandes volúmenes de solicitudes.
Seguridad: Los desarrolladores deben conocer las políticas del proveedor en materia de cifrado y privacidad de datos, así como sus planes de continuidad de negocio en caso de ser víctimas de un ataque malicioso.
Coste: Esto incluye las tarifas de acceso a los datos, además de cualquier tarifa de transacción asociada al uso del oráculo.
Integración: Los desarrolladores deben buscar servicios de terceros que sean compatibles con su plataforma de contratos inteligentes e investigar el oráculo lo suficiente como para tener una idea 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 proporcionan este tipo de servicios es crítica. Los desarrolladores deben evaluar la puntualidad y exactitud de los datos que proporciona el oráculo, y comprender qué medidas toma el proveedor de servicios para validar y verificar los datos externos.
Ejemplos fiables
Aunque algunas plataformas, como Ethereum, tienen mecanismos incorporados para recuperar datos de fuera de la blockchain, estos mecanismos suelen ser limitados en sus capacidades y no son tan robustos como los servicios de terceros. He aquí algunos ejemplos de oráculos considerados fiables:
Chainlink: Chainlink es una red descentralizada de oráculos que proporciona acceso seguro y fiable a datos del mundo real para contratos inteligentes. Chainlink es conocida por su extensa red de nodos y su capacidad para proporcionar datos verificados de múltiples fuentes.
Protocolo Band: Band Protocol es una plataforma de oráculo de datos entre cadenas que proporciona a los contratos inteligentes acceso descentralizado a fuentes de datos externas fiables. Band Protocol es conocido por ser adaptable y fácil de integrar con diferentes blockchains.
Tellor: Tellor es una red descentralizada de oráculos que proporciona a los contratos inteligentes acceso a datos de alta calidad. Tellor es conocido por utilizar mecanismos de consenso proof-of-work (PoW) para garantizar la precisión e integridad de los datos que proporciona.
DIA: DIA es una plataforma de oráculo descentralizada que proporciona acceso transparente a datos fiables 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 de confianza.
UMA: UMA es una plataforma de contratos financieros descentralizada que proporciona a las DApps acceso a feeds de precios. UMA es conocida por su capacidad para proporcionar contratos financieros personalizables que pueden adaptarse a necesidades específicas.
API3: API3 es un oráculo descentralizado que proporciona acceso a datos de precios del mundo real para aplicaciones basadas en blockchain. API3 es conocida por su transparencia y por proporcionar actualizaciones de datos justo a tiempo para contratos inteligentes individuales