Crypto OS
Non-Technical Crypto OS第一阶段 · Crypto 为什么出现

第 5 章 · Crypto 到底属于谁

你的币,究竟放在哪里?

练习的能力
Mental ModelOnchain Literacy
动手
新建一个测试网钱包,抄下助记词,卸载重装,再用助记词恢复,确认地址不变。
AI Lab
让 AI 列出十种丢私钥的方式,把其中你自己真实存在的风险挑出来,写成一页自查表。

一个现实问题

一个刚入门的人做了这么一件事。

他在某个钱包软件里创建了账户,抄下了系统让他抄的那串词,收到了一笔转账。过了两周,他换了台电脑,装了另一个牌子的钱包软件,把那串词输进去。

同样的余额,出现了。

他愣住了,问了一个很好的问题:那我的币到底存在哪个软件里?

如果存在第一个软件里,第二个软件凭什么能看到?如果存在第二个里,第一个软件又是怎么回事?如果两边都存着,那是不是变成了两份?

再往下推,一连串日常问题全都没有答案:

  • 手机摔坏了,币还在吗?
  • 把软件卸载了,币没了吗?
  • 电脑中了病毒,别人能拿走我的币吗?
  • 那串词被人看到了一眼,会怎样?

这些问题之所以难回答,是因为它们全都建立在同一个错误的前提上:

「币在钱包里」——这句话从头到尾就是错的。

这一章要做的,就是把这句话拆掉,然后告诉你正确的那句话是什么。这是全课程里,误解代价最高的一章。

思想实验

回到第 2 章最后那个方案:账本挂在村口的墙上。

墙上密密麻麻写着一行行记录,任何人都能走过去看。但有三件事和你的直觉不一样。

第一件:墙上写的不是名字。

墙上的记录长这样:

7f3a9c...  →  37 枚
b21e04...  →  5 枚
9dd7f1...  →  0 枚

左边那串东西不是名字,是印记。没有人知道哪个印记对应哪个人,除非他自己说。

第二件:要动自己那一行,得用私章,但私章不能出示。

村里的做法是这样的。每个人有一枚私章,谁也不给看。用私章在一张纸条上按一下,会留下一个印。

这个印有一个奇妙的性质:全村任何人都能验证「这个印确实是那枚私章按的」,但谁也没法从印反推出私章长什么样。 而且换一张纸条,印也跟着变,所以别人没法拿走一个旧印去冒用。

每个人的印记是从私章推出来的:有私章就能算出印记,有印记推不出私章。 单向。

第三件:一枚私章可以用一句口诀重新刻出来。

私章本身是一块实物,会丢。所以村里发明了一句十二个字的口诀。只要你还记得这句口诀,任何一个刻章师傅都能给你重新刻出一模一样的私章。

反过来,任何人拿到这句口诀,也能刻出一模一样的私章。刻章师傅不会问你是谁。

好了。现在回答四个问题,一个比一个重要:

问题一:你的 37 枚贝壳在哪里?

在墙上。不在你家,不在私章里,不在那句口诀里。从头到尾都在墙上。

问题二:你家失火,私章和写着口诀的纸都烧了,那 37 枚去哪了?

哪也没去,还在墙上,清清楚楚写着 37。全村人每天都能看见它。

但世界上再也没有任何人能动它了,包括你。它会永远停在那一行,直到这面墙不存在为止。

问题三:你换了个刻章师傅,用同一句口诀刻了一枚新章。你的贝壳还在吗?

在。因为印记只和私章有关,和师傅无关。同样的口诀,刻出同样的章,算出同样的印记,指向墙上同一行。

这就是开头那个人遇到的事。他换的不是保险箱,是刻章的师傅。

问题四:有人趁你不注意,把你的口诀抄走了一份。你会知道吗?

不会。口诀还在你手里,字迹一模一样,什么都没少。

