
"不在交易所留币",已经不适用所有人
Not your keys, not your coins 这句话,2014 年成立,2020 年也成立,2021 年之后就不再对所有人成立。本课不是劝你回到交易所,而是建议你按金额和操作能力,把资产分层放到合适的地方。
一句话的有效期
"Not your keys, not your coins" 这句话讨论的是中心化交易所的破产风险——用户存进交易所的币说穿了就是给交易所开了一张"借条",交易所沉了,借条不值钱。这句话在那个语境下完全正确。
但这些年里有几件事改变了它的适用范围:
- 几家头部交易所开始定期公布自己的储备证明(PoR)。
- 链上钓鱼工具化了。授权钓鱼、Permit2 签名滥用、Drainer 工具包,针对的都是私钥在自己手里的用户。
- dApp 的前端也成了攻击面。2023 年 12 月 Ledger Connect Kit 那次事件里,被攻破的是 dApp 集成的前端库,硬件钱包本身没被攻破,用户却照样会在设备上确认一笔恶意交易。
- 普通用户的链上操作比早年复杂得多。那时候基本只有"转账",现在有质押、跨链桥、AMM、永续合约、空投签名——每一种都是新的攻击面。
结果就是:近几年普通用户丢币,钓鱼授权、签名诈骗和合约漏洞已经是不能忽略的原因,不再只有交易所出事这一种。
本课不反对自托管,反对的是不分情况照搬一句老话。
一、这句话是怎么成为共识的
"Not your keys, not your coins" 这句话的历史是这样的:
- 2014 年 Mt.Gox 倒下。用户开始意识到交易所余额只是借条。
- 2016 年 Bitfinex 被黑 12 万 BTC。用户余额被统一减记约 36%,再以"BFX 代币"补偿。这件事说明:哪怕一家所还在营,一次黑客攻击也会让用户分摊损失。
- 2019 年 1 月 QuadrigaCX 宣布创始人 Gerald Cotten 已于 2018 年 12 月在印度去世,2 月平台停止运营。安大略证券委员会工作人员 2020 年 6 月的审查报告认为,客户至少 1.69 亿加元的损失大部分来自 Cotten 的欺诈行为,而不是密钥丢失(OSC 报告,详见沉船录·卷四)。这件事把"一个人单独控制整家交易所"这个风险维度补上了。
- 2020 年 10 月 OKEx 暂停提币。10 月 16 日起暂停,原因是创始人在配合警方调查;11 月 19 日宣布最晚 11 月 27 日前恢复(维基百科 · OKX 词条)。
从 2014 到 2020 年,上面这几起大规模损失都出在中心化交易所。所以"Not your keys, not your coins" 在这段时间里很管用:币不在交易所,这几起事就碰不到你。
转折点在 2021 年前后。DeFi 大爆发之后,普通用户从"只用交易所"变成大量操作都在钱包里完成,钱包也就成了更容易下手的地方。
二、2021 年之后新增的四种"非 CEX 风险"
钓鱼授权与 Permit2 滥用
攻击逻辑:用户把钱包连到一个看起来正常的 dApp,dApp 弹出一个签名请求,实际内容是授权某个地址动用钱包里的某种代币。用户往往不细看签名内容——硬件钱包屏幕有时也只显示一串哈希,而不是人能读懂的文本。签了,对方就拿到了额度。
Permit2 是 Uniswap 推出的代币授权合约:用户先把某种代币一次性授权给 Permit2 合约,之后再用签名给具体应用开额度,每一笔都带着授权对象、金额和到期时间(Uniswap · Permit2 文档)。它的本意是改善体验,但也给了钓鱼者一个入口:诱导用户签下一条把大额度、长有效期开给钓鱼地址的消息,对方就能在到期前把这部分代币转走。
dApp 前端库被劫持(Ledger Connect Kit)
2023 年 12 月 14 日,一名 Ledger 前员工被钓鱼,攻击者借此在 npm 上发布了带恶意代码的 Ledger Connect Kit(一个被很多 dApp 集成的钱包连接库,受影响的是 1.1.5、1.1.6、1.1.7 三个版本)。恶意代码会诱导使用这些 dApp 的 EVM 用户签下把资产转给攻击者的交易。按 Ledger 的事件报告,攻击者自始至终没有进入 Ledger 的任何基础设施;从 npm 包被攻破到彻底处理完大约 5 个小时,资产实际被转走的时间窗口加起来不到两小时(Ledger 事件报告)。
这件事说明的是:硬件钱包保住了私钥,但如果前端递过来的交易本身就是恶意的,你在设备上按下确认,钱照样会走。Ledger 在同一份报告里说,会继续推动 Clear Signing(把交易内容以可读形式显示出来),并逐步取消盲签。
合约漏洞与升级权限滥用
智能合约也会被黑。这件事在 2020 年之后越来越普遍——主要因为合约本身变得越来越复杂。2022 年 Wormhole 桥 3.2 亿美元、Nomad 桥 1.9 亿美元,都是合约漏洞导致;同年 Ronin 桥 6.25 亿美元被盗,原因是验证节点私钥被控,不是合约代码本身的漏洞。这些桥的用户严格意义上都是"自托管"——但他们的币锁在桥里,桥被攻破之后他们的私钥再安全也没用。
升级权限滥用是另一种变体——开发者保留合约升级权限,某天升级合约让它转走所有用户余额。用户能做的只有事先查清楚合约的升级权限握在谁手里。
人为操作失误(地址污染、剪贴板木马)
这一类最朴素。地址污染攻击的逻辑是:攻击者用 vanity address 生成器生成一个开头和结尾几位都和你常用地址一致的诱饵地址,然后给你转 1 美元让这个地址留在你的交易历史里。下次你复制地址时——很多人只看开头和结尾——就会复制到错的地址。这种攻击门槛很低,却出过单笔损失巨大的案例。
剪贴板木马更原始。在 Windows 系统上感染剪贴板劫持木马之后,你 Ctrl+C 复制一个 BTC 地址,Ctrl+V 粘贴的时候被替换成攻击者的地址。
上面四类有一个共同点:受害者都是自托管,私钥都在自己手里。但握着私钥,拦不住你把币签给错的对手方、转到错的地址,或者锁进不安全的合约。这是 Not your keys, not your coins 这句话照顾不到的地方。
用户实际签下的,是给某个地址开出一笔大额度、长有效期的代币授权
两边的损失为什么没法简单比大小
把交易所和自托管两边的损失逐年摆在一起比倍数,看起来直观,其实很难做准。交易所这一侧的损失高度集中在少数大事件上,一年里只要出一次 FTX、Bybit 这种级别的事,全年数字就被整个拉高;自托管这一侧则散在大量钓鱼、授权和地址污染事件里,各家机构的统计口径也不一样。
所以这里不给倍数,只给一个判断:2021 年之后,发生在自托管一侧的损失已经不是可以忽略的小头——私钥在自己手里,不等于钱就安全。这不等于"交易所比自托管安全",两种放法应该按金额分层来讨论。
三、资产分层:三个金额档位三种放法
下面是一种分层办法。可参考,但不必照搬——分层标准应该根据你的总持仓金额、交易频率、和链上操作熟练度调整。
| 金额档 | 建议放法 | 主要风险 | 主要好处 |
|---|---|---|---|
| 低于半年生活费 | 放一家信息公开、合规经营的交易所即可(怎么挑见第四节)。 | 该所发生 FTX 级事件 | 便利、操作失误的风险低 |
| 半年到三年生活费 | 三分法:30% 留所内活跃交易;50% 硬件钱包(Trezor/Ledger)冷储备;20% 留小额测试钱包。 | 硬件钱包签名劫持、地址污染、人为操作失误 | 主仓远离 CEX 风险,主仓不直接接触 dApp |
| 三年生活费以上 | 多层:10-20% 留所内、40% 硬件钱包冷储备(两个不同品牌的硬件钱包分散)、30% 多签(Safe + 3 人独立签名)、10% 第三方合规托管(Coinbase Custody / BitGo) | 单一硬件钱包供应链攻击、多签合约风险、第三方托管商风险 | 无单点故障;任一向量被攻破不会损失全部 |
三年生活费以上这一档,建议再加一条:把"应急 5 千美元"放在地理位置远离主仓的另一台设备上。这条没有任何技术含义——它纯粹是为了在主仓出事的时候,你手边还有一笔能马上动用的钱。
左:低于半年生活费 · 中:半年到三年 · 右:三年以上
四、如果放交易所,怎么挑才不踩到下一个 FTX
既然小额和中额都建议有一部分放在交易所,怎么挑交易所就是关键问题。可以用五条筛子:
- 定期公布储备证明(PoR)。这一条 FTX 没做过。要分清:PoR 是交易所自己公布的储备证明(如 Merkle 树自证),不等于会计师审计。有独立第三方出具的报告更可信;没有的,就只能自己核链上地址。
- 至少 3 个主流司法管辖区的金融牌照。而且每一张都要能在对应监管机构官网的持牌名录里查到。
- 有公开的用户保险基金。金额公开、地址能在链上查到的才算。FTX 当年在合约平台上也挂着一个"保险基金"的余额数字,但那不是一笔独立隔离、地址可查的资金。
- 无关联交易公司或有充分隔离证明。FTX 和 Alameda 就是反例。同时拥有一家做市公司和一家交易所的,要拿得出独立第三方出具的报告,证明两者是隔离的。
- CEO 公开发言可查、可对账。看他谈风控时给的是机制还是形容词:说得出"谁在什么条件下能动这笔钱、你怎么自己验"的,和只会说"我们非常重视安全"的,是两种公司。
这五条每一条怎么去查、过了几条对应放多少仓位,第二课逐条展开了,按那里的步骤自己打分。
这一课落到操作上就是按金额分层:小额可以放交易所,中额开始考虑硬件钱包,大额必须分散。哪一档都不要把全部资产押在单一环节上。
- Ledger · Security Incident Report(2023 年 12 月 14 日 Connect Kit 事件,报告发布于 2023 年 12 月 20 日)
- Uniswap · Permit2 文档
- 安大略证券委员会(OSC)· QuadrigaCX 审查报告(2020 年 6 月)
- 维基百科 · OKX 词条(2020 年 10 月暂停提币)
如发现本文事实性错误,欢迎写信至 [email protected],我会公开更正并署上你的名字。