Indeed, it became so common these days that people think it is an essential attribute of crypto. No, it is not.
Most of the problems stem from the original sin of the unconstrained account-based programming model of smart contracts.
The model is so attractive for professional developers because they can reuse there skills.
Users, however, mostly unaware of the risks, and of the fact that, due to intrinsic "flexibility" of the "EVM-compatible" smart contracts, developers simply cannot guaranty asset safety. This should change or else users will start to be wary of EVM-compatibility as a sign of a "high risk" or "danger" zone in the crypto world.
On the other side of the spectrum eUTXO-based smart contracts (such as those in
@ergo_platform and
@Cardano) where you can precisely describe (and also formally verify) the conditions for assets transfer. But, developers need to learn new tricks, which, you know, sometimes can be a really painful cognitive exercise - the main reason of slow adoption of eUTXOs.
This is the news of the day.
Last week was
@ledger’s drainer attack.
A week before that:
@peapodsFinance’s reentrancy vuln.
November ended with
@kyberswap’s flash loan abuse based on a logic bug.
And it goes on, and on, and on...
@alephium fixes this.