> For the complete documentation index, see [llms.txt](https://utxoswap.gitbook.io/zh/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://utxoswap.gitbook.io/zh/introduction.md).

# UTXOSwap 轻皮书：定义 Bitcoin Finance 交易新范式

## UTXOSwap 概述

UTXOSwap 是基于 BTC 生态的去中心化交易所（DEX）协议，旨在通过基于意图的（Intent-based）交易为用户提供更优质的交易体验和更好的成交价格。目前 UTXOSwap 会支持 RGB++ 和 CKB 生态的资产进行交易，未来还将扩展支持 Runes 等其他 BTC 生态资产。

目前常见的 DEX 主要有订单簿（Order book）和自动化做市商（AMM）两种形式，其中订单簿 DEX 受限于链上交易的高成本，并没有获得像中心化交易所那样的成功，AMM 则凭借其简单直接的交易理念获得了更为广泛的认可。然而，随着链上交易量和流动性的爆发，AMM 的问题也逐渐显现，比如效率低下，gas fee 竞争，MEV 横行等。于是，基于意图的（Intent-based）交易模型开始出现，它融合了订单簿和 AMM 的优势，让用户和做市商的体验和效益最大化。UTXOSwap 正是采用了基于意图的模式作为其核心，利用 UTXO 编程的优势全新设计的 DEX。

得益于 UTXO 的特性，UTXOSwap 有很多创新和优势：在交易模式上，UTXOSwap 能够做到链下撮合、链上验证，从而在撮合阶段可以接入 AMM 之外的流动性供应商；在性能上，UTXO 的并行特点也能让交易效率获得成倍地提升；在 gas fee 上，没有成交的意图不会产生 gas fee，正常成交的 gas 也低到可以忽略不计，如果有的交易对过于火爆，还可以采用 local fee 的模式隔离它们对其他交易对的影响。

UTXOSwap 是 BTC 生态非常重要的基础设施，能够很好地解决目前 BTC 生态资产流动性差、交易成本高的问题，降低资产发行和交易的成本并提供更多新玩法。UTXOSwap 将基于 UTXO 模型探索 Bitcoin Finance 独有的特点，致力于成为比特币生态的流动性基础设施，促进比特币生态的繁荣。

## 技术实现

<figure><img src="/files/jTnti5T17J24upLXuSEM" alt=""><figcaption></figcaption></figure>

在 UTXOSwap 上，用户进行 swap 交易时，主要包括以下三个步骤：

1. **意图表达**：用户通过签署一个包含交易资产类型、金额以及其他参数的消息，来表达他们的交易意图。
2. **聚合与匹配**：聚合器收集所有用户的交易意图，搜索链上和链下的流动性资源，并进行意图匹配。
3. **交易提交**：聚合器将所有符合条件的交易组装好，并提交至链上。

聚合器可以利用的流动性来源包括：

* 直接匹配的用户意图
* AMM cells（CKB 链上构建的各类 AMM 流动性池）
* 第三方做市商提供的流动性

#### Intent Cell

Intent cell 用于记录用户的交易意图，并确保其在消费时满足特定条件。对于 AMM 操作，意图可以分为三种类型：Swap、AddLiquidity 和 RemoveLiquidity。

用户在使用 UTXOSwap 时，首先需要发起一笔 CKB 交易，并在 intent cell 中详细记录其交易意图。例如，用户设定滑点并选择特定的资金池进行交易时，这些参数将被写入 intent cell。当 intent cell 被解锁时，脚本会验证输出中返回给用户的资产是否满足滑点要求，并检查是否包含指定的资金池 cell。

<figure><img src="/files/KKfyhABDe30M1VyJGFOj" alt=""><figcaption></figcaption></figure>

Intent cell 支持多种交易形式，除了标准的 swap 交易外，还将支持 limit order 和 twap（时间加权平均价格）交易等。这使得 UTXOSwap 平台能够满足用户的复杂交易需求并增强策略灵活性。用户可以通过详细设定 intent cell 中的参数，精确控制交易执行的条件和时机，优化交易效率和结果。

比特币还有一个独特功能是支持 PSBT（部分签名的比特币交易），这允许多方通过部分签名参与构建同一个交易。在 CKB 中，相应的 PSBT 扩展功能是 Open Transaction。在 UTXOSwap 集成 Open Transaction 后，用户可以通过链下签名方式直接构建交易意图，其他人则可以通过补充输入和输出来满足这些意图，可以提供更优的交易体验。

#### AMM Cell

AMM cell 负责与 AMM 相关的全部验证逻辑，包括意图交易的验证，流动性池中资产的管理，以及流动性凭证的生成和销毁。

在交易执行过程中，AMM cell 会验证每一笔交易意图，确保用户需求得到满足。同时，它还会检查流动性池的状态变化是否严格按照预设的 AMM 曲线进行，以确保整个资金池的安全性。

## 产品优势

#### Intent-based 混合交易模型

在传统的 AMM 交易模式中，每次交易只有用户和流动性池两个交易角色参与，用户要交易就只能接受当前流动性池的报价。站在用户角度，这个模式虽然提升了交易的便利性，但是损失了获得更好的成交价格的可能性，用户只能在两者之间做出取舍；站在做市商角度，创建流动性池被动做市会带来无常损失并丧失定价能力，而主动成交又会有滑点、MEV 等带来的不确定性。

为了解决上面的问题，基于意图的（Intent-based）交易模型出现了。在这种模型里，用户不再被动接受价格，而是主动给出自己的交易意图，比如“用 10 个 A Token 换到至少 20 个 B Token”。流动性供给侧也发生了变化，AMM 流动性池只是流动性供给的一种选择，如果有利可图，做市商可以根据用户意图直接成交；即便没有做市商撮合，如果 AMM 流动性池的价格符合用户意图的区间，交易也可以顺利完成，这时的交易流程就变成了限价单模式。

UTXOSwap 利用 UTXO 编程模型中链上验证的特点，做到了链下撮合、链上成交，很好地实现了上述基于意图的混合交易模型。在未来，我们还会对用户表达意图的能力进行拓展，比如实现类似荷兰拍的逻辑：价格在一定区间内随时间下降，这个过程中做市商根据自己的成本互相竞争，最后可以由 AMM 进行保底成交。

#### 支持自定义曲线和手续费率

在 UTXOSwap 的 AMM 模型中，交易对创建者可以根据资产的特点对定价曲线进行自定义，比如针对稳定币类型的交易对可以采用 curve 类型的曲线。此外，交易池还有一些可选的手续费率，能够让不同的 LP 自由选择，最大化收益。

#### 超低 Gas Fee，可用任意代币支付

UTXOSwap 单笔交易的 gas fee 成本约为 1/10000 CKB，按照当前的 CKB 价格计算，不到 0.000002（百万分之二）美元，几乎可以忽略不计。此外，得益于 UTXO 链下计算的特点，用户的交易意图在链下就可以进行可行性验证，如果无法成交则不会上链，用户也就不需要支付手续费。

另一方面，得益于 UTXOSwap 的设计，无论是 gas fee 还是状态空间占用，所需 CKB 都不需要用户感知，用户可以用任意 token 来无感支付这些成本，UTXOSwap 会自动将用户支付的 token 进行转换，并帮助用户进行 gas fee 的支付或者新 cell 的创建。

#### 兼容多链钱包，L1/L2 无感操作

UTXOSwap 的用户无需下载使用专门的 CKB 钱包，而是可以直接使用熟悉的 BTC 钱包完成 L1/L2 的 Leap，L2 的交易以及转账等操作。体验上，用户的 BTC 地址会对应一个固定的 CKB 地址，而且 CKB 地址的控制权只属于这个 BTC 地址。这个对应关系是链级别的，因此在其他兼容多链钱包的 CKB 应用里，同一个 BTC 地址对应的 CKB 地址也能保持统一。

除了 BTC 之外，技术上还能支持 ETH / Solana / Tron 等多条主流公链钱包直接使用，如果未来有相应的资产协作场景，例如 CKB 到 Solana 的跨链，我们也会同步进行对应钱包的支持。
