Appearance
前言
这本小册解决什么问题
加密货币交易所的钱包系统是整个交易所基础设施中最核心的部分。它负责用户资产的充值、提现,以及交易所自身资产在不同安全等级存储层之间的调度。
这个系统涉及区块链、密码学、分布式系统、安全工程等多个领域的交叉知识。但目前这个领域的技术资料是碎片化的:链的文档讲链的接口,密码学的资料讲签名算法,分布式系统的书讲一致性理论。没有一份材料从交易所钱包工程师的视角,将这些领域中与钱包系统直接相关的知识组织成一条连贯的技术叙事。
基于对 Fireblocks、Cobo、BitGo、Coinbase、OKX 等商业和开源系统的调研,交易所钱包系统共涉及 18 个业务域。本小册覆盖其中与核心架构直接相关的 13 个域,不覆盖通用运维(监控、通知)和扩展业务(质押、DeFi)。
受众
本小册假设读者具备后端开发经验,熟悉数据库事务、消息队列、API 设计等概念,同时了解区块链的基本概念(区块、交易、地址、公钥与私钥的关系)和分布式系统的基本概念(CAP 定理、最终一致性)。
不要求加密货币行业的工作经验,不要求具体链的开发经验(Solidity、Bitcoin Script 等),也不要求密码学的数学基础(椭圆曲线、有限域等)。这些知识在需要时会在正文中引入。
学习目标
读完本小册后,读者应能够:
- 描述充币、归集、资金调度、提币四个业务模块的完整技术链路,并识别每个环节的技术约束
- 解释热钱包、温钱包、冷钱包的职责划分,以及这种划分背后的安全性与可用性 tradeoff
- 区分 UTXO 模型和 Account 模型对交易构造、归集、手续费计算的具体影响
- 设计一个交易签名服务的架构,说明单签、多签、MPC-TSS 各自的适用场景
- 设计一个高并发场景下的 nonce 管理方案,处理 nonce gap 和交易卡住的问题
- 解释内部账本与链上状态一致性的保证机制,包括复式记账、Transactional Outbox 和对账流程
- 针对常见故障场景(reorg、广播失败、签名服务宕机)制定恢复策略
- 分析 Bybit 2025 年安全事件的攻击链条,并提出针对性的防御措施
边界
本小册聚焦交易所钱包的架构设计,不涉及具体链的智能合约开发(DeFi 协议、NFT 等),也不深入密码学算法的数学推导(ECDSA 的椭圆曲线运算细节)。交易所的撮合引擎和订单簿系统不在讨论范围内。合规与监管框架仅在与技术设计直接相关时提及(如 AML/KYC 对提币流程的影响),不讨论法律细节。
代码示例使用 Rust,用于说明架构要点,不追求可直接编译的完整生产代码。通用运维(监控、告警、通知回调)、扩展业务(质押、DeFi 网关)以及新链/新币上线的运维流程均不覆盖。
结构
本小册分为四个部分:
第一部分:全景。 概览交易所钱包系统的完整业务域,建立分层架构和链模型差异的基本概念。
第二部分:业务模块。 按纵切面展开四个核心业务模块——充币、归集、资金调度、提币,每个模块自包含完整的技术链路。
第三部分:横切面系统。 展开三个跨业务模块的基础设施——密钥管理与签名服务、交易生命周期管理、内部账本与对账。
第四部分:故障与安全。 分析典型故障场景的恢复策略,以及以 Bybit 2025 年安全事件为核心的安全工程讨论。
写作背景
本小册起源于一次交易所钱包岗位的面试准备。在准备过程中发现这个领域缺少系统性的技术资料,于是将面试准备升级为一本完整的技术小册。