Skip to main content

This site is for educational purposes only. Nothing here constitutes financial advice.

Topic 163 of 179

Smart Contract Vulnerability Classes

The recurring bug patterns behind most smart-contract exploits — reentrancy, access control, oracle manipulation, and more — explained so you can recognise the shapes of risk rather than just the headlines.

Beginner
8 min readUpdated July 2026Block Clarity Hub Editorial Team

Most Hacks Fall Into Known Patterns

Smart-contract exploits can seem mysterious, but the great majority fall into a handful of well-known vulnerability classes — recurring patterns of mistake that show up again and again across different projects. Learning these patterns is valuable not to make you an auditor, but to help you recognise the shapes of risk: why audits matter, why certain designs are riskier, and why 'it's on the blockchain' doesn't mean 'it's safe'. Because smart contracts are immutable (hard to change once deployed) and hold real money, a single instance of one of these bugs can be catastrophic and irreversible. Understanding the common classes demystifies how hundreds of millions have been lost and what defenders are guarding against.

A Few of the Big Ones

Some of the most important classes are easy to grasp in outline. Reentrancy: a contract calls out to another contract, which calls back in before the first has finished updating its records — letting an attacker withdraw repeatedly (the pattern behind the infamous DAO hack). Access control flaws: a sensitive function isn't properly restricted, so someone who shouldn't be able to (e.g. anyone) can call it — like leaving an admin door unlocked. Oracle manipulation: a contract relies on a price feed that an attacker can distort (often using a flash loan), tricking it into mispricing and letting the attacker drain value. Arithmetic errors: numbers overflowing or rounding wrongly, letting attackers mint or extract more than they should. Each is a specific, recognisable pattern, and each has caused major real-world losses.

  • Most exploits fall into known, recurring vulnerability classes
  • Reentrancy: re-entering a function before it finishes updating (the DAO hack)
  • Access control: sensitive functions left unrestricted (an unlocked admin door)
  • Oracle manipulation & arithmetic errors: distorting prices or numbers to extract value

Key Takeaways

  • Most smart-contract hacks follow well-known bug patterns, not novel magic
  • Reentrancy, access control, oracle manipulation, and arithmetic errors are core classes
  • Immutable contracts holding money make a single such bug catastrophic

Related Content

Bulletproofs & Range Proofs

How you can prove a hidden number is in a valid range — like proving a confidential transaction amount is positive without revealing it — using compact, trustless-setup zero-knowledge proofs.

Fee Markets & EIP-1559

How blockchains price the limited space in each block — the auction that sets your fee, what EIP-1559's base fee and burn actually changed, and why block space is a real economic market.

Concentrated Liquidity Mechanics

How Uniswap v3-style AMMs let liquidity providers focus their capital in a chosen price range for far greater efficiency — and why that efficiency comes with more active management and amplified impermanent loss.

Batch Auctions & Dutch Auctions

Two auction designs reshaping how crypto trades and launches settle — uniform-price batch auctions that neutralise front-running, and descending-price Dutch auctions used for fair launches and liquidations.

Mechanism Design & Cryptoeconomics

The discipline of designing rules and incentives so that self-interested participants produce the outcome you want — the invisible foundation beneath consensus, tokens, governance, and every 'trustless' system.

Alternative Consensus Mechanisms

Beyond proof of work and proof of stake — the landscape of other ways blockchains agree, from proof of history and proof of space to DAG-based and BFT consensus, and what each trades off.

KZG & Polynomial Commitments

The cryptographic workhorse behind modern ZK proofs, danksharding blobs, and verkle trees — how committing to a polynomial lets you prove facts about huge amounts of data with tiny, constant-size proofs.

Commitment Schemes & Nullifiers

Two small cryptographic primitives that power on-chain privacy — how commitments hide a value while binding you to it, and how nullifiers let you spend a secret exactly once without revealing which one.

References & further reading