Goracle: importancia del modelo “Oracle” para blockchain

Los oracles (oráculos), una infraestructura blockchain de terceros, proporcionan datos externos a los contratos inteligentes. Sirven como un punto de conexión entre la cadena de bloques y el resto de Internet. Los oráculos son componentes esenciales del ecosistema blockchain, lo que permite que los contratos inteligentes funcionen de formas novedosas y emocionantes.

Los oráculos

Un oráculo en una cadena de bloques no es la fuente de datos, sino una capa que consulta, verifica y autentica otras fuentes de datos y luego envía esa información al resto de la cadena. La información, como la finalización exitosa de un pago en línea o la temperatura recopilada por un sensor, es solo un ejemplo de datos de Oracle.

En las siguientes secciones, discutiremos la arquitectura del sistema y los patrones de diseño. Pasamos al oráculo humano y su función al decidir una respuesta a una pregunta específica para resolver el verdadero problema. Finalizamos el estudio proporcionando algunos ejemplos del mundo real sobre cómo se pueden utilizar los oráculos.

Limitaciones de “Blockchain Oracle”

Debido a que los contratos inteligentes no pueden acceder a datos externos, no se pueden usar para regular cómo se implementa la lógica empresarial. En cambio, los contratos inteligentes pueden acceder a datos externos mediante el uso de oráculos.

Un contrato inteligente puede usar un oráculo para obtener datos de fuentes distintas a la cadena de bloques. Por ejemplo, Oracle puede proporcionar varios tipos de datos según el negocio y las necesidades específicas. En esta investigación se examinan los oráculos en la cadena de bloques.

Tipos de Blockchain Oracle

Se utilizan varios criterios distintos para clasificar los oráculos de blockchain:

Software, tecnología o datos generados por humanos.

¿Cuál es el flujo de información: entrante o saliente? ¿Se gestiona de forma centralizada o descentralizada? Se pueden encontrar diferentes tipos de oráculos. Los oráculos de software de entrada centralizados, como los que recopilan información del sitio web de una empresa, son un ejemplo.

Oráculos de software

Los oráculos deterministas (oráculos de software) se conectan con fuentes de información en línea y las transmiten a la cadena de bloques. Por ejemplo, una base de datos, un servidor o un sitio web en línea pueden ser una fuente de esta información. La transmisión de información en tiempo real es posible porque los oráculos de software están conectados a través de Internet, lo que permite el suministro y la transmisión de información en tiempo real. Son una de las formas más frecuentes de oráculos de blockchain.

Los tipos de cambio, los valores de los activos digitales, la información de vuelos en tiempo real y cualquier otro tipo de información que deseemos, pueden ser entregados por oráculos de software.

B. Oráculos de hardware

Algunos contratos inteligentes requieren una conexión con el mundo exterior. Por lo tanto, pueden acceder a datos del mundo físico utilizando oráculos de hardware. Además, muchos de estos dispositivos pueden recopilar y transmitir datos, como etiquetas RFID y lectores de códigos de barras/QR, que luego podrían usarse para identificar productos.

Los oráculos de hardware «traducen» los eventos del mundo real en valores digitales que los contratos inteligentes pueden comprender. Por ejemplo, en un muelle de carga, un sensor puede verificar si ha llegado un vehículo que transporta productos. Envía los datos a un contrato inteligente, que posteriormente puede utilizar para tomar decisiones. Supply Chain es un ejemplo de un oráculo de hardware en acción.

C. Oráculos humanos

En algunos casos, los oráculos pueden ser personas con experiencia específica, en un sector en particular. Los datos recopilados de varias fuentes se pueden usar para crear contratos inteligentes después de que se haya verificado que son válidos. Dado que los oráculos humanos pueden usar criptografía para autenticar su propia identidad, es poco probable que los jugadores maliciosos proporcionen datos distorsionados haciéndose pasar por ellos.

