Si llevas un tiempo en este mundillo seguro que has oido la palabra oráculo o oracle. Estas entidades tan importantes son el componente principal de muchos de los grandes protocolos DeFi que conocemos como AAVE, Maker o Uniswap.
Los oráculos blockchain son entidades que conectan las blockchains a sistemas externos, facilitando así la ejecución de smart contracts (contratos inteligentes) basándose en datos externos provenientes del “mundo real”.
Los oráculos proporcionan una manera para que el ecosistema Web3 acceda a fuentes de datos ya existentes, a sistemas tradicionales, y computaciones/cálculos avanzados. Las redes de oráculos permiten la creación de contratos inteligentes híbridos, donde el código on-chain y la infraestructura off-chain se combinan para ofrecer servicios a aplicaciones descentralizadas (dApps) que reaccionan a eventos del mundo real e interaccionan con los sistemas tradicionales.
Off-chain → Blockchain → Off-chain
La limitación principal de los contratos inteligentes consiste en que no pueden interactuar con datos y sistemas existentes fuera del ecosistema nativo de la blockchain. Los recursos externos a la blockchain se denominan off-chain, mientras que la información almacenada en la blockchain se llama on-chain. El hecho de que estén así de aisladas es lo que más valor proporciona a las blockchains como el consenso en la validación de transacciones de los usuarios, la prevención de los ataques de doble gasto (double-spending attacks) y la mitigación de tiempo de inactividad de la red. La manera segura que tienen las blockchains de operar con sistemas off-chain son los oráculos, una pieza de infraestructura que actúa de puente entre ambas.
Desconexión entre mundo real y blockchains
La mayoría de dApps DeFi requieren información del mundo real y de eventos que ocurren off-chain. Por tanto, los oráculos expanden el tipo de “acuerdos digitales” (smart contracts) que pueden ofrecer las blockchains proporcionándoles un acceso universal a recursos off-chain y manteniendo al mismo tiempo las propiedades más importantes de una blockchain. Dado que la información proporcionada por los oráculos a las blockchains determina directamente el resultado del contrato inteligente, es vital que el mecanismo por el que opera el oráculo sea correcto si el contrato ha de operar exactamente como se espera.
Si los oráculos blockchain utilizan una entidad centralizada para transmitir la información a un smart contract introducen un posible único fallo, que además va en contra del propósito principal de una aplicación blockchain descentralizada. Por ejemplo, si ese único oráculo fallara o se desconectara, entonces el contrato inteligente no tendría acceso a la información requerida para la ejecución o se ejecutaría de manera errónea basado en información desactualizada.
Si el oráculo está corrupto, la información proporcionada puede ser incorrecta y puede llevar a resultados muy equivocados. Esto se refiere comúnmente como el problema “basura dentro, basura fuera” (garbage in, garbage out), donde datos entrantes erróneos llevan a malos datos salientes. Dada la irreversibilidad de las transacciones en una blockchain, que los resultados de un contrato inteligente dependan de información errónea puede implicar que los fondos de los usuarios se pierdan para siempre. Es por esto que los oráculos centralizados sean un claro NO para aplicaciones blockchain basadas en contratos inteligentes.
El problema de los oráculos se soluciona con las Redes Descentralizadas de Oráculos (o DONs por sus siglas en inglés), que combinan varios nodos-oráculos independientes y múltiples fuentes de información para establecer descentralización end-to-end.
Dada la cantidad de recursos distintos disponibles off-chain, hay diversos tipos de oráculos. Por lo general, todos involucran alguna combinación de obtención, validación, computación y envío de datos a un destino.