Ingenieros de Chainlink: cómo los oráculos conectan Web2 y Web3

En el caso de un mercado relativamente lento, la demanda de máquinas Oracle ha mostrado una tendencia de crecimiento exponencial.

Habla: Frank, ingeniero de relaciones con los desarrolladores, Chainlink Labs

Organización: aididiaojp.eth, Foresight News

Soy Frank, ingeniero de relaciones con desarrolladores en Chainlink Labs. Mi trabajo principal es permitir que más desarrolladores o constructores apasionados por esta industria aprendan más sobre las máquinas de Oracle. Basándonos en los contratos inteligentes de nuestra infraestructura actual, podemos considerarlo como un contrato inteligente híbrido. Los contratos inteligentes se pueden integrar mejor con varios datos en el mundo Web2, incluidos los servicios informáticos, y luego, en función de esta arquitectura, las cosas que pueden hacer los contratos inteligentes en la cadena se amplían considerablemente.

En el intercambio de hoy, primero presentaré el concepto de Oracle Machine y luego, en función del concepto de Oracle Machine, presentaré brevemente la red descentralizada de Oracle Machine y algunos servicios que podemos proporcionar, incluidos los servicios de datos y los servicios informáticos.

¿Qué es un oráculo?

De Web 1 a Web 2 a Web 3, el estado de la red y los datos cambia constantemente. Al principio, Web1 era un servicio de sitio web cuyos datos solo se podían leer de forma estática. Cuando se desarrolló a la etapa Web2, los datos se volvieron legibles, escribibles y participables. Muchas grandes empresas han creado imperios comerciales basados en sus propios servicios. Almacenan todos los datos de los usuarios en sus propias bases de datos. Si es necesario, pueden poseer y modificar los datos de los usuarios. En este caso, surge una pregunta, es decir, algunos datos que creamos en Internet o en el mundo virtual a veces tienen algún valor, entonces, ¿a quién pertenece ese valor? En base a estos antecedentes, esperamos poder resolver bien este problema en la etapa Web 3. Todos los datos en la etapa Web 3 no existen en un servidor o un nodo, tiene una red descentralizada, y la red descentralizada es un sistema de múltiples libros compuesto por múltiples nodos. Los datos se almacenan en múltiples nodos, y solo cuando cada nodo está de acuerdo con la modificación y el almacenamiento de datos, se pueden guardar los datos finales. Entonces esto nos traerá un beneficio, es decir, no importa qué modificación queramos hacer a los datos, necesitamos modificarlos de acuerdo con el consenso previamente acordado. Por ejemplo, si quiero modificar el saldo de la billetera, si nadie me envía dinero, sin importar cómo el propietario de los datos quiera modificarlo, eventualmente fallará el proceso de consenso, lo que hace que el saldo de la billetera no se pueda modificar. Solo cuando el propietario de los datos envía una transacción que se ajusta a las reglas, los datos pueden modificarse finalmente, lo que trae un beneficio muy obvio. Al mismo tiempo, también trae algunas desventajas, la mayor desventaja es que hace que el sistema sea un sistema determinista. Es decir, debido a que habrá un proceso de consenso durante todo el proceso, solo podrá realizar operaciones que otros puedan verificar. Cuando envía una operación, otros necesitan ejecutar su operación, y si otros nodos ejecutan la operación con éxito, en realidad pueden devolver el resultado. En cuanto a si es más del 50% o del 70%, depende del algoritmo de consenso. Al final, la operación se puede escribir en la transacción y la transacción se puede escribir en el bloque para convertirse en una transacción completa.

Pero si necesitamos realizar algunas operaciones no deterministas, como obtener algunos datos de API y generar números aleatorios fuera de la cadena de bloques, el sistema de cadena de bloques determinista no se puede completar. Nuestro sorteo de lotería debe generar números aleatorios, o el protocolo en cadena debe conocer el precio de los activos fuera de la cadena, como adquirir el precio de acciones o materias primas, que es una operación no determinista y no puede ser completada por la propia cadena de bloques. . Otro ejemplo son las llamadas API. Si yo, como nodo en la red, llamo a datos API externos y luego les digo a otros nodos en la red el resultado, otros nodos también lo ejecutarán para verificar la autenticidad del resultado. la misma operación y obtener un resultado. Pero para una API externa, si diferentes personas obtienen la misma API en diferentes momentos, el servidor puede colgarse, el servicio puede suspenderse o los datos pueden cambiar con el tiempo. Haces lo mismo en diferentes momentos y los resultados que obtienes son inconsistentes. Siempre que el resultado sea inconsistente, la operación final no se puede ingresar en un bloque y no hay forma de completarla. Esto es después de que tengamos la propiedad de los datos, también debemos soportar algunas de las deficiencias que conlleva.

