Saltar al contenido
0%

¿Qué es un Oracle?

Alchemy team headshot

Escrito por Alchemy

Publicado el 22 de marzo de 20225 min de lectura

Introducción

Los contratos inteligentes son programas que se autoejecutan cuando se cumplen ciertos eventos o condiciones. Estos eventos pueden ocurrir en la blockchain o fuera de ella. Por ejemplo, en un evento on-chain, un emisor podría enviar fondos a un contrato inteligente como colateral de un préstamo, lo que activaría el envío de un monto de préstamo. En un evento off-chain, un contrato inteligente podría necesitar una forma de obtener datos precisos sobre estos eventos para saber cuándo ejecutarse. Los oráculos conectan el mundo off-chain con los contratos inteligentes on-chain al actuar como fuente de datos para el contrato inteligente.

Diagrama de un oráculo conectando datos off-chain con contratos inteligentes on-chain
Source: https://www.leewayhertz.com/chainlink-solving-blockchain-oracle-problem/https://www.leewayhertz.com/chainlink-solving-blockchain-oracle-problem/

Cómo los desarrolladores usan los oráculos

La ventaja de usar un contrato inteligente es que no necesitamos un tercero que actúe como intermediario. El código determina los términos del contrato inteligente, y el código es ley. Estos términos pueden depender de eventos externos para que se cumpla una condición antes de que se ejecute una transacción. Por ejemplo, podemos usar un contrato inteligente para emitir un intercambio de tokens basado en el valor del Dólar estadounidense. Un contrato inteligente consultaría un oráculo para obtener el valor del Dólar estadounidense de alguna fuente externa y así saber cuándo realizar el intercambio.

Diagrama de un contrato inteligente consultando un oráculo de blockchain para obtener datos externos
Source: https://coin98insights.com/what-is-blockchain-oracle

Las finanzas descentralizadas (DeFi) son uno de los casos de uso más importantes para los oráculos. Los oráculos de precios brindan información sobre el valor de tokens y liquidez, que se usa para gestionar la posición financiera de un usuario. Los NFT (tokens no fungibles) pueden usar oráculos para obtener información sobre eventos externos de noticias, como resultados electorales, de modo que la apariencia del NFT cambie dinámicamente según esos resultados.

También podemos usar oráculos para fomentar comportamientos favorables a la sostenibilidad y la ciudadanía, recompensando a los usuarios con tokens al completar tareas o alcanzar ciertos objetivos. Por ejemplo, podríamos ofrecer tokens a los residentes de una ciudad por compensar emisiones de carbono.

Tipos de oráculos

Los oráculos pueden ser tanto software, como un servidor o base de datos, como hardware, como dispositivos IoT y sensores. Pueden ser servicios externos que proveen datos a múltiples aplicaciones y blockchains que se conectan a ellos.

Los proyectos también pueden crear oráculos internos para sus necesidades específicas. Un ejemplo de esto es Augur, una plataforma de apuestas descentralizada, que tiene un oráculo que provee los resultados de los eventos sobre los que se apuesta.

Descubre cómo Augur usa Alchemy para escalar su oráculo descentralizado y su protocolo peer to peer, y crear mejores experiencias de usuario.

Los oráculos son bidireccionales, lo que significa que pueden obtener datos del mundo real y también servir datos al mundo exterior sobre eventos on-chain. Las cerraduras inteligentes que se desbloquean según transacciones completadas son un ejemplo popular de cuándo se necesitan datos de eventos on-chain fuera de la cadena.

Además de comunicarse con el mundo exterior, los oráculos pueden habilitar comunicaciones entre distintas blockchains. Los desarrolladores pueden usar esto para conectar activos o activar acciones basadas en transacciones y eventos de una cadena hacia otra. Los oráculos también pueden ahorrar costos valiosos de cómputo al realizar cálculos, como la generación de números aleatorios, fuera de la cadena.

El problema del oráculo

Generalmente, el "problema del oráculo" surge cada vez que se discute el valor de los oráculos. Lo particular de construir sobre una blockchain es que los nodos deben llegar a un consenso sobre el estado de la blockchain. Esto significa que cada nodo debe poder tomar las mismas transacciones y eventos y obtener el mismo resultado que todos los demás nodos.

