Isaac Almanza(ialmanza.eth) pfp
Isaac Almanza(ialmanza.eth)
@ialmanza.eth
A reentrancy attack happens because the EVM doesn't allow concurrency. This means that two contracts involved in a message call cannot run simultaneously. An external call pauses the calling contract's execution and memory until the call returns, then execution proceeds normally
1 reply
0 recast
1 reaction

jp  🦊🎩 pfp
jp 🦊🎩
@jpfraneto
what is the mental model about smart contracts that allows you to understand this properly? i read that but didn’t understand what you mean.
1 reply
0 recast
0 reaction

Isaac Almanza(ialmanza.eth) pfp
Isaac Almanza(ialmanza.eth)
@ialmanza.eth
Yes, I think the best explanation: a smart contract can run a task at the time. The vulnerability happens when an Attacker contract calls a Victim contract creating a loop allowing to drain the funds in the smart contract
0 reply
1 recast
0 reaction