Para resolver este problema, necesitamos confiar en los oráculos. La cadena de bloques es un sistema aislado y determinista. No puede obtener datos de forma activa fuera de la cadena. La aparición de la máquina del oráculo es para resolver este problema. Hace dos o tres años apareció el concepto de la máquina del oráculo, pero no había muchos escenarios aplicables en ese momento, y tenía grandes limitaciones. Por ejemplo, cuando desea obtener algunos datos de mercado, cargar datos bursátiles en la red blockchain o crear una estructura para poner la lógica en la cadena para su ejecución, pero poner el lado de los activos en la cadena y proteger el progreso normal de las transacciones a través de contratos inteligentes, etc., en este momento, es necesario obtener algunos datos de la cadena, y la sincronización de datos debe realizarse periódicamente, incluido el pago bancario o los datos minoristas, e incluso algunos otros datos de eventos públicos, como las condiciones climáticas, geográficas información, información logística, información deportiva, etc. Resultados de juegos, etc. Estos datos no se pueden obtener sin la máquina Oracle. Esto hará que la ecología en la cadena sea muy limitada. Con el desarrollo continuo del ecosistema Web 3, los vínculos entre los dos mundos de Web 3 y Web 2 serán cada vez más estrechos. Si queremos que Web3 se adopte a gran escala, o que sea utilizado por más personas, debe proporcionar funciones muy ricas, no limitarse a algunas operaciones que solo se pueden realizar a través de los datos originales de la cadena.

La máquina Oracle probablemente se hizo popular en 2020, cuando era DeFiSummer, y la mayoría de la gente se dio cuenta. Al principio, la máquina del oráculo hizo cosas muy simples, por ejemplo, si desea obtener datos externos y subirlos a la red descentralizada, es decir, la cadena de bloques, la forma más fácil es establecer un nodo centralizado debajo de la cadena, que es, para construir un servidor, luego obtiene datos a través del servidor y finalmente escribe los datos en la red de cadena de bloques deduplicada, entonces este modelo se llama un oráculo centralizado. Aunque es relativamente simple de implementar, traerá algunos problemas, por ejemplo, tiene el riesgo de un punto único de falla, es decir, el nodo centralizado puede causar tiempo de inactividad debido a sus propias razones básicas. Otra posibilidad es que si el servicio proporcionado por el contrato inteligente en la cadena depende de los datos proporcionados por el nodo centralizado, y si la cantidad de fondos involucrados en el contrato inteligente en la cadena es muy grande, entonces esta máquina oráculo centralizada puede pasar sus propios Datos que pueden ser manipulados para lanzar un ataque al servicio. Siempre que los beneficios sean lo suficientemente grandes y no haya forma de lograr la integridad a través de medios técnicos, entonces este es un punto único de falla. Queremos poner la aplicación en la red descentralizada, incluido Ethereum u otros ecosistemas de Capa 2. De hecho, también esperamos poder garantizar la imparcialidad de nuestra aplicación, es decir, el contrato inteligente, a través de cientos o miles de nodos de Oracle en la red y la seguridad.

Por supuesto, si confiamos en nodos centralizados para obtener terminales de datos, incluso si se pueden garantizar otros aspectos de la seguridad, pero el terminal de datos de activos más importante no puede garantizar la seguridad, hará que toda la dApp no tenga sentido. Entonces, después de la máquina oracle centralizada, hay una red de máquinas oracle descentralizada, que bien puede resolver el riesgo de punto único de falla que acabamos de mencionar. La mayor diferencia en la red de Oracle descentralizada no es que un solo nodo de Oracle proporcione servicios a la red descentralizada, sino que a través de la red de Oracle descentralizada, también se puede entender como una especie de Layer2, es decir, cada descentralizada Los nodos en la red descentralizada La red de Oracle puede obtener datos a través de sus propias fuentes de datos y, después de obtener los resultados, puede realizar la agregación de datos con otras redes descentralizadas, lo que también puede entenderse como un proceso de consenso, incluida la verificación de si los datos Hay nodos o si el los datos devueltos se desvían demasiado del valor promedio, o simplemente haga un valor promedio, luego agregue los datos, etc., y luego escríbalos en la red descentralizada. Uno de los beneficios que trae este método es que técnicamente puede garantizar que el servicio no se interrumpirá a menos que todos los nodos de la red descentralizada de Oracle dejen de funcionar, pero esta posibilidad es muy baja. Además, en el lado de los datos, también se puede garantizar que los datos proporcionados por el oráculo al contrato en la cadena no están controlados por un solo nodo, sino por muchos nodos. Si desea manipular datos para lanzar un ataque, el costo será muy alto, lo que equivale a atacar la Capa 2, o incluso una red descentralizada como Ethereum, que básicamente es poco probable que tenga éxito.

