GaiaEx AcademyGaiaEx Academy
加密货币交易所如何运作:订单撮合与托管
进阶区块链10 min read

加密货币交易所如何运作:订单撮合与托管

中心化交易所与去中心化交易所,以及它们如何撮合交易

分享文章

你从未看见的那笔交易

你点下买入。一个数字变成了绿色。感觉就在瞬间完成——就好像资产凭空出现在了你的账户里。但在你点击和那个绿色数字之间的那半秒里,发生了一些真正精密的事:你的订单被校验、排队,与成千上万笔其他订单赛跑,撮合到一位愿意成交的卖家,然后完成结算。交易所就是运行这场赛跑的机器,每秒数百万次,足够公平,以至于素不相识的人愿意把真金白银交由它流转。

大多数人从不去看这台机器的内部——直到它出故障。2014 年,Mt. Gox 处理着全部比特币交易中约 70% 的份额,而在多年未被察觉的盗窃和混乱记账中,850,000 BTC 悄无声息地从它的钱包里流走。2022 年 11 月,FTX——当时全球第二大交易所——以一个 80 亿美元的窟窿轰然倒塌,原因不是被黑客攻击,而是客户的存款被秘密挪用给了一家关联交易公司。在这两个案例里,交易界面直到最后一刻看上去都完全正常。界面没问题,问题出在底层的管道全是谎言。

要明智地使用交易所,你必须理解藏在那个绿色数字背后的两套系统:决定谁与谁成交的撮合引擎,以及决定究竟谁真正持有你的钱的托管模式。本课会把两者都拆开来讲。

两种架构,两种哲学

每家交易所首先都要回答一个问题:在你交易的时候,钱放在哪里?这个答案把整个行业一分为二。

中心化交易所(CEX)——Binance、Coinbase、以前的 FTX——运作起来就像一家银行外加一个交易大厅。你把加密货币存入由公司控制的钱包,从那一刻起,你的「余额」只不过是它们数据库里的一行记录。当你交易时,并没有任何区块链交易发生;交易所只是在自己的账本里改动两个数字。这极其快速又便宜,因为内部数据库写入几乎零成本、瞬间确认。代价是信任:你是在赌这家公司有偿付能力、诚实且有能力,因为你无法看到它账本的内部。

去中心化交易所(DEX)——Uniswap、经典的链上兑换——把这一切反了过来。在交易执行之前,资金永远不会离开你的钱包,而交易本身就是一笔签名并广播到区块链上的交易。没有哪家公司持有你的币,也没有可供挪用的混合资金池。这里的代价不同:你为每一个操作支付 Gas(手续费 / 燃料费),你要承受智能合约漏洞MEV(最大可提取价值)(机器人通过重排交易来榨取价值)的风险,而且如果你签了不该签的东西,没有客服台来帮你。

诚实的表述:这里没有「安全」选项和「危险」选项之分——有的是两种不同的风险画像。CEX 把风险集中在一家运营方的操守与偿付能力上。DEX 则把风险分散到你必须读懂的代码和你必须守护的私钥上。真正的本事,是睁大眼睛去选择你更愿意管理哪一类风险。

由于速度快、流动性深、且有法币入金通道,交易量仍然严重偏向 CEX。但随着链变得更快、工具更完善,链上份额一直在稳步增长——而且已经出现了第三类,试图兼取两者之长,我们会在结尾再回来讲它。

Where money sits CEX deposit → omnibus wallets internal ledger trades withdrawal = on-chain event trust: ops + solvency Classic DEX wallet signs each swap atomic settlement on-chain gas + MEV surface trust: contracts + oracles
各有各的毒药:对手方运营风险 vs 链与合约的暴露风险。

订单簿:供需的实时地图

在任何撮合发生之前,交易所需要一个地方来记账计分。这个地方就是订单簿——一份针对某个市场、实时、双边的列表,囊括了所有挂着的买单和卖单。

它分两半。买价(买一价)这一侧是买单,按价格从高到低排列——也就是当前有人愿意出的最高价。卖价(卖一价)这一侧(或称报价)是卖单,按从低到高排列——也就是当前有人愿意接受的最低价。最高买价与最低卖价之间的差距就是价差,它是你能从订单簿上读出的最有用的一个数字:价差窄说明买卖双方几乎达成一致,意味着这是个流动性好、健康的市场;价差宽说明交易清淡,进出场都更贵。

把每个价位上等待成交的量堆叠起来,你就得到了市场深度——一幅描绘当前价格上方和下方各有多少量的剖面图。一大堆密集的买单会形成一道买墙,可以充当支撑;一摞卖单会形成一道卖墙,可以压住涨势。深度还决定了滑点:在深度厚的订单簿里,你可以买入很多而不会怎么推动价格;而在深度薄的订单簿里,单一笔大额市价单在成交前就可能把价格往上推好几个价位。

在交易之前读订单簿,而不是之后。价差告诉你进出场的即时成本;深度告诉你一笔大单会把价格往不利方向推多狠。在一个薄订单簿上看到的好价格,往往是海市蜃楼——你真正想要的那个量并不在那里。