Los oráculos humanos no solo son capaces de transmitir datos predecibles, sino que también son capaces de responder a preguntas aleatorias, lo que puede ser difícil de lograr para una computadora. Por ejemplo, un programa informático automatizado no puede responder preguntas sobre datos no estructurados, como «¿ganó el candidato X las elecciones canadienses?» o «¿el equipo de baloncesto XY venció al equipo de baloncesto YZ?»

Ciertos contratos inteligentes y aplicaciones descentralizadas requieren oráculos humanos que respondan preguntas aleatorias y proporcionen información manual.

D. Oráculos de computación

Acabamos de hablar sobre los oráculos para obtener y dar datos hasta ahora. También es posible ejecutar soluciones informáticas «fuera de la cadena» arbitrarias utilizando oráculos. Esta característica es particularmente beneficiosa a la luz de la restricción de gas de bloque intrínseco de Ethereum y el alto costo de cómputo.

Es posible calcular entradas y entregar resultados computados que pueden haber sido imposibles de calcular directamente en la cadena de bloques, usando oráculos de computación. Por ejemplo, se puede usar un oráculo de cálculo para realizar un cálculo de regresión computacionalmente complejo para determinar el rendimiento de un contrato de bonos.

E. Oráculos entrantes/salientes

Los contratos inteligentes usan oráculos entrantes para recibir datos del mundo exterior, mientras que los oráculos salientes hacen lo contrario, enviando datos de regreso al mundo real.

Los oráculos que proporcionan contratos inteligentes a través de sensores, son ejemplos de oráculos entrantes. Una cerradura inteligente es un ejemplo de un oráculo de salida. Cuando se envía dinero a una dirección específica, el contrato inteligente utiliza un oráculo de salida para notificar al mecanismo de bloqueo inteligente que se han recibido los fondos.

F. Oráculos específicos del contrato

Los oráculos que solo están destinados a ser utilizados por un solo contrato inteligente son oráculos específicos del contrato. Para decirlo de otra manera, si desea implementar muchos contratos inteligentes, deberá construir oráculos para cada uno de ellos. Este oráculo requiere mucho tiempo y dinero para seguir funcionando. Además, esta estrategia puede resultar complicada para las empresas que necesitan recopilar datos de varias fuentes. También es posible personalizar oráculos específicos del contrato para casos de uso específicos, ya que pueden construirse desde cero para adaptarse a un caso de uso particular.

G. Oráculos basados ​​en el consenso

Cuando se utilizan oráculos basados ​​en el consenso, no existe una única fuente de información. Los oráculos descentralizados se pueden crear y utilizar de diversas formas. El sistema de calificación de un mercado de predicción sería un buen ejemplo. Se puede utilizar una combinación de oráculos para disminuir el riesgo y aumentar la seguridad. Podría, por ejemplo, tomar la media de cinco oráculos diferentes. También es posible predecir el resultado de una situación con 5 a 7 oráculos.

Como resultado del tiempo que lleva obtener el consenso, los oráculos basados ​​en el mismo tienen un tiempo de respuesta más lento. Un oráculo basado en el consenso puede ser una opción algo más segura si no podemos confiar en un oráculo que proporcione la información que necesitamos, o si no estamos seguros de que sea correcta en todo momento. Con el dinero o las consecuencias legales, es aún más importante ser cauteloso.

Oráculos centralizados/descentralizados

La única fuente de información para un contrato inteligente es un oráculo centralizado, propiedad de una sola organización. El éxito del contrato depende de la entidad a cargo del oráculo, por lo que es peligroso confiar en una sola fuente de información. Cualquier intervención dañina de una parte maliciosa también afectará el contrato inteligente. Los oráculos centralizados tienen un único punto de falla, lo que hace que los contratos sean más vulnerables a debilidades y ataques.

En cierto modo, los oráculos descentralizados y las cadenas de bloques públicas tienen mucho en común, incluido el objetivo de minimizar el riesgo de contraparte. Lo hacen al no depender de una sola fuente de verdad, lo que aumenta la confiabilidad de la información entregada a los contratos inteligentes. Los oráculos descentralizados pueden denominarse oráculos de consenso, ya que el contrato inteligente consulta muchos oráculos para verificar la autenticidad y corrección de los datos.

