# StarkEx：透明可扩展的交易所解决方案

By [Starknet 中文](https://paragraph.com/@starknet-zh) · 2022-12-05

---

> **原文**：[StarkEx: a Transparent, Scalable Solution for Exchanges](https://medium.com/starkware/starkex-a-transparent-scalable-solution-for-exchanges-962fedaf285e) **翻译及校对**：[「StarkNet 中文社区」](https://twitter.com/StarkNet_ZH)

概要
--

*   中心化交易所的用户要求其提供偿付能力证明，并声称「交易所受到监管」是远远不够的
    
*   依靠第三方审计的储备证明等现有方法存在不足（不是每天更新，而且可以作弊）
    
*   在以太坊上的 StarkEx 有效性证明 Rollup 上运行中心化交易所有非常多的好处：
    
    — 交易所可以得到管控并遵循相关司法管辖区的规定
    
    — 每个有效性证明都有一个储备证明（大约每天两次！）
    
    — 用户在选择自托管的同时仍能活跃交易
    
    — 如果交易所运营节点关闭，用户可以通过以太坊取款
    
    — 交易所无法免除任何个体交易的清算
    
    — 每个人都遵守相同的规则
    

### 引言

FTX 旨在成为一个完全受监管的交易所，以 1:1 的比例存储用户资产，然而却辜负且欺骗用户。

![](https://storage.googleapis.com/papyrus_images/d178f7f3fba4987b6d2e3a884bc454acd09485f773c1f41f851eebf59f125ed8.png)

因此，用户想要更高的透明度。用户想要一种无需信任的方式来验证交易所是否确实拥有能承担其负债的确切资产。法规不值得信任，代码才是最可靠的。此外，许多用户希望在不牺牲交易能力的情况下进行自托管。

### 储备证明还不够好

储备证明是怎么运作的？通常，外部审计方可以每季度访问一次交易所的帐簿。审计方会验证交易所的钱包是否有足够的资产来支付用户负债。然后，审计方保留一个默克尔树，其中每个叶子都包含每个用户都资产余额，用户可以向审计方验证他们的余额是否在该树中。Kraken 多年来这方面一直做得很好，参阅 Kraken 的[储备证明](https://www.kraken.com/proof-of-reserves)网页。

问题是储备证明给终端用户提供了一种错误的安全感，为什么会这样呢？

**储备证明并不是每天更新**

交易所每季度进行一次快照，然后审计员需要花好几周的时间来准备。而在日新月异的加密行业，几周时间过后交易所很可能已经发生了巨变。

**交易所与审计员存在串通可能**

虽然审计方需要维护长期声誉，同时避免违法行为，但仍然存在受贿说谎的风险。FTX 声称受 GAAP 审计监管，但看看发生了什么。

**交易所可以在快照之前借入资产**

交易所可以在快照之前从交易对手那里借入资产来与审计博弈。交易所可以把这笔贷款剔除出帐簿，并向审计员声称资金是从冷钱包中转出的。这个风险是真实存在的。

**交易所必须签署冷钱包以证明所有权**

交易所经常声称他们拥有离线的冷钱包，这些钱包有严格的控制来避免黑客攻击。如果交易所需要提供季度证明，则每个季度都要对这些冷钱包进行签名，这样就给交易所带来了操作风险。

### StarkEx 解决所有问题

有比储备证明更好的选择。存在一种架构，它不仅可以证明交易所拥有能够承担用户负债的确切资产，而且**还可以彻底无需信任地防止交易所窃取用户资金**。

在继续阅读之前，请务必阅读 [Vitalik 的相关文章](https://vitalik.ca/general/2022/11/19/proof_of_solvency.html)，尤其是「Plasma 和 Validium：中心化交易所可以成为非托管的吗」这一部分。

![](https://storage.googleapis.com/papyrus_images/8fb4fbeca6e5a42fdc330dbc7b1f34a2194f79d2e213e811a21b33343b524b45.png)

### StarkEx 架构

使用 [StarkEx 架构](https://starkware.co/starkex/)（见上图），中心化交易所可以像现在一样运行大部分系统，和现在完全一样的用户注册流程，遵循目前其管辖范围相同的 KYC 或反洗钱要求。此外，订单簿和匹配引擎仍保持中心化。这点很重要，因为它确保流动性提供者可以实时提供定价，和传统金融中习惯的一样。链上订单在区块时间和网络同步中引入了延迟，这对传统做市商提供流动性其实是阻碍。

唯一的区别是实际交易会被发送到 StarkEx 服务（一个 REST API），在 StarkEx 上交易将通过 STARK 证明的验证在以太坊上进行链上结算。这里让我们一起来拆解一下流程：

1.  我有 1200 USDC，想用来换取 1 ETH。用私钥对此订单进行数字签名以授权该订单。
    
2.  交易所将我与交易对手匹配，并在彼此之间自动交换资产。
    
3.  然后生成一个 STARK 有效性证明，证明网络的新状态。我的 ETH 余额增加 1，而 USDC 余额减少 1200.
    
4.  然后以太坊上的智能合约自动验证此证明。这个验证证明了新状态，我的私钥现在控制着 1 ETH。
    
5.  获利！
    

上述例子是现货交易。对于永续合约来说流程是类似的，只是现在证明我的头寸而非余额。假设我在永续衍生品交易所（如 dYdX）中持有已被清算的头寸，来更深入地了解下流程。

1.  我在 dYdX 上有 100 USDC
    
2.  杠杠做多 1000 美元 ETH
    
3.  ETH 价格下跌 10%，被清算了
    
4.  然后 StarkEx API 收到确认价格下跌的预言机更新，并以加密方式证明了我的清算遵循系统的所有规则。然后交易所清算我的头寸。
    

如果我的资产卡在运用了 StarkEx 架构的项目中，且想要提现资产，我可以在 StarkEx 项目上提交一笔交易，然后等待链上证明完成并解锁我的资产。然而，当运用到交易所上还能更棒，如果交易所的运营节点作恶或者关闭了，交易所无法窃取用户资金，且在这种情况下，用户可以无需信任地在以太坊 L1 上提交取款请求。如果 StarkEx 实例未在足够的时间内兑现提款，资金将在以太坊上释放。在[此处](https://docs.starkware.co/starkex/README-forced-operations.html)可查看 SrarkEx 文档。

这听起来或许微不足道，但意义深远。在获得传统交易所用户体验的同时，用户还能拥有其他的好处：

*   用户可以选择自托管，但仍可活跃交易
    
*   如果交易所运营节点关闭，用户可以通过以太坊取款
    
*   交易所无法免除任何个体交易的清算，每个人都遵守相同的规则。还记得 Alameda 发生了什么吗？据透露，Alameda 在 FTX 上有特殊规则（无自动清算）。这在 StarkEx 上根本不可能，证明器不会去把一个超出其保证金要求的头寸作为有效的状态证明。
    

关于数据可用性模式的补充
------------

除了在链上发送证明之外，以太坊还需要知道新状态是什么。可以通过将整个默克尔树发送到链上（Rollup 模式），或通过将默克尔树存储在数据可用性委员会，只把树的根哈希存储在链上。见《[数据存储所需要知道的一切：Rollup、Validium、Volition](https://mirror.xyz/starknet-zh.eth/GXp38ShGC70xYtiKIJN5QNSBMRlpXE29Y6BRT23Z3Rk)》了解更多详细信息。

这不是假设；现在就能大规模上线
---------------

如今有 8 个团队在 StarkEx 上部署。请参阅此处的客户部分： [https://starkware.co/starkex/](https://starkware.co/starkex/)

以 [dYdX](https://dydx.exchange/) 作为真实案例研究：

*   dYdX 已经处理了超过 7500 亿美元的累计交易量，全部由 StarkEx 提供支持
    
*   当 FTX 爆雷时，dYdX 的交易量增加了
    
*   资产证明[在链上可查](https://twitter.com/HaymanLiron/status/1591854001695657985?s=20&t=dQFxj12TNj3cHtWYcJFUpA)，并随每个证明进行更新
    
*   dYdX 使用 Rollup 模式数据可用性，因此不需要数据可用性委员会来签名解锁资金
    
*   用户通过私钥完全掌控资金
    

关于现实世界的资产
---------

许多用户相信这种解决方案具备对以太坊原生资产的约束力，却不知道如何扩展到现实资产代币化。对此，我们来听听 Vitalik 的看法。

_最后一个问题，_**_你能对法币进行资产证明吗_**_？交易所不仅持有加密货币，还在银行系统内持有法定货币。其答案是肯定的，但这样的程序将不可避免地依赖于“法币”信托模型：银行本身可以证明余额，审计员可以证明资产负债表等等。鉴于法币无法通过密码学来验证，这是在该框架内所能做到的最佳方式，仍是值得一试的。_

这是代币化所需要的一点信任，但也到此为止了。交易所仍可按照之前所描述的运行。

结论
--

这是金融的未来，StarkEx 解决了传统系统中遇到的实际问题。我们的愿景是 StarkEx 在未来十年内为所有金融工具的交易提供支持和结算。

如果您想了解更多关于 StarkEx 和 StarkNet 的信息，请随时[与我们联系](https://starkware.co/about-us/)。

---

*Originally published on [Starknet 中文](https://paragraph.com/@starknet-zh/starkex-2)*