一个诚实的提醒:可见的订单簿是可以被操纵的。订单可以在毫秒之间挂出又撤回,而像幌骗(spoofing,挂出大额订单却无意成交,以伪造需求)这类手法之所以存在,正是因为订单簿被太多人盯着看。把深度当作证据,别当作圣旨。

撮合引擎内部:订单如何变成成交

订单簿是记分牌;撮合引擎是裁判。它是那一段软件,持续不断地拿进来的订单去比对挂着的订单簿,并且确定性地决定哪些成交触发、以及按什么顺序触发。在一家繁忙的交易所,它以严格、可审计的公平性每秒处理数千笔订单——而把这份公平做对,就是整场游戏的全部。

主流规则是价格-时间优先,它分两轮起作用。第一轮看价格:最优价格永远胜出——最高的买价和最低的卖价最先被撮合。第二轮看时间:当几笔订单挂在同一价格上时,最早到达的那笔最先成交(先进先出队列)。所以如果你和另一位交易者都报 $100.00 的买价,谁的订单早到一毫秒,谁就排在你前面成交。这就是为什么延迟对专业交易者如此重要,也是为什么严肃的 CEX 引擎用 C++ 或 Rust 编写、配以手工调优的数据结构:在边际上,微秒决定谁能成交。

让我们追一笔订单走完全程。一笔 $100.05 的买入限价单进来,撞上一个最优卖价为 $100.04 的订单簿。因为这笔买单越过了价差,它立即与那笔挂着的卖单成交——进来的订单是吃单方(它移除了流动性),而挂着的卖家是挂单方(它提供了流动性)。如果进来的订单比它越过的那笔卖单更大,剩下的部分不会凭空消失——它会作为一笔新的挂单方订单挂在订单簿上,在队列里等待轮到自己。

这个挂单方/吃单方的区分不只是个词汇游戏;它是交易所塑造行为的方式。大多数费率表都对吃单方收得更多、对挂单方收得更少(有时还给挂单方返佣),因为正是挂单方挂出的常驻流动性让市场变得可用。搞清楚自己在哪一侧,是直接通向更低成本的捷径:一笔耐心挂着的限价单通常比一笔越过价差的市价单更便宜。

Price-time priority (simplified book) Asks 100.05 — 2.1 (t1) 100.04 — 1.4 (t0 earlier) Bids 100.00 — 5.0 (t2) 99.99 — 3.2 (t3) Incoming aggressive limit crosses best opposite → immediate fill (taker) rests if not fully filled → maker queue same price: earlier time wins
撮合规则是公开的;但在边际上,速度与费率仍决定谁能成交。

订单类型与完整的交易生命周期

你用订单类型来驾驭撮合引擎——每一种都是执行确定性与价格确定性之间的不同取舍。你几乎永远无法两者兼得。

  • 市价单——「现在就给我成交,多少钱都行。」它越过价差,立即吃掉当前可得的最优价格。你能保证成交;但你不能保证价格,而在一个薄订单簿里,滑点可能极为惨烈。它永远是吃单方。
  • 限价单——「只在这个价格或更好时才给我成交。」你设定你能接受的最差价格。如果它越过价差,就立即成交(吃单方);如果没越过,它就作为挂单方订单挂在订单簿上等待。你掌控了价格,但你可能永远不会成交。
  • 止损单——一种条件单,在市场价格穿过某个触发价之前一直处于休眠状态,触发后以市价单或限价单的形式发出。经典用法是止损,用来自动给一个亏损头寸封顶,而你无须一直盯着屏幕。

无论你选哪种类型,订单都要跑过同一道关卡。提交:你的订单被签名并发出。校验:交易所检查你是否有足够余额、订单是否通过风控限制。撮合:它在价格-时间优先下与订单簿对接。结算:余额变动,成交被记录。在中心化交易所上,第二到第四步在一个私有数据库里无形地发生——你信任的是输出结果。在链上订单簿上,撮合与结算是公开的账本事件,任何人都能独立地重新计算。同样的生命周期;透明度却天差地别。

交易者的核心取舍:市价单买的是执行的确定性,代价是滑点和吃单方费用;限价单买的是价格的掌控权,代价是可能永远不成交的风险。一笔一笔地选对,差不多就是好的执行的全部内涵。

The life of one order 1. Submit signed + sent 2. Validate balance + risk 3. Match price-time book 4. Settle balances move filled CEX: steps 2-4 happen inside a private database. On-chain CLOB: steps 3-4 are public ledger events anyone can recompute.
每一笔订单都跑同样的四个步骤——不同的只是你能否看见它们发生。

托管:究竟谁握着你的私钥?

撮合决定了你和谁交易。托管决定了在你交易期间谁握着你的钱——而从历史上看,托管正是那些灾难性失败的发生之处。它归结为一个问题:谁控制着私钥?