Ciertas iniciativas de blockchain para otros ofrecen servicios de Oracle descentralizados. Por ejemplo, los oráculos descentralizados también pueden ser valiosos en los mercados de predicción, donde la autenticidad de un resultado particular puede validarse por consenso social. Los oráculos descentralizados, como las redes blockchain sin confianza, no eliminan la seguridad, sino que la dispersan entre una gran cantidad de miembros, precisamente como redes blockchain.

Oraclize («Cosas comprobables»)

Oraclize, también conocido como Provable Things, es uno de los oráculos más utilizados en la era actual de la cadena de bloques. Todos los días, Provable atiende cientos de solicitudes en Ethereum, R3 Corda y Hyperledger Fabric, así como en EOS.

Como se dijo anteriormente, un oráculo es una parte que ofrece datos en el entorno de la cadena de bloques. Dado que los contratos inteligentes no pueden acceder y recuperar datos directamente, requieren:

  • Entradas de precios para la gestión financiera y de activos.
  • Datos transaccionales que se pueden utilizar de igual a igual.
  • Números arbitrarios para uso en juegos/apuestas.

Las aplicaciones de cadena de bloques son atractivas y útiles, en primer lugar debido a su seguridad y modelo de confianza reducido, por lo que no es aceptable confiar en un nuevo intermediario de confianza como un oráculo.

De acuerdo con un método, la acción dependiente de los datos solo se puede realizar si muchas partes que no son confiables o parcialmente confiables, han entregado una respuesta similar o una que se encuentra dentro de parámetros específicos. Un sistema Oracle descentralizado se puede encontrar en este tipo de sistema. Esta estrategia, sin embargo, tiene importantes inconvenientes:

Para que esto funcione, debe haber un estándar de formato de datos predeterminado.

Es intrínsecamente ineficiente: todas las partes involucradas cobrarán un precio y cada solicitud llevará tiempo para recibir un número razonable de respuestas.

Como alternativa, el enfoque de Provable (Oraclize) demuestra la autenticidad e integridad de los datos recuperados de la fuente de datos original. Esto se realiza incluyendo un documento de prueba de autenticidad con los datos devueltos. Se pueden usar diferentes tecnologías, como máquinas virtuales auditables y entornos de ejecución confiables, para probar la autenticidad.

La siguiente solución resuelve perfectamente el problema del oráculo:

No es necesario que los creadores y consumidores de aplicaciones de blockchain confíen en Provable; el modelo de seguridad se conserva.

Las tecnologías Blockchain no necesitan proveedores de datos para alterar sus servicios de ninguna manera. Los sitios web y las API pueden proporcionar datos directamente a los contratos inteligentes.

El protocolo de cadena de bloques privado o público se puede incorporar con el motor comprobable.

Al desarrollar el servicio, el equipo de Provable descubrió que la noción de pruebas de autenticidad podría aplicarse en muchos más contextos de los que habían pensado inicialmente. Por ejemplo, los usuarios de aplicaciones de apuestas convencionales también pueden beneficiarse del uso de la fuente de datos aleatorios comprobables, garantizando que los juegos sigan siendo justos.

Tanto para las aplicaciones de cadena de bloques como para las que no lo son, Provable Engine sirve como la columna vertebral del servicio «Si esto, entonces aquello» se refleja en la lógica. Esto implica que si se cumplen ciertos criterios, seguirá un conjunto específico de instrucciones. En otras palabras, podría seguir comprobando si una condición es verdadera y solo actuar cuando lo sea. El motor se puede utilizar en varios entornos con esta versatilidad, incluso más allá del entorno de la cadena de bloques.