你会在某一天路过村口,发现自己那行变成了 0。而且那笔转账完全合法——它带着一个正确的印,全村验证都通过。

从墙的角度看,那就是你自己转的。

你来决定

现在你要决定:这句口诀,你打算怎么保管?

观察结果

四个方案在三条轴上取舍,任何保管方式都逃不出这三条:

谁能动丢了能不能恢复被偷了能不能发现
交给铺子铺子,以及能说服铺子的人能,走重置流程大概率能,有记录和客服
锁进抽屉只有你不能不能,直到余额归零
存进相册你,以及能访问云端的任何人不能,直到余额归零
拆成三份拿到任意两份的人能,只要还剩两份不能

看第三列和第四列。在你完全自己掌握密钥的所有方案里,「恢复」和「察觉」这两栏基本都是空的。

这不是产品做得不好,是结构使然。第 2 章已经讲过原因:

现实世界的账户有「找回密码」,是因为背后存在一个有权修改账本那一行的管理员。

银行能给你重置密码,不是因为它知道你的旧密码,而是因为它有权把那一行改成任何样子。平台能帮你找回账号,同理。

而村口那面墙没有管理员。 这正是第 3 章和第 4 章费那么大力气换来的东西。既然没有人能改你那一行,那么当你自己也改不了的时候,也就没有人能帮你。

所以整章收在一句话上:

你从来没有「把币放进钱包」。链上状态里有一行记录,钱包里只有能动那一行的钥匙。

钱包软件其实只做三件事:保管钥匙、帮你查墙上写了什么、帮你生成并盖章一张纸条。 它不保管任何资产。

建立模型

第一个模型是一条单向链。每一步都能往右推,没有一步能往左推。

  1. 一句助记词
  2. 一把私钥
  3. 一把公钥
  4. 一个地址
  5. 链上状态里的一行
从左到右,每一步都是单向计算。拿到左边任何一格,就能算出它右边的一切;拿到右边,永远推不回左边。

这条链能解释本章开头的全部困惑:

你弄丢了结果
手机、电脑、钱包软件没事。只要还有助记词,右边全部能重新算出来
助记词,但私钥还在设备上危险。设备一坏就永久失去,赶紧重新备份
助记词和设备都没了永久失去。没有任何人能恢复,资产永远停在那一行
别人拿到了结果
你的地址没事。地址本来就是公开的,别人只能给你转账和查看你
你的公钥基本没事,但会泄露一些关联信息
你的私钥或助记词完全失去控制,而且你不会收到任何通知

最后一行是这一章唯一需要背下来的东西。

第二个模型是一把尺子。从「完全交给别人」到「完全自己扛」,中间有连续的档位,不是二选一。

档位谁掌握密钥换来了什么付出了什么
交易所账户平台最方便,能找回,能交易平台破产、冻结、内部作恶都由你承担
托管型钱包服务商(可能分片持有)有找回机制,体验接近 App服务商仍是关键环节
自持热钱包你,密钥在联网设备上完全控制,随时可用设备被攻破就全部失去
硬件钱包你,密钥在离线设备里密钥不接触联网环境仍然怕助记词泄露,怕签错字
多签多把钥匙,需要其中几把单点失误不致命复杂,成本高,要长期维护

这把尺子有三件事必须说清楚。

第一,没有哪一档是「正确答案」。 选哪一档取决于金额、使用频率和你自己的执行能力。用硬件钱包管理十块钱的日常开销,和把一大笔钱放在交易所里长期不动,是同一类错误。

第二,最右边的那几档,防的是不同的东西。 硬件钱包防的是「设备被攻破」,多签防的是「单点失误和单人作恶」,它们都不防「你把助记词念给了骗子」。

第三,也是最容易被忽略的一条:大多数真实损失和技术无关。 不是密码被暴力破解,是有人告诉了别人。所以下一节的 Lab 和 AI Lab,重点都在这里。

它叫什么

现在给名字。

私钥Private Key

