Publicación
Comparte tu conocimiento.
Consejo de seguridad de Sui Move: no dejes caer la papa caliente
En Sui, cada activo es un objeto y cada objeto es una pequeña máquina de estado.
Un patrón de aplicación común es el Hot Potato: una estructura sin habilidades que debe consumirse antes de que finalice la transacción o se cancele toda la operación.
Los préstamos flash a menudo se basan en esto. Se devuelve un recibo al prestatario y debe devolverse al protocolo para demostrar el reembolso.
❌ Añada la entrega directa al recibo ✅ Acabas de introducir un vuln crítico
Ahora el prestatario puede dejar la patata y marcharse sin pagar.
La habilidad de soltar de Move permite a cualquiera destruir el objeto, a menos que tú lo impidas intencionadamente omitiendo la habilidad de soltar.
Consejo profesional: audita todas las estructuras de tu protocolo.
🔴 Si representa una obligación (como un recibo de préstamo flash), elimina drop 🟢 Si no debe copiarse, elimine la copia 🔵 Si no debería ser global, elimina la tienda
Sui Move le brinda un control de bajo nivel sobre la semántica de los activos. Si haces un mal uso de una sola habilidad, el cumplimiento se interrumpe.
Manipule los objetos con cuidado. No dejes caer la papa caliente
- SDKs and Developer Tools
- Transaction Processing
Respuestas
1Si Hot Potato es una estructura sin habilidades, ¿por qué añadiría alguien una gota? Por definición, no debería tener habilidades de caída ni de ningún otro tipo.:)
Además, creo que sería mejor tener campos adicionales para el recibo, como la cantidad prestada, y compararlos con ellos en lugar de codificar 10 MIST. Esto ilustraría mejor cómo se puede usar un recibo.
Sabes la respuesta?
Inicie sesión y compártalo.
Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.
Gana tu parte de 1000 Sui
Gana puntos de reputación y obtén recompensas por ayudar a crecer a la comunidad de Sui.
- ¿Por qué BCS requiere un orden de campo exacto para la deserialización cuando las estructuras Move tienen campos con nombre?53
- «Errores de verificación de múltiples fuentes» en las publicaciones del módulo Sui Move: resolución automática de errores43
- Fallo en la transacción Sui: objetos reservados para otra transacción25
- ¿Cómo interactúan las restricciones de capacidad con los campos dinámicos en colecciones heterogéneas?05