# Uniswap去中心化交易所全面解析：原理、优势与操作指南




![Uniswap是什么交易所?Uniswap交易所全面介绍](images/202112141437117191-0.jpeg)

Uniswap 是近期在以太坊上推出的一个极有意思的项目。它是一个去中心化代币交易所的协议，但与目前看到的一般协议很不一样。几年前，Vitalik 在 reddit 上发了一条帖子，Uniswap 的创始人 Hayden Adams 因此受到启发，但他一开始只是抱着学习 Solidity 的想法。不过很快，这项编程练习就收到了一笔来自以太坊基金会的奖金。Uniswap 是一组部署到以太坊网络上的智能合约，这意味着整个过程都是在链上进行的。Uniswap 没有自己的代币，完全去中心化，也没有任何手续费流向创始人。虽然 Uniswap 的机制需要一些时间来习惯，但我们会发现，与传统的去中心化交易所（DEX）相比，这种代币交易协议拥有一些显著的优点。

![Uniswap是什么交易所?Uniswap交易所全面介绍](images/202112141437117192-1.jpeg)

## Uniswap交易所简介

Uniswap 独特的架构完全摆脱了限价订单的概念。不同寻常的是，做市商在提供流动性时不再指定交易价格，而是只提供资金，然后 Uniswap 会负责余下的事情。

在 Coinbase 这样典型的传统交易所上，做市商常常按不同价位提供不同的流动性。假设一位交易者手头有 1000 美元和 10ETH。他可能会以 80 美元买 5ETH 以及 60 美元买 10ETH 来挂买单。同时，他可能会以 120 美元卖 4ETH 以及 140 美元卖 6ETH 来挂卖单。他们会选择以自己乐意交易的各种价位做市。总的来说，所有交易者的挂单就组成了交易所的限价订单簿。随着市场行情的上涨或下跌，交易者可能会以其指定的价格成交，也可能不会成交。通常来说，ETH的“行情报价”为最高买单和最低卖单的中间值。

现在假设 Coinbase 把每个人的买单和卖单汇集到两个大的交易池中——可以想象，有的交易者可能不太喜欢这种做法。他们不希望自己的订单与其他人的混在一起，或者不希望让 Coinbase 代表他们以任意价位执行交易。

然而，Uniswap 却正是这么做的。做市商不再指定他们愿意买入或卖出 ETH 的价格。相反，Uniswap 会将每个人的流动资产汇集在一起，并根据某种确定性的算法做市。该算法称为“自动做市商”（AMM），它会根据某些预定义的规则集向最终用户报价。举个非常简单的 AMM 例子：某种交易机器人（bot）策略会以市场价格的中间值为基准，每隔 1 美元（低于 1 美元）提供买单和卖单（高于 1 美元），并随着市场的变化不断修改下单。

AMM 并不是死板的，不同的算法各有权衡取舍。Uniswap 使用了一种被称为“恒定乘积做市商模型”的算法。这种 AMM 的其中一大特点是，无论订单簿规模有多大，或者流动性资金池有多小，它都能提供流动性。其中的窍门是随着需方数量（买单）的增加，渐进式地增加代币的价格。虽然这对较大的订单不太友好（稍后会详述），但系统永远不必担心流动性不足，它几乎能一直有效运作。

## 交易者需知

举个 ETH / DAI 交易对的简单例子。假设做市商已经为这一流动性池注入了 100,000 DAI 和 1,000 ETH 的资金。Uniswap 将这两个数量相乘（100,000 x 1,000 = 100,000,000）。

![Uniswap是什么交易所?Uniswap交易所全面介绍](images/202112141437117193-2.jpeg)

Uniswap 针对这一特定交易对的目标是：无论交易活动多少，该产品都将始终保持 1 亿的交易对乘积数量（因此称为“恒定乘积做市商”）。要记住 x \* y = k 这一关键公式，其中 x 和 y 是流动性池中的代币数量，k 是乘积。要想保持 k 恒定，x 和 y 只能相互反向变动。比如某一交易者在此合约中用 DAI 购买 ETH，则他们正在增加 x（因为增加了流动池中的 DAI），同时也减少了 y（因为减少了流动池中的 ETH）。但这个反向变化不是线性增长的关系。如果现在你要购买 100ETH 而不是 10ETH，那么在购买 10ETH 所需的 DAI 的基础上增加 10 倍，可能并不够用。事实上所需的 DAI 是渐进式增加的。最简单的理解方法是绘制 x \* y = k 曲线。

![Uniswap是什么交易所?Uniswap交易所全面介绍](images/202112141437117194-3.jpeg)

-如图所示，水平方向衡量花费的币 A 的数量，越往右移，单位数量得到的收益（即收到的币 B 的数量）越少（Y 值变动越小）-

在这个系统中需要注意的是关键点在于：报价直接取决于订单的大小。越往曲线右端移动，单位投入获得的收益越少。假设当前的 ETH / DAI 价格为100，不同数量订单所需支付的溢价见下表：

![Uniswap是什么交易所?Uniswap交易所全面介绍](images/202112141437117195-4.jpeg)

如表所示，当购买 ETH 的数量超过流动性池的 2％ 时，购买大量的 ETH 就会很昂贵。不过要记住，这些溢价乃是由当前流动性池的规模决定的。如果流动性池大了 100 倍（即 1000 万 DAI 和 10 万ETH），这时候只购买 50ETH 就没那么贵了。最终，支付价格反映的是交易规模对 x / y 比率的改变程度。流动性池越大，处理大订单就越容易（这正是我们所期望的）。