La red descentralizada puede mejorar en gran medida la seguridad y la imparcialidad de los datos recibidos por los contratos inteligentes. Para los usuarios, somos solo una red Oracle descentralizada, pero en función de la red Oracle descentralizada, podemos proporcionar otros servicios, como servicios de datos, servicios informáticos y servicios entre cadenas. Si se basa en la máquina de Oracle para proporcionar datos a la red, de hecho, hay algunas operaciones más complejas y costosas que también se pueden completar fuera de la cadena, es decir, se empaqueta en la red de Oracle fuera de la cadena para el cálculo. , y luego se vuelve a escribir en la cadena de bloques alta de comparación de seguridad. Si podemos obtener datos fuera de la cadena, también podemos obtener datos de otras cadenas y escribirlos en esta cadena de bloques, lo que en realidad implica una cadena cruzada. Siempre que la seguridad de la red Oracle descentralizada sea lo suficientemente fuerte, puede garantizar la seguridad de los servicios de datos, los servicios informáticos y los servicios de cadena cruzada basados en ella. Chainlink proporciona una variedad de servicios basados en oráculos descentralizados, que pueden conectar datos de Web 3 y Web 2, incluidos datos de Capa 1 y Capa 2, para que todos puedan obtener la mayor cantidad posible de datos y servicios correspondientes.

¿Cuáles son los servicios proporcionados por los oráculos de Chainlink?

A continuación, permítanme presentarles brevemente los servicios que brindan los oráculos de Chainlink. Por supuesto, hay muchos servicios basados en Chainlink y compartiré algunos servicios con escenarios más aplicables.

Si desea realizar algunas innovaciones en los campos de DeFi, GameFi, NFT y SocialFi en el futuro, existe una alta probabilidad de que necesite un oráculo para obtener datos. Porque debe obtener datos de la cadena de una manera muy descentralizada y segura, y volver a escribirlos en su contrato inteligente en la cadena.

El primer servicio es la alimentación de precios, que también puede ser un término que escuche con frecuencia antes, y explotará en DeFiSummer en 2020. En 2020, aparecieron muchos proyectos DeFi, comenzando con Uniswap, seguido del contrato de préstamo Compound, y luego el proyecto de activos sintéticos Synthetics y otras aplicaciones Todos tienen una gran demanda de datos fuera de la cadena, porque solo los datos basados en la seguridad pueden ser Los usuarios pueden utilizar los datos de forma descentralizada a través de contratos, y el servicio de alimentación de precios del oráculo desempeña un papel importante.

La figura anterior es el diagrama de flujo básico del servicio de alimentación de precios, que incluye 3 participantes importantes. La primera es la red descentralizada de Oracle Machines que acabamos de mencionar; la segunda son los proveedores de datos, que pueden ser bolsas de valores u otras grandes instituciones autorizadas, todas las cuales pueden servir como proveedores de datos; la tercera es un contrato de usuario. El proceso que se muestra en la figura anterior es muy simple. Cada proveedor de datos puede proporcionar un nodo de la red de Oracle Chanlink a través de la interfaz o servicio de fuente de datos, y cada nodo de la red de Oracle también puede obtener datos de acuerdo con su propio servicio. , y luego, a través del proceso de agregación, los datos obtenidos por cada canal se escriben en el contrato de verificación implementado en la cadena. Si pasa la verificación, los datos pueden ser registrados y pueden ser utilizados por los usuarios en el futuro.Este es todo el proceso. El cliente sólo necesita utilizar el contrato para obtener y utilizar múltiples datos.

Hay muchos casos de uso para la alimentación de precios, como Compound, Uniswap y Synthetics que mencionamos hace un momento, necesitan mapear los activos en Web2 a Web3, y necesitan mecanismos externos para proporcionar precios de activos. Al igual que una moneda estable, se basa en cuántos activos pueden emitir tantas monedas estables, y su precio de activo también debe obtenerse en función de la máquina Oracle. Además, al igual que algunas plataformas de gestión de activos y aplicaciones comerciales de derivados populares, dependen en gran medida de los precios, por lo que en realidad son usuarios importantes de los servicios de alimentación de precios. Desde el punto de vista de la tendencia, la demanda de servicios de alimentación de precios está aumentando exponencialmente. El uso de datos ha estado creciendo incluso en los mercados menos activos.

