¿Qué son los oráculos de blockchain?
Los oráculos de blockchain son entidades que conectan blockchains con sistemas externos, permitiendo que los contratos inteligentes se ejecuten según entradas y salidas del mundo real. Los oráculos brindan al ecosistema Web 3.0 un método para conectarse a sistemas heredados existentes, fuentes de datos y cálculos avanzados.
Las redes de oráculos descentralizados (DON, por sus siglas en inglés) permiten la implementación de contratos inteligentes híbridos, en los que se combinan la infraestructura off-chain y el código on-chain para proporcionar aplicaciones descentralizadas complejas (DApps) que reaccionan a eventos del mundo real e interactúan con sistemas tradicionales.
Supongamos que Alice y Bob desean hacer una apuesta sobre el resultado de una carrera de caballos. El total de $80 se mantiene en custodia mediante un contrato inteligente, con Alice apostando $50 por el equipo X y Bob $30 por el equipo Y. ¿Cómo sabe el contrato inteligente a quién darle el dinero cuando termine el juego? La solución es que se necesita un mecanismo de oráculo para recuperar resultados precisos de los juegos off-chain y entregarlos de manera segura y confiable a la cadena.
Debido al aspecto de libro distribuido de la blockchain, cada nodo en la red debe obtener el mismo resultado dado la misma entrada. Por ejemplo, si un nodo intenta validar la transacción de otro nodo, obtendrá un resultado diferente. Esta arquitectura fue creada para ser determinista.
El consenso es la técnica para llegar a un acuerdo sobre un valor de datos en la blockchain, y se requiere determinismo para que los nodos lleguen a un consenso. Algunos de ellos pueden resultarte familiares, como prueba de trabajo (PoW) con el consenso Nakamoto y prueba de participación (PoS) con el consenso bizantino. Uno de los principales factores que hacen funcionar la blockchain es el consenso.
Sin embargo, el mundo de la blockchain necesita conectarse con el mundo real. Para tener DeFi, necesitamos obtener el precio de Ether y otras criptomonedas en un contrato. Necesitamos datos meteorológicos para proporcionar un seguro descentralizado y sin confianza. Para utilizar la blockchain para uno de sus usos más esenciales, los contratos inteligentes, necesitamos datos. Entonces, dado este problema, ¿cómo conectamos los mundos?
Esta guía tiene como objetivo explicar qué hacen los oráculos de blockchain, el problema de los oráculos de blockchain e introducir varios proyectos de oráculos de blockchain.
Problema de los oráculos de blockchain
El dilema de los oráculos de blockchain resalta una restricción clave de los contratos inteligentes, es decir, no pueden conectarse de ninguna manera con datos y sistemas fuera de su contexto nativo de blockchain. Los recursos externos se denominan "off-chain", mientras que los datos actualmente registrados en la cadena se denominan "en la cadena" (on-chain).
Las blockchains logran sus cualidades más beneficiosas al estar deliberadamente separadas de sistemas externos, como la prevención de ataques de doble gasto, un fuerte consenso sobre la autenticidad de las transacciones de los usuarios y la reducción del tiempo de inactividad de la red. Para interactuar de manera segura con sistemas desde una blockchain y para cerrar la brecha entre dos entornos, necesitarás una infraestructura adicional llamada "oráculo".
Dado que la gran mayoría de los casos de uso de contratos inteligentes, como DeFi, requieren conocimiento de datos del mundo real y eventos que ocurren off-chain, resolver el problema del oráculo es fundamental. Como resultado, los oráculos amplían los tipos de contratos digitales que las blockchains pueden habilitar al proporcionar una puerta de enlace universal a recursos off-chain, al tiempo que mantienen las cualidades clave de seguridad de la blockchain.
Los precios de activos para finanzas, la verificación de identidad para el gobierno, la aleatoriedad para los juegos, la información meteorológica para seguros son solo algunas de las industrias que se benefician de la integración de oráculos con contratos inteligentes.
¿Qué hacen los oráculos de blockchain?
Cualquier dispositivo o entidad que conecta una blockchain determinista a datos off-chain se denomina oráculo de blockchain. En estos oráculos, cada entrada de datos se dirige a través de una transacción externa.
Sin embargo, podemos estar seguros de que la blockchain contiene toda la información necesaria para autenticarse de esta manera. Los oráculos son considerados middleware de blockchain porque sirven como un vínculo entre los dos mundos.
Chainlink es el estándar de la industria para oráculos descentralizados porque supera tanto los problemas de acceso a datos externos como la centralización de los contratos inteligentes. Entonces, ¿qué son los oráculos de Chainlink?
Chainlink es una red de oráculos descentralizada que suministra datos del mundo real a contratos inteligentes de blockchain. Los tokens LINK son tokens de activos digitales utilizados para pagar servicios de red.
Por otro lado, un solo oráculo centralizado causa el problema particular que se supone que resuelve un contrato inteligente seguro y descentralizado en blockchain: un único punto de falla. Entonces, ¿cómo sabrías si tus datos son precisos si el oráculo está defectuoso o comprometido? ¿De qué sirve un contrato inteligente seguro y confiable en la blockchain si los datos en los que se basa son sospechosos?
Este problema lo resuelve Chainlink (una red descentralizada de nodos), que utiliza oráculos para proporcionar datos e información de fuentes off-chain a contratos inteligentes en la cadena. Esta técnica, junto con otras tecnologías seguras, elimina las dificultades de confiabilidad que podrían surgir si solo se utiliza una fuente centralizada.
Chainlink es agnóstico a la blockchain ya que conecta todos los entornos de blockchain públicos y privados importantes utilizando un solo marco, que proporciona un nivel de abstracción común para la comunicación entre redes.
Por lo tanto, puedes consultar datos descentralizados en la cadena que ya se han extraído del mundo real y se han recopilado utilizando servicios como Chainlink, que es similar a una biblioteca pública, excepto por datos descentralizados. Incluso puedes crear tus propias redes de oráculos modulares para obtener la información específica que necesitas. Además, puedes realizar cálculos off-chain y transferir datos al mundo real.
Otros oráculos de blockchain líderes son Witnet, Paralink, Provable y Dos.Network. Estos servicios proporcionan oráculos compuestos por un contrato inteligente y algunos componentes off-chain que pueden consultar las interfaces de usuario de las aplicaciones (API) y luego enviar transacciones para actualizar regularmente los datos en el contrato inteligente.
Tipos de oráculos de blockchain
Los oráculos proporcionan a una blockchain o a un contrato inteligente la capacidad de comunicarse con datos externos. En lugar de eso, sirven como una interfaz con el mundo off-chain. En muchas circunstancias, especialmente cuando los contratos inteligentes están vinculados a eventos del mundo real, los datos externos deben transmitirse al sistema de blockchain cerrado. Los oráculos cripto consultan, verifican y autentican datos externos, que luego transmiten al sistema cerrado. Después de eso, los datos validados se utilizan para validar un contrato inteligente.
Oráculos de hardware y software
Aunque no siempre es el caso, la mayoría de los oráculos cripto analizan datos digitales. Los oráculos de hardware proporcionan datos del mundo físico, mientras que los oráculos de software proporcionan datos de fuentes digitales como sitios web, servidores o bases de datos. Además, los oráculos de hardware pueden proporcionar y transmitir información de sensores de movimiento de cámaras y sensores de identificación por radiofrecuencia (RFID). Los oráculos de software pueden proporcionar datos en tiempo real, como tasas de cambio, variaciones de precios e información de viajes.
Oráculos entrantes y salientes
Los oráculos establecen un canal de comunicación bidireccional con las cadenas de bloques, enviando datos hacia adentro y hacia afuera. Mientras que los oráculos salientes pueden enviar datos de la blockchain al mundo exterior, los oráculos entrantes son más propensos a enviar datos externos, es decir, del mundo real, a la blockchain. Además, los datos importados pueden representar casi cualquier cosa, desde fluctuaciones en el precio de un activo hasta condiciones meteorológicas o verificación de pagos completados.
Para los oráculos entrantes, un escenario programable común podría ser: si un activo alcanza un precio específico, realizar una orden de compra. Por otro lado, los oráculos salientes alertan al mundo exterior de un evento que ocurrió en la cadena.
Oráculos centralizados y descentralizados
Un oráculo centralizado es gestionado por una única entidad y sirve como única fuente de datos para el contrato inteligente. El uso de una sola fuente de información puede ser peligroso porque la efectividad del contrato depende únicamente de la entidad a cargo del oráculo.
La intervención hostil de un actor malintencionado también afectará directamente al contrato inteligente. El problema fundamental con los oráculos centralizados es que tienen un único punto de fallo, lo que hace que los contratos sean más vulnerables a ataques y debilidades.
Algunos de los objetivos de los oráculos descentralizados son similares a los de las cadenas de bloques públicas, como minimizar el riesgo de contraparte. Por ejemplo, hacen que la información entregada a los contratos inteligentes sea más confiable al no depender de una única fuente de verdad.
El contrato inteligente consulta varios oráculos para evaluar la validez y precisión de los datos; por eso los oráculos descentralizados también se conocen como oráculos de consenso. Otros proyectos de oráculos de blockchain pueden proporcionar servicios de oráculos descentralizados a otras cadenas de bloques.
Oráculos humanos
En ocasiones, personas con conocimientos especializados en un sector específico pueden actuar como oráculos. Pueden recopilar información de diversas fuentes, verificar su legitimidad y convertirla en contratos inteligentes. Debido a que los oráculos humanos pueden utilizar la criptografía para verificar su identidad, las posibilidades de que un estafador se haga pasar por ellos y proporcione datos manipulados son pequeñas.
Oráculos específicos de contrato
Estos oráculos están diseñados para funcionar con contratos inteligentes individuales. Si el desarrollador tiene la intención de implementar numerosos contratos inteligentes, será necesario construir varios oráculos específicos de contrato.
Los oráculos específicos de contrato no valen el tiempo y el esfuerzo que lleva mantenerlos actualizados. En su lugar, son inconvenientes y solo deben utilizarse en situaciones específicas.
Oráculos de computación
Hasta ahora, solo hemos hablado de oráculos en términos de búsqueda y suministro de datos (también conocidos como oráculos de portador de datos o oráculos automatizados). Sin embargo, los oráculos pueden utilizarse para realizar cualquier solución de cálculo "off-chain", lo cual es especialmente beneficioso dada la limitación inherente de gas de bloque de Ethereum y el costo de computación muy alto.
En lugar de simplemente transmitir los resultados de una consulta, los oráculos de cálculo pueden utilizarse para realizar cálculos sobre un conjunto de entradas y devolver un resultado calculado que de otra manera sería imposible de calcular en la cadena. Por ejemplo, para estimar el rendimiento de un contrato de bono, se podría utilizar un oráculo de cálculo para realizar un cálculo de regresión computacionalmente complejo.
Patrones de diseño de oráculos
Por definición, todos los oráculos discutidos desempeñan algunos roles clave. Estas capacidades incluyen la capacidad de:
- Recopilar datos de una fuente no relacionada con la blockchain.
- Enviar los datos a la cadena mediante un mensaje firmado.
- Hacer que los datos sean accesibles almacenándolos en el almacenamiento de un contrato inteligente.
Una vez que los datos están almacenados en el almacenamiento de un contrato inteligente, otros acuerdos automatizados pueden acceder a ellos mediante llamadas de mensaje que invocan la función "recuperar" del contrato inteligente del oráculo. También puede ser "llamado" directamente por nodos Ethereum o clientes habilitados para la red mediante una "mirada" al almacenamiento del oráculo.
Las tres principales formas de configurar un oráculo se pueden categorizar de la siguiente manera:
Lectura inmediata
Los oráculos de lectura inmediata proporcionan información que solo se necesita para tomar una decisión rápida, como "¿tiene este estudiante más de 25 años?" Aquellos que desean consultar este tipo de datos generalmente lo hacen de manera "justo a tiempo", lo que significa que la búsqueda se realiza solo cuando se necesita la información.
Ejemplos incluyen códigos de marcación, certificados académicos, membresías institucionales, identificación en aeropuertos y otros oráculos.
Publicar-suscribir
Un oráculo que proporciona efectivamente un servicio de transmisión para datos que probablemente cambien (quizás tanto regular como frecuentemente) es consultado por un contrato inteligente on-chain o monitoreado en busca de actualizaciones por un demonio off-chain. Datos meteorológicos, feeds de precios, estadísticas económicas o sociales y datos de tráfico son solo algunos ejemplos de la configuración de publicación-suscripción.
Solicitud-respuesta
La categoría más desafiante es la solicitud-respuesta: aquí, el espacio de datos es demasiado grande para almacenarse en un contrato inteligente, y se espera que los usuarios utilicen solo una pequeña parte de toda la información a la vez. También es una estrategia comercial viable para los proveedores de datos.
En la práctica, un oráculo como este puede implementarse como un sistema de contratos inteligentes on-chain e infraestructura off-chain para monitorear solicitudes y recuperar y devolver datos. Una solicitud de datos desde una aplicación descentralizada suele ser un procedimiento asíncrono con múltiples pasos, como sigue:
Aplicaciones de los oráculos en las DApps
Oracle es un mecanismo para cerrar la brecha entre el mundo off-chain y los contratos inteligentes utilizados por muchas DApps en el mercado. A continuación, se presentan algunas instancias de datos que los oráculos pueden proporcionar:
-
Datos de tiempo e intervalo se utilizan para activar eventos basados en mediciones precisas del tiempo.
-
Datos de los mercados financieros, como la fijación de precios de paquetes de activos y valores tokenizados.
-
Datos de referencia para comparación, como tasas de interés, incluidos en derivados financieros inteligentes.
-
Datos meteorológicos, por ejemplo, se utilizan para calcular primas de seguros basadas en pronósticos meteorológicos.
-
Datos de geolocalización, como los utilizados en el seguimiento de la cadena de suministro.
-
Para contratos de seguros, se requiere la verificación de daños.
-
Eventos deportivos se utilizan para resolver mercados de predicciones y contratos de deportes de fantasía.
-
Estadísticas de vuelos, como las utilizadas por grupos y clubes para agrupar boletos de avión.
Cuidado con las preocupaciones de seguridad
Los oráculos desempeñan un papel fundamental en la ejecución de contratos inteligentes al incorporar datos externos en la ecuación. Por otro lado, los oráculos plantean un gran peligro, ya que, si se trata de fuentes de confianza y pueden ser pirateados, pueden poner en peligro la ejecución de los contratos inteligentes que alimentan.
En general, al considerar el empleo de un oráculo, el modelo de confianza debe ser cuidadosamente considerado. Si presumimos que el oráculo puede ser de confianza, podríamos estar sacrificando la seguridad del contrato inteligente al exponerlo a entradas potencialmente incorrectas. Sin embargo, si las suposiciones de seguridad se consideran cuidadosamente, los oráculos pueden ser valiosos.
Algunas de estas preocupaciones pueden abordarse mediante oráculos descentralizados, proporcionando a los contratos inteligentes de Ethereum datos externos que no se consideran de confianza. Debes seleccionar cuidadosamente antes de comenzar a explorar el puente entre Ethereum y el mundo real a través de los oráculos.