Recientemente, escuché que Tether (USDT) en Ethereum se ha emitido con frecuencia. Con el fin de aprender, auditamos el código fuente del contrato inteligente (TetherToken) de Tether y los eventos de llamadas relacionados con la emisión de USDT en etherscan Este artículo registra el proceso de análisis.
La siguiente es la función de emisión de USDT del contrato inteligente TetherToken:
Se puede ver que la cuenta propietaria del contrato TetherToken necesita llamar a la función issue(uint) issue para emitir USDT adicionales, y se generará un evento Issue(amount) issue después el problema es exitoso.
Echemos un vistazo a la captura de pantalla del registro adicional más reciente:
Hash de transacción: 0xdd108cd36fbeaab03b29ac46d465ad9824618d683268681d3206bd78302e0d71
Se puede ver que en los detalles de la transacción anteriores, no se llama a la función de emisión issue(uint) del contrato TetherToken, pero se llama a la función confirmTransaction(uint) del contrato MultiSigWallet para completar el operación de emisión.
Hay dos cosas a tener en cuenta:
Análisis de llamada de contrato de TetherToken
Veamos primero la implementación de la función confirmTransaction(uint) del contrato MultiSigWallet
Para llamar a la función confirmTransaction(uint) para confirmar y ejecutar la transacción, se deben cumplir las siguientes condiciones
submitTransaction(address,uint,bytes) llamará a la función addTransaction(address,uint,bytes) dentro del contrato, y su implementación es la siguiente:
El proceso final de operación de confirmación de envío completo es el siguiente:
1. Llame a la función submitTransaction (address,uint,bytes) para enviar la transacción y pasar los parámetros: dirección de contrato, valor ético, carga útil. Nota: Confirmar una transacción incluye una confirmación de transacción.
Evento de envío -> El evento de confirmación se envía a su vez.
2. Para llamar a confirmTransaction(uint) para confirmar y ejecutar la transacción, se requieren 3 cuentas de propietario diferentes para completar la confirmación final.
Enviar el evento de Confirmación a su vez -> ejecutar el evento generado por payload (satisfaciendo el número de confirmaciones)-> Evento de Ejecución.
La llamada de contrato cruzado de TetherToken se muestra en la siguiente figura:
Análisis de emisión de USDT
Continúe observando el evento de llamada de esta transacción adicional, que solo cumple con el evento generado al llamar a la función confirmTransaction(uint) .
Los parámetros de llamada se pueden ver consultando el ID de transacción.
Se traduce al siguiente pseudocódigo:
Entonces, ¿de dónde proviene el USDT de la dirección Bitfinex: MultiSig 2 ? De acuerdo con el ID de transacción, siga rastreando una transacción hacia adelante para encontrar la transacción que realmente emitió USDT para la dirección Bitfinex: MultiSig 2 :
Hash de transacción: 0xb467ea92b5c0095b1a96f35eb466b239c13e5b0b3f493e3e452f832d99830d6b
Esta es la operación real de emitir USDT adicionales para Bitfinex: direcciones MultiSig 2 .
La emisión de USDT se muestra en la siguiente figura:
Tags:
Golden Finance News, el 30 de abril, la Asociación Suiza de Tecnología y Mercado de Capitales (CMTA) emitió un estándar general para la custodia de activos digitales.
A las 19:00 del 30 de abril, Greg Meredith, el fundador de RCain.
El precio de Bitcoin continúa encontrando una resistencia de alrededor de $9,000, oscilando en un estrecho rango de $300 durante las últimas 48 horas. Con su reducción a la mitad acercándose.
Recientemente, escuché que Tether (USDT) en Ethereum se ha emitido con frecuencia. Con el fin de aprender.
En abril, el mercado se estaba recuperando después de una fuerte caída. ETH subió de un mínimo de $ 86 a $ 200, un aumento del 130%.
Con la aceleración del proceso de globalización económica, el flujo transfronterizo de dinero y capital ocurre todo el tiempo. Debido a las diferencias en los tipos de moneda y las políticas regulatorias.
Fichas canjeables Internet permite que cualquier persona en el mundo cree, cargue y comparta información en forma de texto, imágenes, video y audio. Asimismo.