Move.

Publicación

Comparte tu conocimiento.

Bolke .
Apr 02, 2025
P&R expertos

¿Se puede usar la aleatoriedad en las funciones públicas de Move que no son de entrada?

Soy nuevo en el uso de la aleatoriedad en la programación de Move. La documentación sugiere usar el azar solo en las funciones de entrada. Sin embargo, estoy considerando usar la aleatoriedad para establecer valores, no para el código de bifurcación. ¿Está bien usar la aleatoriedad en una función pública de esta manera?

  • Move CLI
  • Move
1
1
Cuota
Comentarios
.

Respuestas

1
Ramirez.
Apr 2 2025, 22:45

No necesariamente. Si defines una función pública, por ejemplofoo(Random, SharedObj, ...), un atacante puede aprovecharla creando una función, por ejemploattack(Random, SharedObj, ...), que llame a tu función. A continuación, el atacante puede inspeccionar las modificaciones del objeto compartido y decidir si aborta la transacción en función de su nuevo estado. Es similar a un ataque descrito en la documentación de Sui sobre la aleatoriedad, pero implica un estado compartido. Incluso si los campos sensibles no están expuestos, un atacante podría serializar y analizar el estado del objeto. Por lo tanto, siempre podían «ganar» o «abortar», pero nunca «perder». Si esto es aceptable para su caso de uso, puede continuar con el uso de una función pública y suprimir la advertencia.

0
Mejor Respuesta
Comentarios
.

Sabes la respuesta?

Inicie sesión y compártalo.

Usamos cookies para asegurarnos de que obtenga la mejor experiencia en nuestro sitio web.
Más información