El papel clave de la máquina de oráculo en la tecnología de cadena de bloques
La máquina de oráculo es una infraestructura fundamental en el campo de la cadena de bloques, que puede proporcionar información externa a los contratos inteligentes en la cadena. Como un middleware que conecta los contratos inteligentes con el mundo externo, la máquina de oráculo desempeña un papel indispensable en el ecosistema de la cadena de bloques, y su función principal es proporcionar los datos externos necesarios para los contratos inteligentes.
Por ejemplo, si desplegamos un contrato inteligente en Ethereum que necesita obtener datos del volumen de transacciones de petróleo de un día específico. Dado que el contrato inteligente no puede acceder directamente a datos del mundo real fuera de la cadena, se necesita recurrir a una máquina de oráculo para realizar esta función. El proceso específico es el siguiente: el contrato inteligente registrará el volumen de transacciones de petróleo para la fecha requerida en el registro de eventos, luego, un proceso fuera de la cadena iniciará un monitoreo de este registro de eventos. Cuando se detecta la solicitud correspondiente, el proceso llamará al método correspondiente del contrato mediante el envío de una transacción en la cadena, transmitiendo la información del volumen de transacciones de petróleo de la fecha especificada al contrato inteligente.
Entre los numerosos proyectos de máquinas de oráculo, Chainlink ocupa la mayor parte del mercado. Chainlink es una red de oráculos descentralizada que tiene como objetivo proporcionar datos del mundo real a la cadena de bloques de la manera más segura y confiable. Además de realizar funciones básicas de oráculo, Chainlink también ha construido un ecosistema que forma un ciclo virtuoso a través de incentivos económicos alrededor del token LINK. En la red de Chainlink, los servicios de oráculo necesitan ser activados mediante la transferencia de tokens LINK, que son un tipo de token ERC677 en Ethereum. Las funciones de oráculo basadas en el token LINK pertenecen al modo de solicitud/respuesta.
El estándar ERC677 agrega el método transferAndCall sobre la base de ERC20, combinando el pago y la solicitud de servicio, satisfaciendo mejor 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 convencional de ERC20, si el destinatario es una dirección de contrato, también se llamará al método onTokenTransfer de esa dirección.
Durante el proceso de solicitud de oráculo en la cadena, cuando el consumidor del oráculo utiliza el método transferAndCall para pagar tarifas y solicitar servicios, el método onTokenTransfer del contrato del oráculo primero realizará una serie de verificaciones de seguridad, que incluyen verificar si la transferencia es un token LINK, comprobar si la longitud de los datos de la solicitud es conforme y validar el selector de función, entre otros. Solo después de estas verificaciones, se llamará al método oracleRequest del contrato del oráculo a través de deleGatecall.
El método oracleRequest generará un requestId único, establecerá un tiempo de expiración para la solicitud y registrará la información relevante en el mapeo de commitments. Lo más importante es que emitirá un evento OracleRequest que contiene los datos de la solicitud. Los datos en este evento generalmente están en formato de objeto binario compacto CBOR(, codificado en formato ), lo que facilita el análisis y procesamiento por parte de nodos fuera de la cadena.
Los nodos fuera de la cadena, al responder a una solicitud, llamarán al método fulfillOracleRequest. Este método primero realizará una serie de verificaciones, incluyendo la comprobación de los permisos del llamador y la validación de la validez de la solicitud. Una vez que la verificación sea exitosa, actualizará la cantidad de tokens que se pueden extraer, eliminará el registro de compromiso correspondiente y finalmente llamará a la función de callback del contrato del solicitante.
Para los desarrolladores, si solo necesitan usar los datos de precios de pares de monedas existentes, pueden llamar directamente a la interfaz Price Feed proporcionada por Chainlink. Cada par de negociación tiene un Price Feed independiente ( también conocido como Aggregator ), que en realidad es un contrato AggregatorProxy. Estas interfaces ofrecen funciones para obtener la precisión de precios, descripciones, números de versión y datos de precios más recientes. En la mayoría de los casos de uso, el contrato puede necesitar solo leer el precio más reciente, y se puede obtener llamando al método latestRoundData (). Cabe destacar que los pares de negociación cotizados en dólares suelen adoptar una precisión uniforme de 8 dígitos, lo que simplifica el problema del manejo de la precisión entre diferentes tokens.
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
9 me gusta
Recompensa
9
5
Compartir
Comentar
0/400
0xSherlock
· 07-18 14:15
link todavía tiene que seguir adelante
Ver originalesResponder0
LightningPacketLoss
· 07-16 16:18
¿El precio de link puede ser mejor?
Ver originalesResponder0
PumpingCroissant
· 07-16 03:42
link tiene un poco de gas
Ver originalesResponder0
GweiWatcher
· 07-16 03:30
¿Qué relación tiene link con esta subida de precios?
Ver originalesResponder0
WhaleSurfer
· 07-16 03:24
LINK alcista, el precio de obtenerlo gratis aún se puede ganar.
Máquina de oráculo: Cadena de bloques y el puente clave entre el mundo real
El papel clave de la máquina de oráculo en la tecnología de cadena de bloques
La máquina de oráculo es una infraestructura fundamental en el campo de la cadena de bloques, que puede proporcionar información externa a los contratos inteligentes en la cadena. Como un middleware que conecta los contratos inteligentes con el mundo externo, la máquina de oráculo desempeña un papel indispensable en el ecosistema de la cadena de bloques, y su función principal es proporcionar los datos externos necesarios para los contratos inteligentes.
Por ejemplo, si desplegamos un contrato inteligente en Ethereum que necesita obtener datos del volumen de transacciones de petróleo de un día específico. Dado que el contrato inteligente no puede acceder directamente a datos del mundo real fuera de la cadena, se necesita recurrir a una máquina de oráculo para realizar esta función. El proceso específico es el siguiente: el contrato inteligente registrará el volumen de transacciones de petróleo para la fecha requerida en el registro de eventos, luego, un proceso fuera de la cadena iniciará un monitoreo de este registro de eventos. Cuando se detecta la solicitud correspondiente, el proceso llamará al método correspondiente del contrato mediante el envío de una transacción en la cadena, transmitiendo la información del volumen de transacciones de petróleo de la fecha especificada al contrato inteligente.
Entre los numerosos proyectos de máquinas de oráculo, Chainlink ocupa la mayor parte del mercado. Chainlink es una red de oráculos descentralizada que tiene como objetivo proporcionar datos del mundo real a la cadena de bloques de la manera más segura y confiable. Además de realizar funciones básicas de oráculo, Chainlink también ha construido un ecosistema que forma un ciclo virtuoso a través de incentivos económicos alrededor del token LINK. En la red de Chainlink, los servicios de oráculo necesitan ser activados mediante la transferencia de tokens LINK, que son un tipo de token ERC677 en Ethereum. Las funciones de oráculo basadas en el token LINK pertenecen al modo de solicitud/respuesta.
El estándar ERC677 agrega el método transferAndCall sobre la base de ERC20, combinando el pago y la solicitud de servicio, satisfaciendo mejor 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 convencional de ERC20, si el destinatario es una dirección de contrato, también se llamará al método onTokenTransfer de esa dirección.
Durante el proceso de solicitud de oráculo en la cadena, cuando el consumidor del oráculo utiliza el método transferAndCall para pagar tarifas y solicitar servicios, el método onTokenTransfer del contrato del oráculo primero realizará una serie de verificaciones de seguridad, que incluyen verificar si la transferencia es un token LINK, comprobar si la longitud de los datos de la solicitud es conforme y validar el selector de función, entre otros. Solo después de estas verificaciones, se llamará al método oracleRequest del contrato del oráculo a través de deleGatecall.
El método oracleRequest generará un requestId único, establecerá un tiempo de expiración para la solicitud y registrará la información relevante en el mapeo de commitments. Lo más importante es que emitirá un evento OracleRequest que contiene los datos de la solicitud. Los datos en este evento generalmente están en formato de objeto binario compacto CBOR(, codificado en formato ), lo que facilita el análisis y procesamiento por parte de nodos fuera de la cadena.
Los nodos fuera de la cadena, al responder a una solicitud, llamarán al método fulfillOracleRequest. Este método primero realizará una serie de verificaciones, incluyendo la comprobación de los permisos del llamador y la validación de la validez de la solicitud. Una vez que la verificación sea exitosa, actualizará la cantidad de tokens que se pueden extraer, eliminará el registro de compromiso correspondiente y finalmente llamará a la función de callback del contrato del solicitante.
Para los desarrolladores, si solo necesitan usar los datos de precios de pares de monedas existentes, pueden llamar directamente a la interfaz Price Feed proporcionada por Chainlink. Cada par de negociación tiene un Price Feed independiente ( también conocido como Aggregator ), que en realidad es un contrato AggregatorProxy. Estas interfaces ofrecen funciones para obtener la precisión de precios, descripciones, números de versión y datos de precios más recientes. En la mayoría de los casos de uso, el contrato puede necesitar solo leer el precio más reciente, y se puede obtener llamando al método latestRoundData (). Cabe destacar que los pares de negociación cotizados en dólares suelen adoptar una precisión uniforme de 8 dígitos, lo que simplifica el problema del manejo de la precisión entre diferentes tokens.