Un atacante podría cambiar los datos off-chain que obtiene un oráculo, o los datos podrían cambiar con el tiempo.

Por ejemplo, el valor del Dólar estadounidense puede cambiar con frecuencia en un mismo día. Si un contrato inteligente se ejecuta según este valor, el precio podría cambiar para cuando otro nodo realice el cálculo. Esto rompería el consenso entre los nodos, ya que el resultado esperado ya no sería el resultado real.

No solo existen posibles problemas sobre si los datos que provee el oráculo son precisos, sino que una fuente centralizada también puede ser hackeada o sufrir tiempo fuera de servicio. En estas situaciones, el contrato inteligente operará con datos corruptos o sin datos en absoluto. Dado que los contratos inteligentes no pueden modificarse y se autoejecutan, esto puede provocar daños irreversibles para las partes involucradas. Los oráculos deben abordar estos problemas si quieren ser proveedores de datos seguros y confiables para los contratos inteligentes.

La solución del oráculo

Un método popular para resolver el problema del oráculo es usar una blockchain en sí misma. Este enfoque se llama Red de Oráculos Descentralizada (DON, por sus siglas en inglés).

En una DON, en lugar de que los nodos lleguen a un consenso sobre un libro mayor de transacciones, cada nodo es un oráculo. Los nodos se encargan entonces de obtener datos independientes de distintas fuentes off-chain. Los datos de los nodos se agregan y se decide un valor de verdad.

Esto también resuelve el problema del tiempo de actividad de una fuente de datos, ya que el contrato inteligente seguirá pudiendo funcionar al haber múltiples fuentes de datos. Puedes ver una DON en acción aquí.

Diagrama de una red de oráculos descentralizada agregando datos de múltiples fuentes off-chain
Fuente: chain.link

Servicios de oráculos

La forma más común en que los desarrolladores usan oráculos es a través de un servicio de terceros. El primer y más popular servicio para esto es Chainlink. A través de Chainlink, los desarrolladores y proveedores de API pueden convertirse en operadores de nodos participantes al conectar su API a la red de Chainlink.

Chainlink otorga a los proveedores que operan estos oráculos identificadores on-chain, que pueden usar para gestionar y recompensar la reputación de los oráculos. Usar un token ERC677 incentiva a los proveedores a dar datos bien formateados y precisos, así como cualquier cómputo off-chain que realicen.

Otra red que está creciendo en popularidad es Band Protocol. Esta red también busca proveer fuentes confiables y seguras de datos externos, como Chainlink. De manera similar, existe también un token BAND para recompensar a los proveedores de datos por brindar buenos datos. La diferencia clave es que Band Protocol opera sobre Cosmos, en lugar de Ethereum, como medida de ahorro de costos.

Diagrama de una red de servicios de oráculos entregando datos externos a contratos inteligentes
Source: https://public.bnbstatic.com/static/research/static/images/projects/band-protocol/oraclescript.png

Cómo usar un oráculo

Podemos obtener datos de un oráculo ya sea mediante una solicitud a la API usando frameworks como el que provee Chainlink, o referenciando datos que un proveedor ya envió y que ahora existen on-chain. Podemos obtener estos datos referenciando el contrato inteligente que contiene esta información y dirección. Un uso común de este método está en el mundo de DeFi. Los contratos inteligentes contienen tasas de cambio que se actualizan regularmente, y otros contratos inteligentes pueden usar estos datos para realizar intercambios de tokens.

Conclusión

Para que los contratos inteligentes tengan alguna utilidad en el mundo real, necesitan tener acceso a lo que sucede en el mundo. Los oráculos son las ventanas de datos que los contratos inteligentes necesitan para reaccionar a eventos off-chain. Usar una fuente de datos centralizada en un entorno descentralizado como una blockchain no es ideal. Las DON resuelven muchos de los problemas que trae la centralización, brindando seguridad y estabilidad. A medida que estos servicios de oráculos se expandan e incorporen más proveedores, los oráculos jugarán un papel importante en el crecimiento de la tecnología blockchain y de los contratos inteligentes.

Background gradient

Construye magia blockchain

Alchemy combina los productos y herramientas de desarrollo Web3 más potentes con recursos, comunidad y un soporte legendario.