A continuación, presentaré el segundo servicio más distintivo, Cualquier API. En pocas palabras, ayuda a los contratos inteligentes en la cadena a obtener algunos datos no estándar, como algunos datos de cola larga. Es posible que estos datos solo estén disponibles para ciertas personas o ciertos contratos, pero no son datos estándar como los precios de los tokens o los precios de los activos. Muchas DApps requieren datos no estándar, por ejemplo, las aplicaciones comerciales de seguros Web 3 necesitan obtener datos meteorológicos o datos de retrasos de vuelos. Por ejemplo, los gases de efecto invernadero pueden hacer algunos proyectos similares a ESG, incluidos los juegos deportivos electorales que se pueden combinar con los mercados de predicción. Proporcionamos mercados de datos basados en Cualquier API. En cada mercado de datos, hay varios proveedores de datos que brindan servicios externos basados en sus propios datos. Siempre que el usuario envíe una solicitud, puede volver a escribir los datos en el contrato de usuario de acuerdo con los requisitos del servicio. . Tanto el proveedor de datos como el receptor de datos están determinados por el mercado. Existe un mercado para usuarios y proveedores de datos, y Chainlink no monopoliza oficialmente todos los datos y luego proporciona datos a la cadena.

El flujo de trabajo de Any API y el feed de precios es bastante consistente: el contrato primero envía una solicitud y luego los nodos de Chanlink descubren la solicitud. Después del descubrimiento, Chanlink puede seleccionar los datos requeridos de acuerdo con la solicitud y luego volver a escribirlos en la cadena de bloques. AnyAPI puede proporcionar a los usuarios una variedad de datos, pero tiene la característica de que, aunque se construye con relativa rapidez, los proporciona un solo nodo. AnyAPI lo que quiere hacer es obtener datos lo más rápido posible de una manera sencilla, en lugar de obtener datos a través de la red descentralizada de Oracle Machine que mencionamos antes.

Más tarde, a medida que aumentaba la diversidad de los requisitos de datos, muchos datos no estándar también esperaban volver a escribirse en la cadena de manera descentralizada. También creamos un nuevo servicio llamado Funciones a principios de abril de este año. En pocas palabras, ejecuta cualquier solicitud de usuario a través de una red Oracle descentralizada. Los usuarios pueden usar algún lenguaje de programación avanzado como Java para escribir el programa de operación, ya no solo se puede escribir en lenguaje Solidity, el programa escrito en Java es definitivamente más abundante que Solidity. El servicio de funciones puede encapsular el programa escrito en una solicitud y enviarlo a toda la red de Oracle. Todos los nodos de la red realizarán la misma operación, que pueden ser servicios de cómputo, servicios de adquisición de datos u otros servicios. Después de que cada nodo se ejecuta y obtiene el resultado, pasa por el proceso de agregación que acabamos de mencionar y luego lo vuelve a escribir en el contrato inteligente.

En comparación con el precio del pienso, su grado de libertad es muy alto. Es decir, al contrato inteligente se le puede dar una interfaz externa para usar cualquier método que desee. También puede escribir algo de la lógica que tiene que hacer en el contrato, y luego no es ejecutado por la cadena de bloques, sino por la máquina oracle, lo que equivale a integrar directamente el servicio de la máquina oracle en el contrato inteligente, convirtiéndose en un híbrido. tipo de contrato inteligente. Si lo hace de esta manera, entonces su ejecución está garantizada a través de la red descentralizada, y sus operaciones no deterministas son operaciones que no se pueden realizar en la cadena de bloques, y se pueden realizar a través de la máquina de Oracle descentralizada. La red ejecuta y devuelve el resultado. . En general, puede mejorar en gran medida la funcionalidad de los contratos inteligentes. Las funciones que puede hacer serán más abundantes que antes, y también es muy simple de aplicar en el lado del cliente. Solo necesita agregar dos funciones a su contrato, y puede usar directamente la red Oracle descentralizada como parte de su smart contrato de uso. Y también es muy amigable para los programadores tradicionales de Web2, porque la lógica de ejecución se puede completar a través de lenguajes de programación tradicionales. El proceso general no ha cambiado. La solicitud se envía, luego se envía a la red Oracle descentralizada, se agrega después de la ejecución y finalmente se vuelve a escribir en el contrato inteligente del usuario.

Lo anterior es lo que compartí sobre Oracle Machine y algunos servicios que puede proporcionar la red descentralizada basada en Oracle Machine.

Ver originales
El contenido es solo de referencia, no una solicitud u oferta. No se proporciona asesoramiento fiscal, legal ni de inversión. Consulte el Descargo de responsabilidad para obtener más información sobre los riesgos.
  • Recompensa
  • Comentar
  • Compartir
Comentar
0/400
Sin comentarios
  • Anclado
Comercie con criptomonedas en cualquier lugar y en cualquier momento
qrCode
Escanee para descargar la aplicación Gate.io
Comunidad
Español
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • ไทย
  • Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)