完全托管。交易所握着私钥;你的余额是它们账本里的一张借条。找回很容易——忘了密码,客服能帮你——但你已经交出了全部控制权。一次黑客攻击、一次资不抵债,或者干脆是一场欺诈,对你的资金都是生死攸关的。交易所通过把持仓分散在热钱包(在线,用于快速提现,但有暴露风险)和冷钱包(离线,存放绝大部分储备,盗取难度大得多)之间来管理这一点。「热 vs 冷」描述的是联网暴露程度,而不是私钥归谁所有——一家托管交易所对两者都有控制权。

自我托管。你握着私钥,就这么简单。没有任何对手方能冻结、出借或弄丢你的资金——但也没有任何人能帮你找回它们。弄丢了助记词,钱就永久没了。这是最大限度的主权,也是最大限度的个人责任,对人为失误毫无容错余地。

MPC(多方计算)。一条加密学上的中间道路。私钥从不在任何单一地点被完整组装;相反,它被拆分成加密的分片,由相互独立的各方持有,而签署一笔交易是跨这些分片的协同计算。没有任何单一的服务器、设备或个人会握有完整的私钥,所以既没有单一的热私钥可供盗取,也没有单一的助记词可供丢失——同时还能支持纯冷存储所做不到的实用找回流程。

托管才是真正决定你风险的那个问题。你读到的大多数「加密黑客事件」并不是区块链被攻破——而是托管被攻破:资金被汇集、热钱包暴露,或运营方挪用余额。你的私钥如何被持有,对你的安全比你选哪些币更重要。

当托管失守——以及如何验证它不会失守

加密交易所的坟场,是一座托管的坟场。Mt. Gox 因为它甚至都没察觉的安全和记账失误,多年来一直在失血客户的比特币。Bitfinex 在 2016 年被黑,随后把损失摊派给了所有用户,并花了多年时间一点点追回。FTX 则根本没被黑——它把客户存款汇集起来,悄悄挪给一家关联交易公司,直到一场挤兑暴露了那个窟窿。机制各不相同,却有一条共同的主线:在缺乏足够制衡的情况下,集中控制了他人的钱。

行业给出的答案是储备金证明(PoR)。借助一棵默克尔树,交易所可以用加密学方式证明,所有客户余额之和由它实际持有在链上的资产 1:1 背书——而你可以验证自己的余额被包含在内,同时不暴露任何其他人的余额。相比「就是信我们」,这是一项真正的进步。但要读清楚附带的细则:

  • PoR 是一张某一时刻的快照,不是实时保证。它证明的是审计当天的储备,而不是你提现那天的储备。
  • 它证明的是资产,但往往不证明负债。一家有隐藏债务的交易所可以展示出充足的储备,却仍然资不抵债——所以 PoR 并不等同于偿付能力证明。
  • 那个老把戏:在审计窗口期借入资产,证明储备,然后再还回去。一张快照是可以做局的。

这就是为什么真正的前沿不是「证明一次」——而是「让它始终一目了然」。当一家交易所的交易状态存在于一条公开区块链上时,储备和持仓就不再是一张你不得不去信任的周期性照片;它们是一条实时的数据流,任何人都能在任何时刻从账本里重新计算出来。这就是审计与透明之间的区别。

信任的光谱:不透明的 CEX(「信我们的数据库」)→ 周期性的储备金证明(「信我们最近的那张快照」)→ 实时的链上状态(「你自己来验证,就现在」)。你越往右走,需要去信任别人一面之词的成分就越少。

GaiaEx 如何在这一基础之上构建

GaiaEx 围绕上文中一个朴素的论点构建:保留中心化交易所的速度与易用性,但移除那两个曾毁掉每一场重大崩盘的单点故障——单一的热私钥,以及一本私有、无法验证的账本。

MPC 托管解决私钥问题。你的私钥从不在任何单一地点被完整存储;它被拆分成加密分片,分布在相互独立的各方手中,签名以协同方式发生,全程从不重建出完整的私钥。没有单一的热钱包供攻击者掏空,也没有助记词供你丢失——然而找回依然切实可行。「Mt. Gox 热钱包」那种失败模式根本就没有可以发生的地方。

在 Hyperliquid L1 上的链上执行解决账本问题。交易在一条专门打造的区块链上撮合与结算,这条链运行着一个真正的中央限价订单簿(CLOB),具备亚秒级的最终性——所以你保留了熟悉的挂单方/吃单方、价格-时间优先的体验,但成交、撤单和余额都是可验证的账本事件,而不是一个要你去信任的数据库里的记录。「FTX 秘密电子表格」那种失败模式同样无处藏身。

这一切都不会让风险消失——存款仍然要跨越链与跨链桥,你也仍然必须理解自己在签的是什么。但你在 GaiaEx 上做的那笔交易,不是某个你无法审计的私有系统里一个数字的变动。它是一个真实的、公开的、可重新计算的事件,由没有任何单一方能盗取的私钥所保护。这正是理解交易所如何运作的全部意义所在:让你能分辨出,哪一个绿色数字是别人你去信任的,哪一个是你能自己去验证的。