那枚私章。一串只有你掌握的数字,能对任意内容生成有效签名。

掌握私钥就等于掌握资产,没有任何例外,也没有任何申诉渠道。 链只认签名,不认身份、不认意图、不认「我是被骗的」。

公钥Public Key

由私钥单向计算出来的一串数字,可以公开。

任何人都能用公钥验证「这个签名确实由对应的私钥生成」,但谁也没法从公钥反推出私钥。整套体系就建立在这个单向性上。

地址Address

由公钥进一步计算出来的那串短一点的字符,就是墙上那一行的编号。

它是完全公开的,给别人看没有任何风险——别人拿到你的地址,只能给你转账,以及查看这个地址的全部历史。

注意后半句。地址本身不含姓名,但它的全部交易记录对所有人永久可见。一旦某个地址和你的身份被关联上(比如你从实名平台提币到它,或者你公开发过它),这份关联很难撤销。第 23 章会展开这件事的两面性。

签名Signature

用私钥对一笔具体交易内容生成的那个印。

两个关键性质:它和交易内容绑定(改一个字,签名立刻失效),它不能被复用(拿走一个旧签名去伪造新交易是无效的)。

这解释了为什么「钱包连接一个网站」本身不转移任何资产——只有你签名的那一刻,才真正授权了什么。 所以签名之前看清楚内容,是唯一真正有效的防线。第 24 章会讲清楚有哪些内容看起来无害、实际上极其危险。

助记词Seed Phrase

那句口诀。通常是十二或二十四个来自固定词表的单词,按顺序排列。

它是私钥的另一种写法,信息量完全等价。它存在的唯一理由是人抄得下来、读得出来。

请把这句话当成一条红线:任何人、任何软件、任何客服、任何 AI,要求你提供助记词,一律是攻击。 没有任何合法场景需要你把它交出去,一个都没有。

自托管Self-custody

密钥由你自己掌握,没有任何第三方能代你动用资产。

它是第 2 章「可撤销性」的完整反面:没有客服,没有申诉,没有找回,没有撤销。 完全的控制权和完全的责任,是同一枚硬币。

托管Custodial

密钥由服务商掌握,你通过账号密码使用。界面看起来一样,结构完全不同。

你持有的不是资产,是服务商欠你资产的记录——回到了第 2 章那张表里的第一行。

收成一句话:

资产在链上状态里,钱包管理的只是控制资产的密钥。

所以真正的问题从来不是「我的币放在哪」,而是:谁掌握着能动它的那把钥匙。

动手

动手创建一个测试网钱包,故意把它弄丢,再找回来任意一个支持测试网的钱包应用0 元。全程使用测试网,测试网代币没有任何价值,也不能兑换成任何真实资产

这个 Lab 全程只用测试网。不要在这个钱包里放入任何真实资产,一分钱也不要。 它的目的是让你在完全没有损失风险的情况下,亲手经历一次「丢失与恢复」。

真实资产等你做完这一整套、并且能默写出流程之后再说。

创建一个新钱包,切到测试网。

随便挑一个支持测试网的钱包应用,创建新账户,在网络设置里切换到测试网。确认界面上显示的是测试网,不是主网。

抄下助记词。用笔,抄在纸上。

抄的时候注意三件事:顺序必须准确拼写必须准确抄完后逐个字核对一遍

然后是这一步真正的重点:

不要截图。不要拍照。不要复制到任何输入框。不要存进任何笔记软件、聊天记录或云盘。

就算这是个测试网钱包也照做。你现在是在练习一个习惯,而不是在保管资产。 习惯只有在无所谓的时候练成,才会在关键时刻生效。

另外记下你的地址,写在同一张纸上。

从测试网水龙头领一点测试币,发一笔小额转账给自己的另一个地址。

搜一下这条测试网的水龙头,领取的过程本身也值得体验一次。

