Análisis de la tecnología de Máquina de oráculo: el caso de Chainlink
La Máquina de oráculo es una infraestructura básica clave en el campo de la blockchain, y su función principal es proporcionar datos externos a los contratos inteligentes. Como puente que conecta los contratos inteligentes con el mundo real, la Máquina de oráculo desempeña un papel indispensable en el ecosistema de blockchain.
Por ejemplo, si desplegamos un contrato inteligente en Ethereum que necesita obtener el volumen de transacciones de petróleo crudo en una fecha específica, dado que el contrato en sí no puede acceder directamente a datos fuera de la cadena, se requiere la ayuda de una Máquina de oráculo. El proceso específico es el siguiente: el contrato inteligente escribe la información requerida en el registro de eventos, un proceso fuera de la cadena escucha y responde a esta solicitud, y luego transmite los datos necesarios al contrato inteligente a través de una transacción en la cadena.
Entre los numerosos proyectos de máquinas de oráculo, Chainlink se destaca por sus características de descentralización y su cuota de mercado. Chainlink ha construido un mecanismo de incentivos económicos a través del token LINK, formando un ecosistema de ciclo virtuoso. Su función principal es un modelo de solicitud/respuesta basado en el token LINK.
Chainlink adoptó el estándar ERC677, que es una extensión del ERC20 y agrega el método transferAndCall. Este método combina el pago y la solicitud de servicio en uno, satisfaciendo mejor las necesidades comerciales de la Máquina de oráculo. Cuando un usuario llama a transferAndCall para realizar una transferencia, además de la transferencia ERC20 habitual, también se activará el método onTokenTransfer del contrato receptor.
En el contrato oracle de Chainlink, el método onTokenTransfer primero realiza una serie de verificaciones de seguridad, que incluyen la validación del token transferido, la longitud de los datos y el selector de función, entre otros. Tras la verificación, el contrato genera un requestId único, establece un tiempo de expiración y activa el evento OracleRequest. Este evento contiene los detalles de la solicitud, como el formato de los datos, la dirección de retorno, etc.
Después de que el nodo fuera de la cadena escuche el evento OracleRequest, analizará la información de la solicitud, obtendrá los datos necesarios a través de la API y luego llamará al método fulfillOracleRequest del contrato oracle para enviar los datos a la cadena. Este método realizará una serie de verificaciones y luego llamará a la función de devolución de llamada del contrato del solicitante, completando todo el proceso del servicio de Máquina de oráculo.
Para los desarrolladores, Chainlink también ofrece un servicio de oráculo de precios más conveniente. Cada par de comercio tiene un Price Feed correspondiente (es decir, AggregatorProxy), y los desarrolladores pueden llamar directamente a estos contratos para obtener los últimos datos de precios, sin necesidad de especificar una URL de fuente de datos. En la mayoría de los casos de uso, solo es necesario llamar al método latestRoundData() para obtener el último precio.
Es importante señalar que los pares de negociación cotizados en USD suelen tener una precisión de precio uniforme de 8 decimales, lo que simplifica el proceso de manejo de precios de 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.
Análisis de la tecnología de oráculo de Chainlink: el puente que conecta los contratos inteligentes con el mundo real.
Análisis de la tecnología de Máquina de oráculo: el caso de Chainlink
La Máquina de oráculo es una infraestructura básica clave en el campo de la blockchain, y su función principal es proporcionar datos externos a los contratos inteligentes. Como puente que conecta los contratos inteligentes con el mundo real, la Máquina de oráculo desempeña un papel indispensable en el ecosistema de blockchain.
Por ejemplo, si desplegamos un contrato inteligente en Ethereum que necesita obtener el volumen de transacciones de petróleo crudo en una fecha específica, dado que el contrato en sí no puede acceder directamente a datos fuera de la cadena, se requiere la ayuda de una Máquina de oráculo. El proceso específico es el siguiente: el contrato inteligente escribe la información requerida en el registro de eventos, un proceso fuera de la cadena escucha y responde a esta solicitud, y luego transmite los datos necesarios al contrato inteligente a través de una transacción en la cadena.
Entre los numerosos proyectos de máquinas de oráculo, Chainlink se destaca por sus características de descentralización y su cuota de mercado. Chainlink ha construido un mecanismo de incentivos económicos a través del token LINK, formando un ecosistema de ciclo virtuoso. Su función principal es un modelo de solicitud/respuesta basado en el token LINK.
Chainlink adoptó el estándar ERC677, que es una extensión del ERC20 y agrega el método transferAndCall. Este método combina el pago y la solicitud de servicio en uno, satisfaciendo mejor las necesidades comerciales de la Máquina de oráculo. Cuando un usuario llama a transferAndCall para realizar una transferencia, además de la transferencia ERC20 habitual, también se activará el método onTokenTransfer del contrato receptor.
En el contrato oracle de Chainlink, el método onTokenTransfer primero realiza una serie de verificaciones de seguridad, que incluyen la validación del token transferido, la longitud de los datos y el selector de función, entre otros. Tras la verificación, el contrato genera un requestId único, establece un tiempo de expiración y activa el evento OracleRequest. Este evento contiene los detalles de la solicitud, como el formato de los datos, la dirección de retorno, etc.
Después de que el nodo fuera de la cadena escuche el evento OracleRequest, analizará la información de la solicitud, obtendrá los datos necesarios a través de la API y luego llamará al método fulfillOracleRequest del contrato oracle para enviar los datos a la cadena. Este método realizará una serie de verificaciones y luego llamará a la función de devolución de llamada del contrato del solicitante, completando todo el proceso del servicio de Máquina de oráculo.
Para los desarrolladores, Chainlink también ofrece un servicio de oráculo de precios más conveniente. Cada par de comercio tiene un Price Feed correspondiente (es decir, AggregatorProxy), y los desarrolladores pueden llamar directamente a estos contratos para obtener los últimos datos de precios, sin necesidad de especificar una URL de fuente de datos. En la mayoría de los casos de uso, solo es necesario llamar al método latestRoundData() para obtener el último precio.
Es importante señalar que los pares de negociación cotizados en USD suelen tener una precisión de precio uniforme de 8 decimales, lo que simplifica el proceso de manejo de precios de diferentes tokens.