Análisis técnico de la Máquina de oráculo: el caso de Chainlink
En el ecosistema blockchain, la Máquina de oráculo desempeña un papel fundamental como infraestructura, conectando los contratos inteligentes con el mundo exterior. 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 la información del mundo real fuera de la cadena, se requiere la intervención de una Máquina de oráculo. En este caso, el contrato inteligente registrará la información de la fecha requerida en el registro de eventos. Luego, se iniciará un proceso de monitoreo fuera de la cadena para suscribirse a este evento. Cuando se detecta la solicitud correspondiente, este proceso enviará una transacción en la cadena, llamando a un método específico del contrato, para transferir los datos del volumen de transacciones de petróleo crudo de la fecha especificada al contrato inteligente.
Entre las numerosas soluciones de máquinas de oráculo, Chainlink destaca por sus características de descentralización y su cuota de mercado. Ha construido un ecosistema impulsado por incentivos económicos a través del token LINK, lo que garantiza que se proporcionen datos del mundo real a la blockchain de la manera más segura y confiable. El mecanismo de activación de las máquinas de oráculo de Chainlink se realiza a través de la transferencia del token LINK, que es un contrato estándar ERC677 basado en la red de Ethereum.
El estándar ERC677 añade el método transferAndCall sobre la base de ERC20, esta innovación satisface las necesidades específicas del escenario de negocio de la Máquina de oráculo, logrando la integración de pagos y solicitudes de servicio. Cuando un usuario llama a transferAndCall para realizar una transferencia, además de la operación de transferencia estándar de ERC20, también se verificará si el destinatario es una dirección de contrato; si es así, se llamará al método onTokenTransfer de esa dirección.
En el diseño de Chainlink, el método onTokenTransfer del contrato oracle implementa una serie de comprobaciones de seguridad, que incluyen la verificación de si la transferencia es un token LINK, la comprobación de que la longitud de los datos sea adecuada, la validación del selector de función, entre otros. Después de estas verificaciones, el contrato generará un requestId único, establecerá el tiempo de expiración de la solicitud y emitirá el evento OracleRequest. Este evento contiene los datos detallados de la solicitud, utilizando el formato de codificación CBOR (Representación Concisa de Objetos Binarios).
Los nodos fuera de la cadena, tras recibir el evento OracleRequest, analizarán la información de la solicitud, obtendrán los datos necesarios a través de una llamada a la API y luego enviarán los datos en la cadena mediante la llamada al método fulfillOracleRequest del contrato oracle. Este proceso incluye una serie de pasos de verificación para garantizar la validez y seguridad de los datos. Finalmente, el contrato oracle llamará a la función de callback del contrato del solicitante, completando así todo el proceso de solicitud y respuesta de datos.
Para los desarrolladores, Chainlink también ofrece un servicio de máquina de oráculo de precios más conveniente. Cada par de negociación tiene un Price Feed independiente (también conocido como Agregador), que es, de hecho, una instancia del contrato AggregatorProxy. Estos contratos proporcionan métodos como decimals(), description(), version(), getRoundData() y latestRoundData(), permitiendo a los desarrolladores obtener fácilmente los datos de precios que necesitan.
En la mayoría de los escenarios de aplicación, los contratos principalmente necesitan leer el precio más reciente, lo que se puede lograr llamando al método latestRoundData(). Cabe destacar que para los pares de trading cotizados en USD, la precisión del precio suele ser uniforme a 8 dígitos, lo que simplifica la complejidad del manejo de la precisión entre diferentes tokens.
A través de este diseño, Chainlink no solo ofrece servicios de oráculo flexibles, sino que también proporciona a los desarrolladores una forma conveniente de acceder a datos de precios, simplificando en gran medida el proceso de interacción de aplicaciones blockchain con datos del mundo exterior.
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.
18 me gusta
Recompensa
18
3
Compartir
Comentar
0/400
MysteriousZhang
· hace22h
Máquina de oráculo aún es mejor preguntar directamente a la AE
Análisis de la tecnología de Máquina de oráculo de Chainlink: el puente que conecta contratos inteligentes con el mundo real.
Análisis técnico de la Máquina de oráculo: el caso de Chainlink
En el ecosistema blockchain, la Máquina de oráculo desempeña un papel fundamental como infraestructura, conectando los contratos inteligentes con el mundo exterior. 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 la información del mundo real fuera de la cadena, se requiere la intervención de una Máquina de oráculo. En este caso, el contrato inteligente registrará la información de la fecha requerida en el registro de eventos. Luego, se iniciará un proceso de monitoreo fuera de la cadena para suscribirse a este evento. Cuando se detecta la solicitud correspondiente, este proceso enviará una transacción en la cadena, llamando a un método específico del contrato, para transferir los datos del volumen de transacciones de petróleo crudo de la fecha especificada al contrato inteligente.
Entre las numerosas soluciones de máquinas de oráculo, Chainlink destaca por sus características de descentralización y su cuota de mercado. Ha construido un ecosistema impulsado por incentivos económicos a través del token LINK, lo que garantiza que se proporcionen datos del mundo real a la blockchain de la manera más segura y confiable. El mecanismo de activación de las máquinas de oráculo de Chainlink se realiza a través de la transferencia del token LINK, que es un contrato estándar ERC677 basado en la red de Ethereum.
El estándar ERC677 añade el método transferAndCall sobre la base de ERC20, esta innovación satisface las necesidades específicas del escenario de negocio de la Máquina de oráculo, logrando la integración de pagos y solicitudes de servicio. Cuando un usuario llama a transferAndCall para realizar una transferencia, además de la operación de transferencia estándar de ERC20, también se verificará si el destinatario es una dirección de contrato; si es así, se llamará al método onTokenTransfer de esa dirección.
En el diseño de Chainlink, el método onTokenTransfer del contrato oracle implementa una serie de comprobaciones de seguridad, que incluyen la verificación de si la transferencia es un token LINK, la comprobación de que la longitud de los datos sea adecuada, la validación del selector de función, entre otros. Después de estas verificaciones, el contrato generará un requestId único, establecerá el tiempo de expiración de la solicitud y emitirá el evento OracleRequest. Este evento contiene los datos detallados de la solicitud, utilizando el formato de codificación CBOR (Representación Concisa de Objetos Binarios).
Los nodos fuera de la cadena, tras recibir el evento OracleRequest, analizarán la información de la solicitud, obtendrán los datos necesarios a través de una llamada a la API y luego enviarán los datos en la cadena mediante la llamada al método fulfillOracleRequest del contrato oracle. Este proceso incluye una serie de pasos de verificación para garantizar la validez y seguridad de los datos. Finalmente, el contrato oracle llamará a la función de callback del contrato del solicitante, completando así todo el proceso de solicitud y respuesta de datos.
Para los desarrolladores, Chainlink también ofrece un servicio de máquina de oráculo de precios más conveniente. Cada par de negociación tiene un Price Feed independiente (también conocido como Agregador), que es, de hecho, una instancia del contrato AggregatorProxy. Estos contratos proporcionan métodos como decimals(), description(), version(), getRoundData() y latestRoundData(), permitiendo a los desarrolladores obtener fácilmente los datos de precios que necesitan.
En la mayoría de los escenarios de aplicación, los contratos principalmente necesitan leer el precio más reciente, lo que se puede lograr llamando al método latestRoundData(). Cabe destacar que para los pares de trading cotizados en USD, la precisión del precio suele ser uniforme a 8 dígitos, lo que simplifica la complejidad del manejo de la precisión entre diferentes tokens.
A través de este diseño, Chainlink no solo ofrece servicios de oráculo flexibles, sino que también proporciona a los desarrolladores una forma conveniente de acceder a datos de precios, simplificando en gran medida el proceso de interacción de aplicaciones blockchain con datos del mundo exterior.