Smart Contract Risk
The risk that the code running a blockchain application behaves differently from what users expect, and money is lost as a result.
Smart contracts hold assets directly and execute automatically, so a flaw is not a customer-service problem but an open invitation that anyone in the world can accept. Recurring bug classes include reentrancy, where an external call lets an attacker re-enter a function before balances update; access-control errors that leave a privileged function callable by anyone; arithmetic and rounding issues in share accounting; and unsafe assumptions about token behavior or price inputs. Defenses include independent audits, formal verification of critical invariants, deposit caps during a rollout, bug bounties, and time in production, none of which eliminate the risk. The canonical historical example is the 2016 attack on The DAO on Ethereum, which exploited reentrancy and led to the contentious hard fork that produced Ethereum and Ethereum Classic.
In der Praxis
In a reentrancy attack, the contract sends assets out before it reduces the attacker's recorded balance, allowing the withdrawal to be repeated within a single transaction.
Das häufige Missverständnis
That an audit makes a contract safe, when an audit is a time-boxed review of one version of the code and many exploited contracts had been audited beforehand.