第五章:托管基础
第一节:密码学基础
托管范式的转变
加密货币从根本上将价值转化为信息。这一转变消除了对实体卡车和装甲金库的需求,但也带来了一个新的现实:密钥即控制权。任何能够授权交易的一方,实际上就拥有该资产,这一点既创造了自我主权的新机遇,也衍生出了不同类别的风险。如今,托管可以完全存在于记忆之中。一组 12 个词的助记词可以托载数百万美元,却没有任何实体留存。对于难民或任何生活在敌对政府或恶意政权之下的人来说,这使价值得以在某人脑中跨越国境,抵御没收,规避资本管制,并可在任何有网络连接的地方重建。
这种能力伴随着相应的责任。无论对于个人还是机构,从实物价值到信息价值的转变产生了新的失效模式。一个被遗忘的密码或被破坏的备份,可能意味着永久性的损失。复杂的托管操作已成为一门专业学科,需要最大程度地减少在线暴露、实施经过测试的恢复程序,并确保运作的可证明性。这意味着:交易是不可逆的,大多数损失源于操作疏失,而非密码学漏洞。要了解控制权在实践中如何被强制执行,我们从密钥、地址和签名讲起。
公钥、私钥与数字签名
托管的核心是一种基本的密码学关系:公钥和私钥。可以将其想象成一个数学上的锁与钥匙系统——锁(公钥)可以自由共享,但只有对应的钥匙(私钥)才能打开它。
私钥是一个大随机数,通常是 256 位的熵,作为持有者的秘密。在实践中,私钥通常不是直接生成的,而是从 12 个或 24 个单词的助记词**种子短语(seed phrases)**中派生而来。通过数学运算,可以从私钥生成对应的公钥。虽然从私钥派生公钥在计算上很容易,但在当前技术下,反向推导实际上是不可能的。(第十四章探讨量子计算机如何可能改变这个等式。)
数字签名在不暴露私钥的情况下证明所有权。当有人想要花费加密货币时,他们使用私钥和交易详情创建数字签名。任何人都可以使用公钥验证这个签名,从而确认只有对应私钥的持有者才能创建它。
数字签名实现了不可否认性:一旦有人签署了一笔交易,他们就无法事后声称没有授权过它。这些数学关系提供了授权的密码学证明。
不同的区块链使用不同的签名算法。比特币和以太坊依赖 ECDSA(椭圆曲线数字签名算法),而 Solana 使用 EdDSA(爱德华兹曲线数字签名算法)。比特币的 Taproot 升级引入了 Schnorr 签名,使多方能够联合签署交易,而这些交易在链上看起来与单签名交易完全相同。在设计多方托管安排时,这些算法差异变得相关,因为某些方案与特定签名类型配合得更好。实际影响将在第三节探讨机构托管模型时更加清晰。
地址:公共标识符
地址作为接收加密货币的公共标识符,通过密码学哈希从公钥中派生。不同的区块链使用不同的地址格式。比特币地址有几种类型,包括以"1"开头的旧版地址(Legacy),以"3"开头的脚本哈希地址,以及以"bc1"开头的现代 Bech32 格式地址。以太坊地址是 40 个字符的十六进制字符串,始终以 0x 开头,派生自公钥哈希的最后 20 个字节。Solana 地址是 44 个字符的字符串,直接表示 Ed25519 公钥。
这种根本的不对称性支撑着整个加密货币生态系统:地址可以公开共享以便接收资金,但花费需要对应的私钥。
助记词种子短语:人类可读的密钥
虽然上述密码学原语为托管提供了数学基础,但它们带来了一个实际问题:人类如何安全地管理这些密钥?原始私钥是 64 个字符的十六进制字符串,如 e9873d79c6d87dc0fb6a5778633389f4453213303da61f20bd67fc233aa33262,完全无法记忆,容易出现转录错误,且难以安全存储。
助记词种子短语通过将密码学熵编码成人类可读的单词来解决这一可用性问题。
BIP-39(比特币改进提案 39)使用 2048 个单词的词典对助记词短语进行了标准化。一个 12 个单词的短语编码约 128 位的熵,而 24 个单词的短语提供约 256 位。这些单词对密码学熵加上校验和进行编码,以捕获转录错误。该短语通过密钥拉伸算法处理,该算法对密码学哈希进行多次迭代以生成主种子,从而使暴力破解攻击在计算上代价高昂。从这一主种子,分层确定性(HD)钱包根据相关 BIP 标准派生出无限数量的地址和密钥(BIP-32 定义派生方法,BIP-44 标准化了不同加密货币间的路径结构)。
这些种子短语具有几个重要特性:它们是确定性的,即同一短语始终生成相同的密钥和地址;它们是分层的,允许一个种子为多种加密货币和账户生成密钥;它们是可恢复的,意味着仅凭该短语即可在不同的软件应用程序中恢复整个钱包。
第 25 个词:可以在助记词上添加一个可选密码,创建一个额外的安全层。该密码实际上从同一个种子短语创建了不同的钱包,提供了合理的可否认性(plausible deniability)和额外的安全性。
创建种子短语时,高质量的随机数生成至关重要。弱随机性可能导致攻击者能够猜测的可预测密钥。从种子短语恢复钱包时,使用与原始钱包相同的派生路径(从种子生成地址的特定方法)可以确保所有地址都能被正确恢复。不同的钱包可能使用不同的派生路径,因此在钱包软件之间切换时的兼容性至关重要。
第二节:个人自托管
在建立了密码学原语之后,我们现在将它们应用于现实世界的个人托管工作流程和威胁模型。
软件钱包:便利性与安全性的权衡
软件钱包将私钥存储在智能手机或电脑等通用设备上。流行的例子包括 MetaMask、Trust Wallet 和 Phantom。这些钱包提供出色的用户体验,并与 DeFi 应用程序无缝集成,非常适合活跃交易和频繁交易。
然而,软件钱包继承了其宿主设备的所有安全漏洞。与传统金融中银行担心实体抢劫和电汇欺诈不同,加密货币托管必须防御一种从根本上不同的威胁环境。
外部攻击者代表了最可见的威胁类别。恶意软件和病毒可以扫描钱包文件或记录击键以捕获密码。针对性的网络钓鱼活动欺骗用户在看起来像合法钱包界面的假网站上输入种子短语。供应链攻击可能在运输过程中损害钱包软件、浏览器扩展甚至硬件。设备被盗为通过取证技术提取密钥创造了机会。剪贴板劫持者悄悄将复制的地址替换为攻击者控制的地址,在看似正常的交易中重定向资金。中间人攻击可以在交易到达区块链之前拦截并修改交易。这些对手的范围从投机取巧的恶意软件到针对高价值个人拥有国家级能力的复杂攻击者。他们的方法不断演变,需要分层技术防御和高度的操作意识。
软件钱包的最佳实践包括:使用专门设备进行加密活动、保持软件更新、启用所有可用的安全功能、在交易前逐字符验证地址,以及将存储金额限制在可接受的损失范围内。
硬件钱包:黄金标准
硬件钱包代表了个人托管的当前最佳实践。这些专用设备将私钥存储在防篡改硬件中,永远不会将其暴露给可能被攻破的计算机或网络。核心安全模型很简单:私钥在设备上生成并存储(通常在**安全元件(Secure Element)**中,具体取决于型号),交易在内部签名,仅将签名传输到宿主计算机。用户通过物理按压按钮来批准每笔交易以维持控制权,而助记词种子短语提供恢复能力。
安全元件是一种防篡改硬件芯片,旨在将密钥与主处理器隔离,安全地存储密码学密钥并执行敏感操作。它提供硬件级保护,抵御物理和软件攻击,确保即使设备被攻破也无法提取私钥。在机构规模上,类似的保护由**硬件安全模块(HSMs)**和安全飞地提供,将在第三节中介绍。
在安全哲学之间做选择
在选择硬件钱包时,个人可以在主要制造商提供的不同安全哲学之间进行选择。Ledger 设备将专有安全元件与闭源固件相结合,优先考虑硬件级防篡改和广泛的代币支持。相比之下,Trezor 在所有型号上都坚持完全开源的固件,支持社区审计和可验证的安全性。Trezor 的原始型号通过开源透明性在没有安全元件的情况下实现了安全性,而较新型号(Safe 系列)在保持开源固件的同时增加了安全元件,代表了一种将硬件保护与代码透明性相结合的混合方法。
尽管存在这些哲学差异,Ledger 和 Trezor 都比基于软件的存储提供了实质性的安全优势。私钥永远不会离开安全的硬件环境,使远程攻击几乎不可能实现。设备具有防篡改性,并强制 PIN 保护。Ledger 在三次错误 PIN 尝试后会进行擦除。Trezor 对错误 PIN 应用指数级超时;用户可以可选地配置擦除代码(如果输入,设备会自我销毁并擦除的自毁 PIN)。固件更新经过密码学验证,以防止恶意修改。
操作最佳实践
无论选择哪种安全哲学或设备,最大化这些硬件保护都需要对操作实践给予细心的关注。最重要的考虑因素是种子短语的安全离线存储,这是钱包恢复的最终备份。定期固件更新有助于修补新发现的漏洞,而适当的实体存储在不使用时可以保护设备。设备丢失并不意味着资金损失——PIN 保护保护硬件,而种子短语备份可以在替换设备上完全恢复。这种韧性代表了与纯数字存储方法相比的关键优势。
对于管理大量持仓的个人,高级托管策略可以通过冗余和地理分布消除单点故障。这种方法的基础涉及创建多个种子短语副本,并将其存储在不同的安全地点。如果一份备份在火灾或洪水中被毁,其他备份仍然可以访问。这些备份要么需要特殊的隐藏,要么存储在防火保险箱中,以防止被盗同时确保抗灾能力。对于涉及在多个地理位置跨多个位置分拆秘密的复杂备份策略,机构通常采用第三节中讨论的密码学技术。
恢复测试与维护
无论选择哪种备份策略,测试恢复程序都是不可或缺的。至少需要在另一台设备上进行初始测试恢复,以验证备份能够正确工作,并在真正需要之前熟悉紧急程序。更复杂的运营者会实施定期恢复演练,模拟完全损失场景。这些演练包括在全新设备上从备份恢复、测量恢复所需的时间以及是否丢失任何近期数据、记录遇到的任何问题,并在持仓或基础设施发生重大变化后每年或及时更新程序。
个人通过硬件钱包和经过测试的备份程序进行自托管,对个人持仓效果良好。然而,随着持仓超过 100 万美元、运营复杂性增加(活跃交易、DeFi、多链操作)或组织需求出现(企业、DAO、投资基金),个人托管模型就会达到其极限。这些情况需要多方审批流程、机构级安全措施、合规能力和硬件钱包无法提供的审计追踪。第三节探讨了专门为应对这些本质上不同挑战而设计的托管架构。
第三节:机构托管模型与架构
上述技术适合个人,但组织面临着本质上不同的挑战。公司财库、投资基金或交易所不能依赖于持有硬件钱包的单个人。当那个人离职、丧失行为能力或行为恶意时会发生什么?机构托管必须解决一个更复杂的问题:保护组织免受其自身的伤害。
随着托管从个人规模扩展到机构运营,威胁格局从根本上发生了变化。外部攻击者仍然是一个关注点,但新类别的风险出现了,而个人安全模型无法应对。
内部风险是特权访问场景中持续存在的挑战。拥有签名权限的管理员可能通过恶意或失误滥用其职权。在压力情况下"就这一次"降级安全策略以赶上截止日期的诱惑,创造了单靠复杂的安全架构无法预防的漏洞。人的因素仍然是最薄弱的环节,单个管理员可能会撤销强大的技术控制。
操作失败通过看似平凡但实际上是毁灭性的问题来加剧这些风险:无法恢复的丢失密钥分片、从未经过测试的灾难恢复程序,以及允许配置漂移的薄弱变更管理流程。这些漏洞通常在正常操作期间保持隐藏,只有当危机情况对系统施加重大压力时才会暴露——而这恰恰是可靠操作变得最重要的时刻。本节后面检视的历史失败案例在不同托管模型中展示了这些实践中的风险。
机构托管模型通过不同的架构方法应对这些挑战,每种方法在透明度、操作灵活性和风险缓解之间提供不同的权衡。
主要托管模型
多签:透明度标准
多签将花费策略直接执行在区块链上,在那里它们变得可见、开源且可审计。通过要求来自独立密钥的多个签名,组织创造了高度透明性。利益相关者可以验证治理决策,并审计财库流动的确切条件。DeFi 协议和 DAO 特别受益于这种对批准阈值的公开验证,这建立了社区信任。实施通常依赖于比特币的原生能力或以太坊的 Safe 合约(原 Gnosis Safe),该合约已在数千个组织中保护了数十亿美元。
这种透明度带来了操作上的权衡:较大的交易规模增加了费用,而公开的策略结构则揭示了组织的决策过程。不同的区块链有不同的实现,使多链支持变得复杂。对于旧版比特币脚本,更改阈值或密钥需要将所有资金移动到新地址;而使用以太坊 Safe 的组织则可以在不更改地址的情况下更新所有者。
近期的协议升级解决了这些限制。如第一章所述,比特币的 Taproot 升级引入了 Schnorr 签名,使多方托管安排在链上看起来与单签名交易完全相同。这大大减少了传统多签的透明度权衡,同时保持了相同的安全保证。
MPC 与门限签名:兼顾隐私与速度
**多方计算(MPC,Multi-Party Computation)**使多方能够联合执行密码学操作,而无需任何单一方持有完整的私钥。MPC 系统不是将现有密钥分割成片段,而是从一开始就以分布式方式生成和使用密钥。
通过分布式密钥生成和签名协议,多方在消除额外链上协调开销的同时保持了安全性。参与者在链下交互,联合产生一个签名,最终签名来自组合的密码学贡献,而不是顺序的区块链操作。这与 Shamir 秘密共享(下面讨论)有根本的不同,后者需要在签名之前重建密钥。
MPC 不管理单个私钥,而是完全消除了这一概念。秘密在多个端点之间随机化,这些端点永远不共享秘密,并参与用于钱包创建和基于法定人数签名的去中心化协议。这带来了:增强的威胁韧性;无需新地址即可修改签名者的操作灵活性;简化的灾难恢复;以及无缝的多链支持。
这些优势使 MPC 成为优先考虑速度和灵活性而非透明度的活跃交易台和多链操作的理想选择。交易公司可以同时在比特币、以太坊和 Solana 上实施复杂的审批工作流程,而无需在每个网络上管理独立的合约。
然而,风险状况转向了平台和供应商质量。由于密码学操作发生在专用软件或硬件内,运营者必须信任实施的正确性和程序的合规性。Fireblocks 和 Copper 等知名提供商已部署 MPC,但该技术的复杂性已在一些广泛使用的协议中揭示出漏洞,包括私钥提取的风险。这种不够标准化的方法需要透明的供应商更新、可验证的日志,以及对分布式密钥生成过程的仔细审计。
Shamir 秘密共享:存储与恢复
**Shamir 秘密共享(SSS)**采取与 MPC 不同的方法。SSS 不是以分布式方式生成密钥,而是将现有的私钥分割成多个分片,其中只有一个子集可以重建原始密钥。例如,你可以将密钥分成五个分片,其中任意三个可以恢复它。这提供了针对丢失分片的容错能力,并使跨多个地点的分布式备份存储成为可能。
与 MPC 的关键区别在于签名的工作方式。使用 SSS,必须将分片汇集在一起以在签署交易前重建完整的私钥,创建一个临时的单点故障。而 MPC 系统则协作产生签名,而无需重建完整的密钥。这使 SSS 更适合备份和恢复场景,而不是频繁的签名操作。SSS 适用于任何区块链,因为它完全在链下运行,尽管最佳实践要求每条链使用独立的密钥,而不是跨多个区块链重用一个密钥。
合格托管人:监管框架
受监管的银行和信托公司以法律隔离、检查员监督和保险覆盖带来了传统托管专业知识,这是许多机构投资者所要求的。这些机构在既定的监管框架下运营,提供了技术本身无法确保的法律清晰性、信托保护和破产隔离(bankruptcy remoteness)(确保客户资产与托管人自有资产相隔离,并在破产场景中受到保护的法律结构)。
在操作层面,合格托管人叠加了多种安全方法。在基础设施层面,他们部署硬件安全模块(HSMs)。虽然消费者硬件钱包中的安全元件保护单个密钥,但 HSMs 是为企业规模设计的工业级等效物。这些机架式设备处理数千个账户的密钥管理,执行复杂的审批策略,并在隔离环境中执行密码学操作。托管人通常将 HSMs 放置在物理安全的设施中,有时位于地下深处。这些技术控制通常与用于分布式密钥管理的 MPC 相结合,创建深度防御架构。严格的温度隔离策略维持特定的热/温/冷存储阈值,而自动化系统则在没有人工决策的情况下执行冷存储策略。
提款流程通过多天验证期引入了刻意的摩擦,在访问隔离系统之前需要通过多个渠道进行身份验证。这种刻意的摩擦虽然比技术解决方案更慢,但提供了许多机构客户所需的安全层。
监管监督提供了独特的优势:破产隔离、清晰的法律所有权,以及遵守不断发展的要求。客户可以从既定的法律先例、监管监督和私人犯罪/物种保险政策中受益(数字资产没有 FDIC 保险)。虽然 DeFi 可组合性受到限制,且提款时间框架可能延长至数天,但具有监管义务的受信托人通常认为这对于大量配置而言是唯一可接受的途径。
全球监管差异影响实施方式,较严格的美国信托规则与新加坡的灵活框架形成对比,影响着法律保护和创新。在合格托管中,客户资产与托管人的财产分开持有,通常从破产财产中排除。恢复时间各有不同:清晰的隔离能够迅速转移到继任托管人,而复杂的财产可能将时间延长至数月。
主要机构托管人
不同提供商强调托管谱系中的不同方面,从监管合规到技术灵活性,反映了机构客户的多样化需求。
Coinbase 托管(纽约有限目的信托)强调在合格托管人框架下的隔离冷存储,配有检查员监督。其模型以离线密钥材料、机构审批和保险覆盖为核心。费用按层收取或根据托管资产和提供的服务进行谈判。公开协议显示年费约在 0.25% 至 0.35% 之间,加上最低费用。根据纽约金融服务局(NYDFS)规则,客户资产以信托方式持有,具有破产隔离保护,尽管特定于加密货币的处理在法律上仍存在不确定性。
Anchorage Digital(联邦特许银行)运营"主动托管",将 HSMs、安全飞地和生物特征识别审批相结合,用于近实时操作。安全飞地是处理器内的隔离执行环境,即使面对特权系统访问也能保护代码和数据,提供超越传统 HSMs 的额外保护层。在货币监理署(OCC)监督下,客户资产应当隔离。在破产场景中,处理和转移时间取决于破产管理程序和具体事实。
BitGo(南达科他州和纽约信托公司)历史上与链上多签相关联,已添加门限签名方案以支持更广泛的资产。提供热存储和冷存储工作流程配以保险覆盖,定价从基于月度百分比的层次到基于总管理资产的费用不等。州法律通过隔离账户提供破产隔离的接管。
托管技术平台
虽然上述托管人提供包括监管合规和保险在内的综合服务,但一些机构倾向于将托管技术与合格托管人关系分开。技术平台提供 MPC 基础设施和策略引擎,无需监管开销,允许组织在可能与单独的合格托管人合作(在监管要求需要时)的同时构建定制解决方案。这种架构分离实现了更大的灵活性,同时通过合作伙伴关系保持了监管合规的选项。
Fireblocks 提供基于 MPC 的钱包基础设施,定位为技术而不是合格托管。许多机构在需要时使用 Fireblocks 的 MPC 钱包和策略引擎,同时任命单独的合格托管人。定价遵循订阅和使用模式,而不是基于资产的百分比费用。
Copper 专注于具有 MPC 技术和隔离账户的机构基础设施。与 Fireblocks 类似,它作为技术平台运营,可能通过合作伙伴提供托管。定价倾向于订阅和服务费。
交易所托管:操作考量
即使有了强大的自托管或合格托管人关系,活跃的市场参与通常也需要在交易所上维持余额;这引入了一个独特的信任面。许多机构在中心化交易所维持资产,用于活跃交易、借贷或提供流动性。这种操作必要性带来了独特的托管考量,因为交易所托管涉及与自托管或合格托管人关系不同的风险状况和信任假设。
交易所托管风险:交易所的资产通过分层钱包结构(热/温/冷)、保证金和借贷核算,以及交易所可能借出或再使用客户抵押品的可能性,继承了偿付能力和操作风险。当发生极端市场波动时,交易所可能通过保险基金在用户之间分摊损失,或通过自动减少盈利仓位来弥补亏损仓位(ADL)。
**储备证明(Proof-of-Reserves,PoR)**通过链上或托管人验证的证明与客户可验证的负债证明相结合,证明了交易所的偿付能力。有效的 PoR 包括清晰的排除证明和在独立审计机构监督下发布的范围;Kraken 带有每个客户包含证明的默克尔树负债是最佳实践的典范。
然而,PoR 是一个时间点的证明,可能会遗漏链下负债或短期借款;有帮助,但不是完整偿付能力保证。快照之间的时间窗口会产生盲点,使 PoR 成为必要但不足以完全保证的工具。
隔离:专业托管通过系统分层实现基于价值的资产分离。说明性策略目标包括:≥90% 的资产置于冷存储,约 5% 至 10% 置于温存储,<5% 置于热存储。实际比率因风险承受能力和产品组合而异。这些代表了强制上限,而非目标,自动化系统监控阈值,严格维守客户持仓与自营持仓之间的边界。
历史托管失败:实践中的教训
上述架构选择和最佳实践都是通过失败而锻造出来的;下面的案例展示了托管失败在实践中是如何发生的。几个高知名度的失败案例表明,托管崩溃的发生,不在于复杂的密码学攻击,而是通过操作疏失、隔离不当和内部风险。这些案例说明了为什么机构托管不仅需要技术上的复杂性,还需要严格的流程、适当的监督和对隔离原则的坚守。
**Mt. Gox(2014 年)**展示了模糊的热/冷隔离和缺失的调节程序的严重后果。该交易所多年来以不完善的控制运营,对实际余额与报告余额没有实时可见性。当崩溃发生时,调查人员发现黑客自 2011 年以来一直在缓慢地抽走资金,而交易所则继续正常运营。约 85 万枚 BTC 最初被报告为丢失;后来追回了约 20 万枚 BTC,留下约 65 万枚 BTC 永久失踪。通过适当的隔离和每日调节,这些损失本可以被检测到并限制。
**Parity 多签(2017 年)**揭示了共享依赖关系如何在智能合约系统中产生系统性风险。Parity 技术开发了一种流行的多签钱包实现,被许多 DAO、项目和机构财库用于以太坊托管。单个库的 bug 同时影响了多个组织钱包,在数百个实体(包括 Polkadot、Web3 基金会和以太坊开发基金等主要项目)中冻结了约 51.3 万个 ETH。该事件强调,当智能合约控制重大价值时,形式验证和仔细的依赖管理远非可选的奢侈品,而是重要的安全保障。糟糕的实现使黑客成为可能,包括从个人钱包盗取 3000 万以太坊,以及随后的库 bug 在组织财库中永久冻结了超过 3 亿美元——突显出多签的协议特定漏洞和共享基础设施的危险。
**Ronin 跨链桥(2022 年)**将验证者控制权集中在过少的人手中,同时错过了重要的异常检测机会。Ronin 是为热门区块链游戏 Axie Infinity(拥有数百万用户)构建的以太坊侧链。保护在以太坊和 Ronin 之间转移资产的桥接为托管使用了 9 个验证者的多签。攻击者攻破了 9 个验证者密钥中的 5 个(主要是出于性能原因由 Sky Mavis 控制的四个验证者,加上一个被允许列入白名单的 Axie DAO 验证者),并在六天内抽走了约 17.36 万 ETH 和 2550 万 USDC(当时约合 6.15 亿美元),然后才有人注意到。该事件突出说明了去中心化系统如何通过操作上的捷径变得中心化,以及为什么强大的监控系统必须检测异常模式,即使这些模式在技术上看起来是有效的。
**FTX(2022 年)**在没有适当隔离或独立监督的情况下混用了客户资产和自营资产。尽管技术基础设施先进,但将客户存款用于自营交易的基本托管失败创造了技术安全无法解决的系统性风险。这次崩溃表明,即使对于技术先进的运营,监管框架和独立审计仍然至关重要。