Hay muchos más usos para las pruebas de autenticidad de los que el equipo de Provable había anticipado inicialmente mientras desarrollaba el servicio. Por ejemplo, se puede utilizar una fuente de datos aleatoria comprobable, incluso en aplicaciones de juegos de azar clásicas para garantizar que el proceso sea siempre justo.

Tanto las aplicaciones basadas en blockchain como las que no, pueden usar los servicios de Provable Engine, replicando un modelo lógico «If This Then That» en el lado interno. Suponiendo que se cumplan estos requisitos, llevará a cabo una secuencia de acciones preprogramadas. Puede, por ejemplo, verificar una condición con frecuencia y solo proporcionar datos o ejecutar una acción si se cumple el requisito. La versatilidad del motor permite su uso en una amplia gama de escenarios, incluso fuera de la cadena de bloques. Una solicitud de datos legítima a Provable debe incluir los siguientes parámetros, ya sea que se realice utilizando la integración nativa de blockchain o la API HTTP:

  • Un tipo de origen de datos.
  • Una consulta.
  • Opcionalmente, un tipo de prueba de autenticidad.

Goracle: el milagro de Algorand

No hay muchas cadenas de bloques que puedan afirmar haber resuelto el trilema de las cadenas de bloques, pero la cadena Algorand hace precisamente eso. Uno de los favoritos de las aplicaciones gubernamentales e institucionales, incluidas las CBDC, fue creado por el profesor del MIT y premio Nobel Silvio Micali.

A los desarrolladores de aplicaciones les encanta por sus bajos costos de red y tiempos de transacción rápidos, especialmente cuando se compara con Ethereum, su mayor competidor, que tiene tarifas de transacción altas y velocidades de transacción lentas. La ventaja de ser el primero en moverse de Ethereum se erosionará rápidamente, y Algorand es uno de sus principales desafíos.

Metodología de desarrollo de Oracle de Goracle

Cuando un proveedor de fuentes envía un punto final de API a Goracle, lanzará nodos distribuidos que realizarán llamadas a la API. Luego, se utilizará un contrato inteligente para almacenar todos los datos que los puntos finales han proporcionado, y las aplicaciones de Algorand podrán pagar un cargo para acceder a los datos. El token de Goracle, GORA, lo utilizan los corredores de nodos, los proveedores de fuentes y otras aplicaciones.

Una descripción general de Goracle.

Cuando se trata de un contrato de cadena inteligente, Goracle hyper se enfoca en usar la menor cantidad de infraestructura posible, mientras mantiene la precisión y puntualidad de los datos del mundo real (suficiente para mover datos y asegurar el sistema). Un objetivo principal de Goracle es garantizar que los procesos de recopilación y agregación de datos estén tan descentralizados como sea posible. Las partes interesadas más importantes de Goracle incluyen:

  • Proveedores de fuentes: las fuentes de datos fuera de la cadena son proporcionadas por proveedores de fuentes, que obtienen su información de una variedad de fuentes confiables.
  • Ejecutores de nodos: un ejecutor de nodos (NR) llama a la API del proveedor de fuentes para recuperar datos. En un protocolo de clasificación criptográfica, los miembros del nodo se seleccionan para proponer, votar y confirmar los siguientes valores que se agregarán al contrato inteligente de fuente.
  • Consumidores de feeds: estos son los contratos inteligentes que utilizarán los valores de los proveedores de feeds.

Todos los demás: también conocidos como espectadores, pueden ver transmisiones en vivo e informar FP malos o maliciosos para obtener recompensas. También pueden votar en informes anteriores, y aquellos que votaron e informaron correctamente reciben recompensas después de cumplir con ciertos criterios (o pierden su participación por informes incorrectos).

Programa de distribución de recompensas

Los valores de cada proveedor de Goracle están disponibles en Internet. Hay una recompensa por informar un nodo malicioso en estos datos, a los que pueden acceder personas reales. Los Algos deben apostarse para ser elegibles, y si se realizan informes fraudulentos, esos Algos serán incautados.

