¿Vector de ataque de reentrada en contratos inteligentes de tezos?
2 respuestas
- votos
-
- 2019-01-31
Michelson (y un lenguaje denivel superior como Liquidez)nopermite que un contratointeligente llame a otro contratointeligente sin comprometer suestado/almacenamientoprimero.Hace que los ataques de reentrada seanmenosprobables,peronoimposibles.
Michelson (and higher level language like Liquidity on top of it) does not allow a smart contract to call another smart contract without commmitting its state/storage first. It makes reentrancy attacks less likely to happen, but not impossible.
-
¿Seríaposibleextender su respuesta o almenos referirse a otrafuente quepodríaexplicar un casoen el queesto *podría * suceder?Would it be possible to extend your answer or at least refer to another source that could explain a case where this *could* happen?
- 0
- 2019-02-01
- latte_jed
-
- 2019-02-03
Para llamar a otro contratointeligente,llame a TRANSFER_TOKENS.
La semántica de laevaluación de contratos se ha adaptado (entorno a alphanet,noestoyexactamente seguro de cuándo sucedióesto)para quetodas lastransacciones/operaciones como TRANSFER_TOKENS seejecuten realmente después de que regrese laevaluación del contrato.
Estoimplica queel contratonoestá sujeto a reentradainmediata.
To call another smart contract, you call TRANSFER_TOKENS.
The semantics of contract evaluation has been adapted (around alphanet, I'm not exactly sure when this happened) so that all transactions/operations such as TRANSFER_TOKENS are really executed after the contract evaluation returns.
This implies that the contract is not subject to immediate reentrancy.
Escuché que Michelson ayuda aevitarelerror de reentrada.¿Porquéeseso?¿Hay alguna característicaen elidioma que loimpida?