En el bosque oscuro de Crypto, los métodos de los desarrolladores maliciosos aumentan constantemente.
Autor |

Token Pixiu generalmente se refiere a una situación en la que un determinado token solo se puede comprar pero no se puede vender, y el desarrollador eliminará el LP para obtener ganancias después de un período de tiempo y atraerá al comprador. El Pixiu retrasado se puede comercializar en un corto período de tiempo cuando el token se abre por primera vez para el comercio y luego se convierte en el estado Pixiu. Para este tipo de técnica Rug Pull, muchas herramientas de detección de contratos aún no han agregado las funciones de detección correspondientes y se está convirtiendo en uno de los principales métodos de ganancias para los desarrolladores maliciosos.
A continuación, Odaily Planet Daily explicará cómo se implementa el retraso Pixiu a través de una breve descripción de los principios de ERC 20 y Uniswap.
Nota: Algunas de las analogías del artículo no son completamente rigurosas para facilitar la comprensión.
Conceptos básicos de ERC 20
La mayoría de los tokens del mercado cumplen con el estándar ERC-20. ¿Cuál es la respuesta de ChatGPT?
ERC-20 es un estándar de token en la cadena de bloques Ethereum que define un conjunto de reglas e interfaces que deben seguir los contratos de token. Este estándar estandariza las funciones básicas de los tokens, incluidas transferencias, consultas de saldo, autorización para gastar tokens en nombre de otros, etc.
Estas son algunas de las principales reglas y características del estándar del token ERC-20:
Transferencia: los tokens ERC-20 se pueden transferir mediante contratos inteligentes, lo que permite a los usuarios enviar tokens a otras direcciones de Ethereum.
BalanceOf: los usuarios pueden consultar su saldo de tokens ERC-20 para ver cuántos tokens poseen.
Consulta de saldo (BalanceOf):
De hecho, esta función no solo tiene una función de "consulta", sino que esta función también define cuántos tokens "posee" el usuario. Cada token puede entenderse como un "banco", y cada dirección de billetera obtiene una "tarjeta de depósito" del "banco" después de intercambiar tokens, que registra el saldo (Saldo) de cada dirección El usuario Es decir, puede solicitarlo. el banco para verificar su saldo, o puede realizar una solicitud de cambio de activo al banco para realizar transacciones.
Nota: Ethereum adopta el modelo basado en cuentas.
Por lo tanto, los usuarios no son esencialmente "dueños" de sus activos, sino que la cantidad de tokens que pueden "gastar" está "definida" por una función.
Es decir: X tokens Saldo de [cuenta A] = La cantidad de X tokens que la cuenta A puede gastar externamente
Nota: Los depósitos bancarios en el mundo real son la deuda del banco con sus clientes y el banco tiene propiedad de activos.
Transferir
Todos los tokens ERC-20 deben completar la función de transferencia. Según el modelo de libro mayor anterior, cuando se produce una transferencia, no es la cuenta A la que "entrega" un token a la cuenta B, sino que se deduce de la cuenta A. La cantidad de tokens es. X, y la cantidad de tokens X se agrega a la cuenta B.
Es decir: Saldo de [Cuenta A]-X y Saldo de [Cuenta B]+X al mismo tiempo
Los desarrolladores pueden modificar la función de transferencia para limitar el número de transferencias, cesionarios, etc.
La función de transferencia es la fuente fundamental de la mayoría de los mecanismos Pixiu.
Uniswap
La sección anterior comparó cada token con un "banco", entonces Uniswap puede entenderse como un intermediario de aceptación, que intercambia dos tokens mediante el principio AMM de xy=k.
El proceso de intercambio es el siguiente:
El usuario transfiere el token A al contrato de Uniswap
Uniswap utilizará y=k/x para calcular los tokens que deben devolverse de los tokens recibidos y deducirá la tarifa de gestión.
Uniswap transfiere el token A al grupo LP y retira el token B
Uniswap transfiere el token B al usuario
Por supuesto, Uniswap en realidad implica múltiples funciones y procesos. El punto clave que hay que entender aquí es que Uniswap solo realiza transacciones basadas en "tokens recibidos", y cuando el usuario realiza la operación de "transferencia", la cantidad puede haber cambiado.
Mecanismo pixiu
En esta sección, el mecanismo Pixiu se divide en dos categorías:
① Alto impuesto a las transacciones, lo que resulta en que los usuarios no reciban reembolsos por los tokens de ventas;
② No se puede realizar la transferencia, lo que hace que los usuarios no puedan comerciar con Uniswap.
alto impuesto a las transacciones
Esta sección muestra un proceso de cálculo de monedas Meme con impuestos a las transacciones como se muestra a continuación (centrese solo en la parte roja).
Calcular los impuestos a las transacciones
Deducir la cantidad total de dinero de la billetera del usuario (BalancerOf[usuario] reduce el token A)
Transfiera dinero a la billetera del desarrollador o LP y otras direcciones (BalancerOf[Dev] aumenta el token A × el impuesto S)
Transfiera algunos tokens a Uniswap para cambiarlos por el token B (token A×(1-S))
El usuario recibe el token B insuficiente

Como se mencionó en la sección anterior, Uniswap solo procesa los "tokens recibidos" y los desarrolladores pueden modificar la cantidad transferida a Uniswap y a los usuarios a voluntad.
Aquí, si la tasa del impuesto a las transacciones se modifica al 100%, se implementará el tercer paso "③Transferir a la billetera del desarrollador o LP y otras direcciones" y el usuario ya no recibirá tokens.
No se puede transferir
En Solidity, los desarrolladores pueden restringir las transacciones mediante require:
Si el desarrollador restringe el intercambio de tokens a ciertas direcciones de la lista blanca, el usuario no podrá enviar los tokens que tiene en la mano a Uniswap. En el segundo paso "② deducir dinero de la billetera del usuario", se implementará Pixiu y el. El desarrollador podrá configurar el enrutador de Uniswap para enviar tokens y el resultado es:
Los usuarios solo pueden comprar (Uniswap transfiere tokens a los usuarios), pero no pueden vender (porque los tokens no se pueden transferir a Uniswap para intercambiarlos por ETH, etc.).
O los desarrolladores pueden establecer el límite de transferencia en 0, desactivar el interruptor de transacción y otras operaciones a través de varias rutas, pero al final todos controlan el comportamiento de la "transferencia".
Pixiu retrasado
Se logra un mayor retraso requiriendo que se limite el tiempo (altura del bloque).
Por ejemplo, en un determinado token, las restricciones son las siguientes:
requerir(bloque.número < _permiso)
A medida que aumenta la altura del bloque, los usuarios no podrán realizar transferencias cuando alcance un cierto umbral, según Pixiu.
Además, también hay Pixiu que se realizan cuando el número de transacciones alcanza un cierto umbral. Este tipo de Pixiu retrasado se puede negociar normalmente en la situación inicial si no hay una configuración específica cuando se verifican ciertas herramientas de detección de seguridad del contrato, lo que induce a los usuarios. caer en una trampa.
como prevenir
En vista del hecho de que este tipo de método de recolección se usa comúnmente en "perros de descarga", los compradores a menudo buscan la eficiencia e ignoran la seguridad, y todavía no hemos visto a ninguna empresa de seguridad madura lanzar una herramienta de detección especial para este método, por lo que Odaily Planet Daily quisiera recordarle que, por el bien de sus propios activos, los compradores con ciertas habilidades de codificación también deben revisar el código del contrato (o usar herramientas como ChatGPT para echar un vistazo rápido), prestar especial atención al contrato de selpair y permanecer lejos de proyectos que contienen áreas de código inusuales.