转完之后,到区块浏览器上查这笔交易,确认它真的存在。这是你第一次在链上留下自己的痕迹。

把钱包应用彻底卸载。

是的,真的卸载。如果心里有点紧张,说明这个 Lab 起作用了——这种紧张感正是你需要提前体验的东西,现在体验它的代价是零。

重装,用助记词恢复。

关键的一步来了:重装时换一个牌子的钱包应用,不要用原来那个。

用你抄下来的助记词恢复。然后对照纸上记录的地址——

它应该一模一样。

到这里,本章最重要的那个认知就从「读过」变成了「见过」:地址不属于任何一个软件,它属于那句助记词。 你换掉的只是刻章的师傅。

最后,做一次自问自答,写下来。

一,我的助记词现在在哪里?说出具体位置。

二,如果这张纸今天没了,我有备份吗?

三,如果我今天出了意外,我希望谁能拿到它?他知道怎么用吗?

四,如果有人拿到了这张纸,我多久会发现?

第四问在自托管的世界里,答案通常是「余额归零的那天」。 现在你知道这句话具体意味着什么了。

AI Lab

AI Lab让 AI 列出丢失密钥的所有方式,你来筛出自己身上的那几条Level 1 · AI Assistant

分两步。第二步是你真正要产出的东西。

第一步,让它穷举:

列出至少十种「永久失去加密资产控制权」的方式,分成两类:

A 类:资产还在链上,但再也没有人能动它
B 类:资产被别人转走了

每一种写清四件事:
1. 典型的发生场景,要具体到一个日常动作
2. 当事人通常在多久之后才会发现
3. 发生之后有没有任何补救可能
4. 有效的预防措施是什么,以及这条措施防不住什么

不要推荐任何具体的产品或品牌。

第二步,把它裁剪成只属于你的那一页:

我的实际情况是:
(在这里写你真实的使用方式:资产大概在哪里、平时用什么设备、
助记词现在存放在哪、有没有备份、有没有第二个人知道)

从上面那十几种方式里,挑出真正适用于我的那几条,其余的删掉。
按「我遇到的可能性」从高到低排序。
每一条给出一个我这周就能完成的具体动作。

第二步的输出才是这个 Lab 的产品。 一页纸,五到八条,每条配一个这周能做完的动作。

两个提醒,都很重要。

第一,第二步里描述你的情况时,不要写具体的地址、金额和任何一个助记词单词。 写「助记词抄在纸上放在家里」就够了,不要写在哪个抽屉。你是在和一个第三方服务对话,不要把自己的资产分布和保管细节交出去。

第二,注意这个 Lab 的 AI 能力等级是 1——解释与清单。 它不碰你的任何东西。本课程有一条从头到尾不会松动的红线:

私钥和助记词,绝不进入任何 AI 系统的上下文。 不是「小心一点」,是「一次都不行」。第 34 章讲 Agent 钱包时会回到这条红线,并给出结构上的替代方案。

AI 说完之后,你必须自己验证

  • 最重要的一条:它在任何一句话里,有没有提出让你输入、粘贴、上传、朗读或「贴过来帮你检查格式」助记词。只要出现一次,整段输出作废,并且记住这个提示词长什么样
  • 它的清单里有没有区分「丢失」和「泄露」这两类。前者是没人能动,后者是别人能动,应对方式完全不同
  • 它有没有覆盖非技术路径:忘记存放位置、家人误丢、自己去世后无人知晓、搬家、意外事故。这几类在真实损失里占比很高,而模型常常只讲黑客
  • 它有没有提到「签名钓鱼」:不需要拿到你的助记词,只要骗你签一次名,一样能转走资产
  • 它建议的每一条防护,问一句「这条防的是哪一类风险」。防不住「你自己说出去」的方案,不要算进安全感里
  • 凡是它推荐具体产品或品牌的地方,一律当作未验证。它没有能力判断某个产品此刻是否可信,而这类推荐本身就是常见的攻击载体