值得注意的一点是是抢先交易（front running），当今以太坊上的所有 DEX 都存在这个问题。为缓解这一问题，Uniswap 允许用户在下单时指定最高价格。这样，即便矿工抢先交易某一订单，用户也不会被迫接受更高的价格。虽然用户可能会错过这笔交易，但他们不需要支付更高价格。Uniswap 的另一个特点是“订单到期”，该功能可以防止矿工搁置已签名的交易并等到价格变动后再处理。

ERC-20 到 ERC-20 的代币互换无需使用专门的流动性池。例如，在处理 REP < ZRX 订单时，系统将先通过 REP/ETH 交易对，再自动通过 ZRX/ETH 交易对。

## 流动性提供者需知

流动性提供者面临的情况要更复杂。举个 ETH/DAI 市场的例子。首先，流动性提供者（以及交易者）要注意，x/y 比率代表交易对的价格。在我们当前使用例子中，x/y = 100,000 DAI / 1,000 ETH = 100。假设 ETH 在 Coinbase 上价格是 100 美元。如果 x/y 不等于 100，那么 Uniswap 和 Coinbase 之间将存在套利机会。

当流动性提供者向池中增加流动性时，他不能只向交易对的一方提供流动性，这样会改变两种代币间的比率、设定出一个新交易价格（这是个危险操作，因为他将立即被交易对手套利，从而赔钱）。例如，某一流动性提供者仅增加了 1,000ETH，则合约的新比率为 100,000 / 2,000 = 50。套利者将蜂拥而至，直至该比率再次变成100：1。 流动性提供者必须为交易对的两个币种提供等值的资金（Uniswap 接口将确保不会出现错误操作）。  
假设在增加 10,000DAI和 100ETH（总市值 20,000 美元）之后，流动性池现在总共有 100,000 DAI 和 1,000ETH。由于注入的金额相当于总流动性池的 10％，因此合约会产出一种“流动性代币（liquidity token）”，将其提供给做市商，使其有权获得池中可用流动性的 10％。这些代币不是用于交易的投机币，而只是一种用于记录流动性提供方债权的会计或者说记账工具。如果其他人随后存币或者取币，则将会产生或者销毁新的流动性代币，保证每个人在流动资金池中的相对份额保持不变。

现在假设 Coinbase 上 ETH 的价格从 100 美元涨到 150 美元。在经过一番套利之后，Uniswap合约也将反映出这一价格变化。交易者将增加 DAI，减少 ETH，直到新比率变成 150 : 1。这会对流动性提供者造成什么影响呢？合约反映出的数字会接近 122,400DAI 和 817ETH（做个算数检查一下这些数字的是否准确：122,400 \* 817 = 100,000,000（恒定乘积），122,400 / 817 = 150（新价格））。如果把我们有权获得的 10％ 提取出来，那么现在会变成 12,240DAI 和 81.7ETH。此时的总市值为 24,500 美元。做市导致错失了大约 500 美元的利润。

显然，没有人愿意抱着做慈善的心态提供流动性，收益又不能从炒币中获得（因为也没得炒）。所以，总交易量的 0.3％ 会按比例分配给所有流动性提供者。默认情况下，这些费用会重新注入流动性池，但可随时收取。在不知道中间交易量的情况下，很难说交易费的收入和做市的损失孰高孰低。对流动性提供者来说，显然行情波动越多越好。

## 核心价值

好吧，和常规的基于限价订单簿的交易所相比，Uniswap 这种机制听上去要复杂得多。溢价也使得大型交易的成本过高。那它到底有什么好处呢？简而言之，流动性的汇集解决了订单的深度问题，而且不再有较大的买卖价差。那些不想处理限价订单的中小交易者会喜欢这一点（在我们看到的所有加密货币交易平台中，Uniswap 的 UX 是最容易上手的）。在 Uniswap 上，无需挂买单或卖单，也不用进行繁重的计算。流动性提供者也可以一劳永逸，订单和仓位管理方面的开销也明显减少。这是一种很佛系的提供流动性并赚取费用的方式。

Uniswap 还为 dApp 之间（或计算机设备之间）的交易注入了活力。在一个拥有数百万微交易的世界中，与让人不得不留意特定价格的流动性需求相比，融入一个巨大的流动性池更有意义。提升小订单的最佳报价变得不再有风险（想象一下卖方订单为空的 DEX）。另一个用例是证券型代币用 Uniswap 支付分红。

有些聪明的读者可能已经意识到，其实这个模型与去年推出的 Bancor 网络非常相似，但 Uniswap 不收取任何上币费用，消耗的 Gas 少得多，并且更加去中心化。Bancor 要求上币方抵押 BNT，同时要需要填写上币申请表，而且 BNT 很容易被随意冻结。而 Uniswap 不存在这些问题， 只要以太坊网络在，Uniswap 就会持续运转下去。

目前，Uniswap 所有合约的流动 ETH 资金只有几千，因此仍处于早期阶段。由于总会有巨鳄想要交易大宗订单，因此 Uniswap 不太可能取代其他类型的 DEX，但它的独特功能肯定会吸引到许多想要快速、简单获取各种代币的普通交易者。

以上就是Uniswap是什么交易所?Uniswap交易所全面介绍的详细内容，更多关于Uniswap交易所全面介绍的资料请关注币易家其它相关文章！
