Análisis profundo de la tecnología de la Máquina de oráculo
En el ecosistema de blockchain, la máquina de oráculo actúa como un puente entre los contratos inteligentes en la cadena y el mundo exterior, desempeñando un papel fundamental como infraestructura. Su función principal es proporcionar datos externos a los contratos inteligentes en la blockchain.
Por ejemplo, si desplegamos un contrato inteligente en la red de Ethereum que necesita obtener datos del volumen de transacciones de petróleo crudo de un día específico, dado que el contrato en sí no puede acceder directamente a los datos del mundo real fuera de la cadena, se requiere la ayuda de una Máquina de oráculo para lograrlo. El proceso específico es el siguiente: el contrato inteligente escribe en el registro de eventos la demanda del volumen de transacciones de petróleo crudo para la fecha requerida, luego un proceso fuera de la cadena escuchará y suscribirá este evento. Cuando se detecta la solicitud relevante, el proceso llamará a un método específico del contrato mediante la presentación de una transacción en la cadena, subiendo la información del volumen de transacciones de petróleo crudo de la fecha específica al contrato inteligente.
Entre los numerosos proyectos de máquinas de oráculo, un proyecto de máquina de oráculo descentralizado ocupa un lugar destacado en términos de participación de mercado. Este proyecto se dedica a proporcionar datos del mundo real a la blockchain de la manera más segura posible. Además de implementar los principios básicos de la máquina de oráculo, el proyecto ha construido un ecosistema de ciclo virtuoso en torno a su token nativo, asegurando el desarrollo sostenible del sistema a través de incentivos económicos. En este sistema, la activación de la máquina de oráculo requiere la transferencia del token nativo, lo que convierte esta función de máquina de oráculo basada en token en un modo de solicitud/respuesta.
El proyecto utiliza un estándar de token homogéneo mejorado, que añade un método transferAndCall sobre la base del estándar ERC20. Este método combina de manera ingeniosa el pago y la solicitud de servicio, satisfaciendo muy bien las necesidades del escenario de negocio de la Máquina de oráculo. Cuando un usuario llama a transferAndCall para realizar una transferencia, además de la transferencia ERC20 convencional, también se verifica si la dirección de recepción es una dirección de contrato, y si lo es, se llamará al método onTokenTransfer de esa dirección.
En el contrato de máquina de oráculo, el método onTokenTransfer primero verificará si la transferencia se realizó utilizando el token especificado, y luego comprobará la legalidad de los datos de la solicitud. Después de una serie de verificaciones de seguridad, el contrato generará un ID de solicitud único, establecerá un tiempo de expiración y registrará la información relevante en el mapeo de commitments. Lo más crítico es que el contrato emitirá un evento que contiene los datos de la solicitud, los cuales están codificados en un formato de representación de objetos binarios livianos.
Los nodos fuera de la cadena, al recibir una solicitud, llamarán al método fulfillOracleRequest para responder a la solicitud. Este método primero realizará una serie de verificaciones, incluyendo la autorización del llamador, la validez de la solicitud, etc. Una vez que la verificación sea exitosa, se registrará la cantidad de tokens extraíbles y se eliminará el ID de la solicitud del mapeo de compromisos. Finalmente, si queda suficiente gas, se llamará a la función de devolución de llamada del contrato del solicitante.
En la función de retorno, se volverá a verificar la validez de la solicitud y se manejarán los datos devueltos según las necesidades específicas. Por ejemplo, para la máquina de oráculo de precios, es posible que se actualice la información actual del precio.
Para los desarrolladores, un proyecto de Máquina de oráculo también ofrece una interfaz de consulta de precios más conveniente. Cada par de negociación tiene un agregador de precios independiente, y los desarrolladores pueden llamar directamente a estas interfaces para obtener los datos de precios más recientes, sin necesidad de especificar la URL de la fuente de datos. Estas interfaces suelen incluir funciones como precisión de consulta, descripción, versión, datos históricos y datos más recientes, lo que simplifica enormemente el proceso de desarrollo.
Es importante señalar que, en la mayoría de los casos de uso, el contrato puede necesitar solo leer el precio más reciente. Además, en los pares de negociación cotizados en dólares, la precisión del precio generalmente se unifica a 8 decimales, lo que evita la molestia de manejar las diferencias de precisión entre diferentes tokens.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
8 me gusta
Recompensa
8
5
Compartir
Comentar
0/400
StableNomad
· 07-05 02:11
Máquina de oráculo verdaderamente indispensable
Ver originalesResponder0
PositionPhobia
· 07-04 19:56
Si va a subir o a caer, yo me voy primero.
Ver originalesResponder0
TestnetNomad
· 07-03 23:26
La Máquina de oráculo no es simple
Ver originalesResponder0
DEXRobinHood
· 07-02 10:21
El middleware es extremadamente importante
Ver originalesResponder0
RetiredMiner
· 07-02 10:05
La máquina de oráculo de datos es demasiado poderosa.
Máquina de oráculo técnica: contratos inteligentes y el puente con el mundo real
Análisis profundo de la tecnología de la Máquina de oráculo
En el ecosistema de blockchain, la máquina de oráculo actúa como un puente entre los contratos inteligentes en la cadena y el mundo exterior, desempeñando un papel fundamental como infraestructura. Su función principal es proporcionar datos externos a los contratos inteligentes en la blockchain.
Por ejemplo, si desplegamos un contrato inteligente en la red de Ethereum que necesita obtener datos del volumen de transacciones de petróleo crudo de un día específico, dado que el contrato en sí no puede acceder directamente a los datos del mundo real fuera de la cadena, se requiere la ayuda de una Máquina de oráculo para lograrlo. El proceso específico es el siguiente: el contrato inteligente escribe en el registro de eventos la demanda del volumen de transacciones de petróleo crudo para la fecha requerida, luego un proceso fuera de la cadena escuchará y suscribirá este evento. Cuando se detecta la solicitud relevante, el proceso llamará a un método específico del contrato mediante la presentación de una transacción en la cadena, subiendo la información del volumen de transacciones de petróleo crudo de la fecha específica al contrato inteligente.
Entre los numerosos proyectos de máquinas de oráculo, un proyecto de máquina de oráculo descentralizado ocupa un lugar destacado en términos de participación de mercado. Este proyecto se dedica a proporcionar datos del mundo real a la blockchain de la manera más segura posible. Además de implementar los principios básicos de la máquina de oráculo, el proyecto ha construido un ecosistema de ciclo virtuoso en torno a su token nativo, asegurando el desarrollo sostenible del sistema a través de incentivos económicos. En este sistema, la activación de la máquina de oráculo requiere la transferencia del token nativo, lo que convierte esta función de máquina de oráculo basada en token en un modo de solicitud/respuesta.
El proyecto utiliza un estándar de token homogéneo mejorado, que añade un método transferAndCall sobre la base del estándar ERC20. Este método combina de manera ingeniosa el pago y la solicitud de servicio, satisfaciendo muy bien las necesidades del escenario de negocio de la Máquina de oráculo. Cuando un usuario llama a transferAndCall para realizar una transferencia, además de la transferencia ERC20 convencional, también se verifica si la dirección de recepción es una dirección de contrato, y si lo es, se llamará al método onTokenTransfer de esa dirección.
En el contrato de máquina de oráculo, el método onTokenTransfer primero verificará si la transferencia se realizó utilizando el token especificado, y luego comprobará la legalidad de los datos de la solicitud. Después de una serie de verificaciones de seguridad, el contrato generará un ID de solicitud único, establecerá un tiempo de expiración y registrará la información relevante en el mapeo de commitments. Lo más crítico es que el contrato emitirá un evento que contiene los datos de la solicitud, los cuales están codificados en un formato de representación de objetos binarios livianos.
Los nodos fuera de la cadena, al recibir una solicitud, llamarán al método fulfillOracleRequest para responder a la solicitud. Este método primero realizará una serie de verificaciones, incluyendo la autorización del llamador, la validez de la solicitud, etc. Una vez que la verificación sea exitosa, se registrará la cantidad de tokens extraíbles y se eliminará el ID de la solicitud del mapeo de compromisos. Finalmente, si queda suficiente gas, se llamará a la función de devolución de llamada del contrato del solicitante.
En la función de retorno, se volverá a verificar la validez de la solicitud y se manejarán los datos devueltos según las necesidades específicas. Por ejemplo, para la máquina de oráculo de precios, es posible que se actualice la información actual del precio.
Para los desarrolladores, un proyecto de Máquina de oráculo también ofrece una interfaz de consulta de precios más conveniente. Cada par de negociación tiene un agregador de precios independiente, y los desarrolladores pueden llamar directamente a estas interfaces para obtener los datos de precios más recientes, sin necesidad de especificar la URL de la fuente de datos. Estas interfaces suelen incluir funciones como precisión de consulta, descripción, versión, datos históricos y datos más recientes, lo que simplifica enormemente el proceso de desarrollo.
Es importante señalar que, en la mayoría de los casos de uso, el contrato puede necesitar solo leer el precio más reciente. Además, en los pares de negociación cotizados en dólares, la precisión del precio generalmente se unifica a 8 decimales, lo que evita la molestia de manejar las diferencias de precisión entre diferentes tokens.