Vettore di attacco di rientranza su contratti intelligenti tezos?
2 risposta
- voti
-
- 2019-01-31
Michelson (e un linguaggio di livello superiore come Liquidity sopra diesso)non consente a un contrattointelligente di chiamare un altro contrattointelligente senzaprima confermareil suo stato/archiviazione.Rendemenoprobabiligli attacchi di rientro,manonimpossibile.
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.
-
Sarebbepossibileestendere latua risposta o almenofare riferimento a un'altrafonte chepotrebbe spiegare un casoin cui questo *potrebbe * accadere?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
Per chiamare un altro contrattointelligente,chiama TRANSFER_TOKENS.
La semantica della valutazione del contratto è stata adattata (attorno ad alphanet,non sonoesattamente sicuro di quando ciò sia accaduto)in modo chetutte letransazioni/operazioni come TRANSFER_TOKENS siano realmenteeseguite dopo la restituzione della valutazione del contratto.
Ciòimplica cheil contrattonon è soggetto a rientroimmediato.
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.
Ho sentito che Michelson aiuta aevitarebug di rientranza.Perché?C'è qualche caratteristicanella lingua che loimpedisce?