Caspian:一种由 Layer 2 驱动的新型 AMM 设计
太长不看
在 Layer 2 上构建 DeFi 解决方案时,资金效率是人们最关心的问题之一。
原因:流动性将分散在 Layer 1 和多个 Layer 2 解决方案之间。
Caspian:我们提出的一种由 Layer 2 驱动的 AMM 设计。该 AMM 将资产留在 Layer 1 上,可有效防止流动性碎片化,并提高资本效率。
StarkEx 3.0(2021 年 6 月启动)将支持 Caspian。它将包含实现 Caspian 所需的两个新元件:Layer 1 限价订单(Limit Order)和批处理交易的闪电贷(Batch-Long Flash Loan)。
背景
AMM 是一个重要的 DeFi 工具。其核心特征 —— 自主性、可组合性和引导流动性启动 —— 使得 AMM 成为 DeFi 乐高的第一大基石。自 Bancor 和 Uniswap 诞生以来,AMM 的设计空间开始朝着多个方向拓展:从专业化市场(如 Curve)到通用型市场(如 Balancer)再到无常损失感知市场(如 Dodo 和 Bancor V2)。
AMM 如何适应快速发展的 Layer 2 领域?
迄今为止,所有 Layer 2 AMM 设计都需要将整个 AMM 转移到 Layer 2 上,包括流动性,从而导致 Layer 1 流动性碎片化。
我们提议的由 Layer 2 驱动的 AMM 设计可将流动性保留在 Layer 1 上,同时让用户在 Layer 2 上进行交易。
这一设计不仅可以让 Layer 1 流动性提供者参与进来,还可以:
将流动性存入其它 Layer 1 DeFi 协议(如 BentoBox 和 Balancer V2)。
实现跨 Layer 2 AMM(点击此处,查看详情)。
Caspian 是什么?
概念
Caspian 是一个由 Layer 2 驱动的 AMM 方案。就像全球最大的湖泊里海(Caspian Sea)那样,Caspian AMM 不仅可以让流动性在不同的 Layer 2 方案之间转移,还能有效防止 Layer 1 上的流动性碎片化。
Caspian 通过一个链下运营者来批量处理 Layer 2 交易。该运营者是唯一与 Layer 1 上的(L2 驱动型)AMM 合约交易的实体。它模仿 AMM 合约的逻辑,并基于一批交易开始时 Caspian AMM 的状态,以及这批交易中包含的 Layer 2 交易来提供报价。
处理完一批交易后,运营者会将这批交易的净差额与由 Layer 2 驱动的 AMM 合约进行撮合,从而完成结算。运营者必须模仿合约的逻辑,并将其应用于正确的账户状态,以确保 Layer 1 合约能够充当 Layer 2 交易的对手方。
参与者
链下
运营者:存在于 Layer 1 和各 Layer 2 协议上的无风险做市商。运营者充当协调者。其唯一目的是为每一批交易撮合交易者,并将每一批交易的净差额与 Layer 1 合约撮合。运营者使用 STARK 证明来结算每一批交易。请注意,此处唯一的信任假设是运营者会公平地对交易进行排序。若想解决这一中心化单点问题,我们可以将运营者本身变成去中心化的。
交易者:Alice 和 Bob 都是 Layer 2 上拥有资金的交易者。
流动性提供者:Carol 是 Layer 1 上的流动性提供者。
链上
由 Layer 2 驱动的 AMM 智能合约:该合约是一个标准的 AMM 界面,主要有两处变化:
只有运营者才能充当这个 Layer 1 合约的对手方。
取款需要度过 AMM 冷却期(AMM Cooldown Period,ACP)。为什么需要 ACP?假设在链下,运营者向 Alice 提供了报价。如果 Layer 1 AMM 的流动性增加,报价就会变高;相反,如果 AMM 的流动性减少,报价就会变低。因此,存款可以是即时的,但是取款必须等到一批交易处理完之后。
StarkEx:将 AMM 的逻辑与链下 StarkEx 可扩展性引擎连接的智能合约。
新增功能
正如上文所述,StarkEx 很快将新增两个功能:Layer 1 限价订单和批处理交易的闪电贷。我们已经在 DeFi Pooling 一文中介绍过了 Layer 1 限价订单功能(中译本见文末)。现在来介绍批处理交易的闪电贷。
批处理交易的闪电贷打破了以往闪电贷仅限于单笔交易的限制,而是可以将贷款期限延长至一个批处理交易的生命流程,L2 运营者可凭借这个功能在 L2 上铸造代币,前提是该批处理交易结束时必须销毁这些代币。
这提高了运营者作为中间方的效率,简化了合并多笔限价订单以及在 Layer 2 内路由交易的流程。
基本操作
Layer 2 交易
Alice/Bob 向运营者请求报价/同意运营者的报价。
运营者自行撮合这些报价订单。为了避免流动性闲置,运营者可以发起批处理交易的闪电贷(根据定义,需要在同批次 L2 交易处理完成后偿还贷款)。
根据 AMM 规则,运营者可以:
在 AMM 池内生成一个 Layer 1 限价订单
将净差额(即,批处理交易的闪电贷的金额)与 Layer 1 限价订单进行撮合
生成批量交易证明/发送证明
更新状态
Layer 1 流动性提供者
对于流动性提供者来说,Layer 1 和 Layer 2 之间没有任何区别。流动性提供者通过 Layer 1 智能合约与 AMM 进行交互,无需了解链下流程的内部运作方式。我们来看一下流动性提供者的两个基本操作 —— 存款和取款:
存款
存款是单步操作:Carol 将资金存在 Layer 1 上,获得流动性提供者代币。运营者会监控 Layer 1 区块链,并基于新增存款调整报价。
取款
取款是三步操作:
Carol 锁定她的流动性提供者代币,从而触发 AMM 冷却期。
运营者必须在 ACP 结束时满足 Carol 的取款请求。
如果运营者拒绝 Carol 的取款请求,Carol 可以在 ACP 结束后按最新的 AMM 比率直接从 AMM 智能合约取走资金。
总结
为实现 DeFi 的金融普惠目标,我们需要降低交易成本并不惜任何代价防止流动性碎片化。
由 Layer 2 驱动的 AMM 方案 Caspian 就是在朝着这一目标迈进。它可以将 Layer 2 逻辑最小化,同时提高资本效率,让 Layer 2 流动性成为超流体质押物(在作为质押物的同时可以产生利息)。我们将继续积极探索并研究 Caspian 的设计空间。