En el sitio web del equipo, hay una hoja de ruta bien definida. El equipo tiene la intención de traer varios Node Runners y proveedores de Feed. Además, los «cazarrecompensas» dedicados tendrán la oportunidad de ver si se ha filtrado algún dato incorrecto.

Eslabón de la cadena

Existe un único punto de falla en la red Ethereum debido a los oráculos centralizados, incluso si son suficientes para muchas aplicaciones. Se han propuesto de varias maneras oráculos descentralizados para garantizar la disponibilidad de datos y crear una red de proveedores de datos independientes, con un mecanismo de recopilación de datos en cadena.

La función principal de ChainLink es conectar los mundos dentro y fuera de la cadena. Sin embargo, ChainLink planea habilitar una amplia gama de redes de contratos inteligentes, incluido Ethereum, lo que permite interacciones fuera de la cadena y entre cadenas. Dentro y fuera de la cadena, ChainLink ha sido diseñado para ser flexible.

Como resultado, es posible actualizar cualquier parte del sistema ChainLink cuando surgen nuevos enfoques e implementaciones competitivas.

Arquitectura en cadena

Usando el término «solicitud de contratos» y la denotación «USER-SC», los nodos de ChainLink funcionan como un «servicio de Oracle», respondiendo a solicitudes de datos o consultas de o en nombre de los contratos de los usuarios. Por diseño, la interfaz en cadena CHAINLINK-SC de ChainLink para solicitar contratos, es un contrato en cadena.

Hay tres contratos principales en la cadena de ChainLink detrás de CHAINLINK-SC:

  • Contrato de reputación.
  • Contrato de igualación de pedidos.
  • Contrato de agregación.

El contrato de reputación realiza un seguimiento de los indicadores de rendimiento del proveedor de servicios de Oracle. Acepta un acuerdo de nivel de servicio (SLA) propuesto y registra los parámetros del SLA, luego recopila las ofertas de los proveedores de Oracle. Posteriormente, utilizando el contrato de reputación, se finaliza el SLA de Oracle. Finalmente, el contrato de agregación recopila las respuestas de los proveedores de Oracle de ChainLink y genera el resultado agregado final de la consulta.

El contrato de reputación también recibe métricas del proveedor de Oracle. La arquitectura modular de los contratos de ChainLink hace posible que los usuarios los personalicen o reemplacen, según sea necesario. Hay tres fases en el proceso en cadena:

  • Selección de oráculo.
  • Reporte de datos.
  • Agregación de resultados.

Arquitectura fuera de la cadena

Los nodos Oracle de ChainLink ahora están conectados a la red Ethereum, pero el equipo de ChainLink planea admitir todas las plataformas de contratos inteligentes más populares en el futuro. Estos nodos recopilan respuestas fuera de la cadena, por su cuenta. Luego, se entrega una respuesta global al contrato USER-SC después de que las respuestas de cada encuestado se hayan agregado a través de uno de los muchos procesos de consenso diferentes. Las interacciones estándar de blockchain, la programación y las conexiones de recursos externos son manejadas por la implementación central de código abierto de los nodos ChainLink.

Se pueden proporcionar servicios adicionales fuera de la cadena, agregando extensiones de software conocidas como adaptadores externos instalados en los nodos. Los nodos de ChainLink se han implementado previamente en entornos comerciales, junto con cadenas de bloques públicas y redes privadas; la red ChainLink tiene como objetivo permitir que los nodos se ejecuten de forma descentralizada.

Como columna vertebral de la red, ChainLink Core administra la comunicación con la cadena de bloques y programa y asigna el trabajo entre sus muchos proveedores de servicios externos. Las asignaciones se estructuran mediante nodos ChainLink. En lugar de un solo trabajo grande, cada tarea se divide en una serie de tareas más pequeñas, llamadas subtareas, que luego se manejan secuencialmente. Cada subtarea ejecuta un procedimiento específico antes de enviar su resultado a la siguiente subtarea y llegar a un resultado final. Las consultas HTTP, el análisis JSON y la traducción a otros formatos de cadena de bloques están incluidos en el software de nodo de ChainLink.