真实案例

还在链上,但谁也动不了的那些币2010 年代至今

早期参与者中有相当多人在币几乎不值钱的时候弄丢了密钥:硬盘格式化、电脑当废品处理、备份文件覆盖、忘记加密文件的密码。

这些资产的状态很特别:它们在链上清清楚楚地存在,余额公开可查,任何人都能看到它们多少年没有动过,但世界上没有任何人能移动它们。

这是自托管最纯粹的一面:没有管理员,也就意味着没有例外。 不管你是谁,不管损失多大,不管情有可原到什么程度,规则不会为任何人网开一面。

界面上的余额,和链上的资产2022 年

多家中心化交易所在这一年停止提现或进入破产程序。用户 App 里的数字一切正常,直到提现按钮点不动的那一刻。

用本章的模型看,原因一句话就说完了:那些资产对应的密钥从来不在用户手里。 用户持有的是平台数据库里的一条记录,也就是第 2 章那张表的第一行。

这件事之后被总结成一句话:不是你的钥匙,就不是你的币。 读完这一章,你应该能说清这句话的完整含义,而不只是把它当口号。

补一句必要的平衡:这不代表托管一定是错的。 需要频繁交易、需要法币出入金、金额不大或者自己确实没有能力安全保管的场合,托管往往是更现实的选择。关键是你要知道自己站在那把尺子的哪一档,以及那一档具体承担什么风险。

不需要你的助记词,只需要你签一次名近年,持续发生

比起偷助记词,更高效的攻击是让你自己签名。

典型流程:一个看起来正常的页面,让你连接钱包,然后弹出一个签名请求。你看到的是一串看不懂的内容和一个「确认」按钮。签下去之后,你并没有转账——你授权了对方在未来随时转走你某一类资产的权力。

之后资产可能过几天才被转走,那时页面早就关了,你根本想不起来是哪一次操作导致的。

这类攻击还有一个变种:假客服。你在某个群里发问,几分钟内有「工作人员」私信你,引导你去一个页面「验证钱包」或者「同步资产」。

这两类攻击都绕开了密钥保管。 你的硬件钱包、你的纸质备份、你的多签方案,对它们全都无效——因为是你自己按的确认。

唯一有效的防线是:签名之前,看懂你在签什么。 第 24 章会教你怎么看,以及有哪些签名内容必须直接拒绝。

改一个变量

如果地址可以绑定手机号,凭手机号找回

所有「弄丢」类的损失一夜之间消失了。这对普通用户是巨大的体验改善,不能轻描淡写地否定它。

但你已经能推出代价了:能凭手机号找回,就意味着存在一个有权把资产改判给另一个人的角色。 那个角色可以是运营商、是发卡机构、是某个服务方——不管是谁,第 2 章那张表的第三列又填满了。

而且它会引入一整类新攻击:只要能夺取你的手机号(补卡、社工、内部人员),就能夺取你的资产,而你连密钥都没泄露过。

这就是为什么这个问题至今没有"标准答案"。 行业里的各种账户抽象和社交恢复方案,本质上都是在这条轴上找一个折中点:让恢复成为可能,同时让恢复的权力足够分散、足够慢、足够难被单点攻破。

如果一个地址需要三个人中的两个同意才能动

单点失误不再致命:丢一把钥匙还能用另外两把,被偷一把也转不走钱。对机构、对团队资金、对大额长期持有,这是明显更稳的结构。

代价有三层。操作成本:每一笔都要协调多个人,日常使用会很累。共谋风险:三个人里有两个联手,一样能转走。人的问题:三个人的关系会变化,人会失联、会去世、会翻脸,而这套安排通常没有预设的退出机制。

把安全问题从技术转移到了治理。 这不是消除了风险,是换了一类风险。很多真实的资金事故不是密码学被攻破,是多签的人员安排出了问题。

如果助记词可以设置「提款后 24 小时才真正到账,期间可用备用钥匙撤销」

