Digital Asset Database Digital asset research & education
BTC$77,844+1.15% ETH$2,404+0.29% USDT$0.9996+0.00% BNB$701.13+2.45% XRP$1.37+3.01% USDC$0.9998+0.00% SOL$100.65+1.60% TRX$0.3263+1.13% FIGR_HELOC$1.01-2.00% HYPE$81.95+0.23% ZEC$828.08+0.52% DOGE$0.0832+2.68% RAIN$0.0166-0.61% USDS$0.9997+0.01% XMR$513.72-0.70% LEO$9.30+0.14% WBT$71.28+0.67% LINK$11.21+0.95% ADA$0.2082+6.96% XLM$0.1771+1.82% BCH$250.77+2.37% DAI$0.9997+0.00% CC$0.1095-2.43% USDE$0.9994+0.00% USD1$0.9993+0.00% LTC$50.78+3.88% GRAM$1.34+1.69% UNI$5.76-7.69% HBAR$0.0767+4.29% USDG$1.00+0.03% SUI$0.7718+7.44% AVAX$7.28+1.74%
菜单
首页
资产 全部资产板块排名Heat map筛选器对比资产★ Saved
基本面 Fees & revenue锁定价值Exchange volume网络活动StablecoinsStaking & yield
估值 估值比率Supply & issuance指标定义
机构 交易所交易产品企业资产负债表
研究 研究笔记事件日历风险框架安全事件
学习 Learn library术语表计算工具方法论数据来源数据新鲜度AI agents公开 API
资讯 查询数据 全球市场 关于我们
阅读选项
Photography CryptoStudio
引导视图

市场新手——价格、收益率、market cap?我们在您浏览时逐一解释每个术语,语言简明直白。数据相同,内置辅助说明。

专家观点

您已了解市场。仅呈现数据——简洁、快速、紧凑,无多余说明。此为默认视图。

浅色或深色
语言
公开 API

本站所有数据均可通过 JSON 获取,并附带期间与来源信息。

阅读 API 文档
Risk Working knowledge 8 min

Smart contract risk: what actually goes wrong in code

Defect classes, economic exploits and upgrade paths are the recurring shapes of on-chain loss, and an audit removes none of them completely.

Smart contract risk is the gap between what a program that holds assets was intended to do and what it will actually do when a motivated stranger interacts with it. The gap is rarely exotic cryptography; it is ordinary software defects operating on funds that anyone in the world can reach without permission. Because settlement is final and the code is the whole of the agreement, losses tend to be abrupt and largely unrecoverable.

Why the code is the entire agreement

A smart contract deployed to a chain running the EVM or a comparable machine executes exactly as written for every caller. There is no clerk to catch an implausible instruction, no settlement desk to reverse a transfer, and often no legal entity with an obligation to make anyone whole. Three properties make this harder than ordinary software. Anyone can call any public function, so the attacker is not constrained to a supported workflow. Contracts compose, meaning another contract deployed later can interact with this one in ways its authors never modeled. And the entire state is public in advance of execution, so an attacker can read the exact conditions required to trigger a defect and test the sequence at leisure before spending anything.

The defect classes that recur

A small set of failure shapes accounts for a large share of documented losses.

  • Reentrancy. A contract makes an external call before updating its own accounting, and the called party calls back in to withdraw again against stale state. The 2016 failure of The DAO on Ethereum, which led to a contentious hard fork, is the canonical case, and the pattern still appears in new code.
  • Missing or wrong access control. A function that changes ownership, mints, or moves funds is left callable by anyone, or is protected by a check that a caller can satisfy trivially.
  • Arithmetic and rounding. Share accounting in a vault that rounds in the depositor's favor, or an empty-vault edge case that lets a first depositor manipulate the share price for everyone after them.
  • Unsafe assumptions about other tokens. Code that assumes every ERC-20 returns a boolean, never charges a transfer fee, and never rebalances balances will misaccount for tokens that do any of those things.
  • Unvalidated external data. A contract trusts a price, a signature, or a callback without checking freshness, source or bounds, which is the subject of the next two articles in this track.
  • Upgrade and initialization errors. A proxy left uninitialized, an implementation contract that can be self-destructed, or a storage layout changed in an upgrade so that two variables now occupy the same slot.

Economic exploits are not bugs in the ordinary sense

In a large class of incidents the code did precisely what it was written to do, and the loss came from an assumption about markets embedded in the design. A flash loan lets any address borrow a very large amount within a single transaction provided it repays before the transaction ends, which removes capital as a barrier to manipulation. If a lending protocol values collateral using a price source that is shallow enough to be pushed, an attacker can borrow, push the price, extract, and repay inside one atomic transaction. Nothing was hacked in the everyday sense. A design assumed that manipulating a market is costly, and for that market it was not. Reviewing code alone will not catch this class; it requires reasoning about the liquidity of every asset the system trusts.

What an audit is, and what it is not

An audit is a time-boxed review of a specified commit by a specified team, delivered as a report with findings and a scope statement. It is not a warranty, not a guarantee of solvency, and not a statement about the economic design unless the scope says so. Several qualifications matter when reading one. Code deployed later, or an upgrade shipped after the review, was not audited. Findings marked acknowledged rather than fixed remain in the deployed system. Formal verification proves a program satisfies stated properties and cannot prove that the stated properties were the right ones. Bug bounties and time in production with meaningful value at stake are additional evidence, and none of these is a substitute for the others. Reports and incident history are worth reading in the original rather than as a badge on a landing page.

Upgradeability cuts in both directions

Immutable contracts cannot be patched, so a defect discovered after deployment is permanent, and users can only exit. Upgradeable ones can be fixed, which means someone holds the power to change the rules that govern funds already deposited. Upgradeability risk and admin key risk are the price of the ability to respond, and a protocol emergency pause is the same trade in miniature: the power that stops a drain in progress is also the power to freeze withdrawals. Neither configuration is safer in the abstract, and the governance article later in this track examines who actually holds these powers.

Reading exposure rather than quality

Total value locked, shown on this site as TVL, measures how much is deposited, which is a measure of what is at stake rather than of how well the code is written. A large figure indicates a large target and a long-lived one indicates time in production without a total failure, which is weak evidence and not nothing. Ratios such as market cap to TVL describe how the market prices a protocol relative to deposits and carry no information about code quality. The honest summary is that code risk is not currently reducible to a number, so it is assessed through the upgrade path, the incident record, the review history and the economic assumptions the design depends on.

The two articles that follow take the largest categories of external assumption in turn, oracles and bridges. The incidents record catalogs how these failures have actually unfolded, and TVL data shows where deposits currently sit.

01

核心要点

Smart contract risk is the distance between intended behavior and actual behavior when any stranger can call any public function without permission.
A small set of defect classes recurs, including reentrancy, missing access control, rounding and share-accounting errors, and mistaken assumptions about other tokens.
Economic exploits use flash-loaned capital against designs that assumed market manipulation would be costly, so code review alone does not catch them.
An audit is a scoped review of one commit, not a warranty, and code deployed or upgraded after the review was never covered by it.
Value locked measures how much is at stake rather than how well a system is built, and no published figure currently summarizes code quality.

资产

全部资产板块排名Heat map筛选器对比已保存

基本面

Fees & revenue锁定价值Exchange volume网络活动StablecoinsStaking & yield

Valuation & risk

估值比率Supply & issuance指标定义风险框架安全事件

机构

交易所交易产品企业资产负债表Events研究笔记资讯

学习

Learn library术语表计算工具查询数据AI agents公开 API

关于

关于我们联系方法论数据来源编辑政策数据新鲜度

法律

免责声明使用条款Privacy policy