Las subtareas personalizadas se pueden establecer creando adaptadores, además de los tipos de subtareas predefinidas. Un adaptador es un servicio que proporciona una API REST limitada. Los programas en cualquier lenguaje de programación pueden implementarse fácilmente, agregando una breve API intermediaria antes del programa. Esto es posible ya que los adaptadores se modelan como servicios.

La interacción con las API de varios pasos se puede dividir en procesos más pequeños y manejables mediante parámetros.

Se pondrán a disposición de la comunidad muchos adaptadores para que los miembros de la misma, puedan probar y administrar los servicios. Debido a que tantas compañías diferentes están creando diversos adaptadores, todos deben funcionar juntos sin problemas.

Para describir qué entradas requiere cada adaptador y cómo deben presentarse, ChainLink actualmente utiliza un sistema de esquema basado en JSON Schema. Al igual que con los formatos de salida de las subtareas, los adaptadores definen un esquema de salida.

Caso de uso de Oracle en dApps

En el mercado, varias DApps aprovechan los oráculos para cerrar la brecha entre el mundo fuera de la cadena y los contratos inteligentes. Los oráculos pueden proporcionar información como:

  • Números aleatorios, por ejemplo, para elegir un ganador en un contrato inteligente de lotería.
  • Los contratos inteligentes de bonos para catástrofes, como los bonos para terremotos, pueden activarse en función de parámetros relacionados con desastres naturales.
  • Por ejemplo, datos de tipos de cambio para vincular con precisión las criptomonedas al dinero fiduciario.
  • Datos de mercado, como los precios de los paquetes tokenizados.
  • Activos/valores.
  • Los datos de referencia, como las tasas de interés, pueden usarse para crear derivados financieros inteligentes.
  • Los identificadores, los códigos de país y los códigos de moneda, son ejemplos de datos estáticos/pseudoestáticos que pueden generarse.
  • Para disparadores de eventos basados ​​en medidas de tiempo exactas, tiempo y datos de intervalo.
  • Para el cálculo de datos meteorológicos.
  • Resolución del mercado de predicción: por ejemplo, para eventos políticos.
  • Mercados de predicción y contratos de deportes de fantasía.
  • Datos de geolocalización en la gestión de la cadena de suministro.
  • Verificación de daños: requerida por los contratos de seguro.
  • Las funciones de interoperabilidad son eventos que ocurren en otras cadenas de bloques.
  • Precio del éter en el mercado: por ejemplo, para oráculos de gas.
  • Utilizar estadísticas de vuelos: por ejemplo, para combinar la compra de varios billetes de avión a la vez.

Conclusión

Como hemos visto, los oráculos juegan un papel fundamental en la ejecución de contratos inteligentes, al proporcionar datos externos. Pero, desafortunadamente, los oráculos también representan un peligro sustancial, ya que son fuentes confiables y pueden ser pirateadas, lo que podría comprometer los contratos inteligentes que alimentan.

Uno debe ser muy cauteloso al considerar el uso de un oráculo debido a esto. Al confiar en el oráculo, corremos el riesgo de exponer nuestro contrato inteligente a entradas posiblemente erróneas, lo que podría comprometer su seguridad. Sin embargo, si las suposiciones de seguridad se consideran cuidadosamente, los oráculos pueden ser extremadamente útiles.

Los oráculos descentralizados pueden aliviar algunos de estos problemas y proporcionar contratos inteligentes de Ethereum, con datos externos en los que pueden confiar sin temor a verse comprometidos. Los oráculos son una excelente manera de conectar con «el mundo real», pero solo si elegimos sabiamente.


Este artículo ha sido escrito originalmente por GORACLE, publicado en https://www.goracle.io y traducido por AlgoLatam.

Original Article: https://www.goracle.io/post/understanding-oracle-decision-model-for-blockchains-2

Deja una respuesta

Tu dirección de correo electrónico no será publicada.