这是个很有意思的设计。它把第 2 章的「可撤销性」部分地请了回来,但撤销权在你自己手里,而不在某个机构手里。

被偷了怎么办?你有 24 小时发现并撤销。不少真实的盗窃案里,受害者是在几小时内就发现的——只是当时什么也做不了。

代价同样清楚。所有正常转账都要等 24 小时,这让它完全不适合日常支付。备用钥匙本身又成了一个要保管的东西,而且它权力极大。攻击者也可以反过来用:如果他先拿到了备用钥匙,就能撤销你的正常转账。

请注意这个方向本身是真实存在的工程路线,行业里有多种形态的探索。这一章不评价哪种更好,只是让你看清它们都在这条轴上移动:恢复能力和控制权的排他性,是此消彼长的。

如果你把助记词告诉了一个 AI 助手,让它帮你管资产

先说结论:这是本课程里少数几件明确说"永远不要做"的事之一。

原因不是模型不聪明,而是结构问题,三层:

第一,你的助记词会进入一个你无法审计的系统。 它会经过网络、可能被记录、可能被用于训练、可能被运维人员访问。你失去的不是「可能泄露」,是「无法确认没有泄露」——而第二件事和第一件事在安全上是等价的。

第二,模型可以被文本操纵。 它读到的任何内容——一个网页、一份文档、一条消息——都可能包含针对它的指令。一个能签名的模型,加上一个能被外部文本影响的输入,等于一个可以被陌生人远程操控的钱包。

第三,出了事没有人承担。 第 2 章讲过,现实世界的账本之所以能兜底,是因为有人有权改那一行并且对此负责。这里两个条件一个都不成立。

那 AI 到底能不能碰资金?能,但结构完全不同:模型只能提出建议,签名永远由受约束的系统或人来完成,并且有金额上限、地址白名单、模拟先行和可审计日志。 这条链路是第 34 章的主题,AI 安全链路那一页有完整的图。

现在只需要记住那条绝对禁止的架构:提示词 → 模型 → 私钥 → 发交易。 中间少了所有约束,这四步连起来就是一个远程可控的取款机。

带走的问题

十八问里挑三问,用在这一章。

4
用户是谁?

问一个产品「用户是谁」时,在自托管这个话题上要问得更细一点:它假设用户有多强的执行能力?

一个要求用户离线保管二十四个单词、永不出错、还要考虑自己身后事的方案,它的真实用户群比宣传里小得多。很多产品的失败不是因为不安全,是因为它假设的用户不存在。

反过来,一个宣称「像用微信一样简单」的钱包,你要问的是:简化掉的那部分责任,被转移给谁了? 答案通常藏在服务条款里。

9
谁承担风险?

这一章把这一问推到了它的极限。

自托管的风险结构是:你承担百分之百。 没有保险,没有客服,没有监管救济,没有法院能把币判回来。转错地址、签错名、丢了备份、被骗,全部由你自己承担全部后果。

这是一笔明确的交换:用全部的补救机制,换取排他的控制权。 它不是免费的自由。做任何决定之前,先算清楚你换到了什么、付出了什么,以及这个金额是不是你承担得起。

16
Agent 有什么权限?

这一问在这一章有一个非常具体的形态:一个能替你签名的程序,权限有多大?

判断标准不是它「打算」做什么,而是它「能」做什么。一个持有私钥的程序,能转走这个地址的全部资产——不管它的设计初衷是只帮你查余额,还是只帮你换一点手续费。

所以看任何一个自动化工具、机器人、插件,第一个问题永远是:它碰不碰签名? 碰,就按「它能转走全部资产」来评估;不碰,风险等级立刻低一个量级。这条判断会一直用到第 34 章。

本章自测

一句话带走

资产在链上状态里,钱包管理的只是控制资产的密钥。

做完这一章的动手环节了?勾上它查看全部进度

本页目录