从Pisa的比特币到Uniswap威廉戈兹曼在(zai)《千年金融史》中(zhong)的描述清楚地说明了来自阿姆(mu)斯特丹证券交易所的股(gu)票交易这一金融创新的价值。我们普通人也可以对比一下(xia),看看为什么要买卖股票。
在当今(jin)金融界,股票交易是最重要的环节。它(ta)交易的是一种生产性资(zi)产类型。在区块链的世界里,类似(si)的现象再次发生:自2009年比特币出现以来,“货(huo)币交易”逐渐成为(wei)主要环节,其他(ta)金融产品要么服务于它,要么是它(ta)的衍生品。目前,所有通过“豪(hao)测试”的区块链生态交易,也就是说(shuo),他们不是美国证券(quan)法规定的证券。但(dan)是我们不得不承认(ren),除了比特币等少数情况,其他主流(liu)的通票类型都是生产性(xing)资产类型,比如(ru)以太坊、平台通票、DeFi通票(piao)等等。
以下(xia)是关于区块链交易演(yan)变的粗略历史梳理(li):
价格的开(kai)始:2010年5月(yue)22日,论坛里发生了一万(wan)比特币换两个披萨的交易,这是比(bi)特币的第一次定价。
论坛交易阶段(duan):论坛形式的比特币(bi)交易开始发生。
集中(zhong)交易:演变为集中撮合交易,形式完全借鉴证券交易所(suo)。这个探索中有很多失败的案例(li),最臭名昭著的(de)MT.Gox,同时围绕交易(yi)的各种金融衍生品也开始出现,这(zhe)里就不讨论了。
货币交易(yi):一定时间后,美元等法定货(huo)币与货币的交易(yi)开始退居二线,货币交(jiao)易成为主流。由美元资产背书的(de)成为主流,而由ETH背书的戴开始出(chu)现。在我们看来,这种变化主(zhu)要发生在2017年9月4日之后(hou)。
去中心化交易:技术基础设施和交易(yi)模式的发展推动(dong)了交易的进一步演进,将所谓的去中(zhong)心化交易模式带(dai)上了所谓“流动性池Liquditiy Pool for Swap”的完整链条。2020年终于实现了这样的进化,典型(xing)代表就是Uniswap。
分散交易也(ye)称为自动做市商(AMM),是对交易(yi)如何达成的解释。我更愿意把它描述为(wei)“用于互换的流动性池”。
Uniswap是区块链产(chan)品中的模型模板。2020年推出自己的治理通,2021年将推出第三版(V3)。
使用(yong)Uniswap: exchange
Uniswap的实现机制是“流动性池Liquditiy Pool swap互换”。对于普通(tong)用户来说,它的交换功能和界面相(xiang)当简单直观:
互换:按照市场价,一张通(tong)行证换另一张通行证。
Uniswap交换机的常规使(shi)用
使用(yong)这个交换界面,我们将逐一执行以下操(cao)作(出于练习原因,此处截图(tu)连接Ropsten 测试网 ):
第一步:填写兑换要求。
你选择(ze)从哪个关口兑换?-选择ETH设置金额-1你想换(huan)哪种通行证?-选择戴看(kan)预估金额是否合适-我们也(ye)可以在这里设置,2)预估金额会自动显示(shi)。检查价格影响(也称为滑动点(dian))――如果超过5%,Uniswap将要求我们再次确认。
第二步:确认
Uniswap会弹出来让我们确认。
确认后(hou),Uniswap接口会要求我们用MetaMask钱(qian)包签名,同意交易。这意味着我(wo)们同意智能合约的交易,并使(shi)用我们钱包中的数字资(zi)产。
第三步:检查结果(guo)。
稍等片刻,等待右上角(jiao)的“待处理”完成,交(jiao)易成功后,我们就可以查看钱包(bao)里的第二笔数字资产了。
Uniswap exchange的(de)专业使用模式
如果您(nin)在Uniswap exchange窗口中单击设(she)置按钮,我们可以进行相应的(de)设置并切换到高级模式(shi)。
。我们可以(yi)设置的是两个选项:
可(ke)接受的滑点值交易的截止时间
如果选择切换到专业(ye)使用模式,我们还可以直接将兑换后的(de)通证转到一个新的地址(通常不(bu)建议使用这一设置):
有时,我们所进行的兑换需要经(jing)过一些中间兑换比(bi)如A->C->B,这会增加燃料费成本(ben),我们可以选择关闭(选(xuan)择 ON )。
滑点(slippage):兑(dui)换对价格的影响
在 Ropsten 测试网上,我们创建了一个ERC20 Token 名为 CLS,用它来进(jin)行一系列测试。
我们已经在 Ropsten 测试网的Uniswap 创建了一个(ge)交易对,它的基础(chu)信息如下:
CLS: '0xf5F89BAAF53F9Cfc9721b8dca18Bd9F60d5AA1ea'
WETH:'0xc778417E063141139Fce010982780140Aa0cD5Ab'
pair: 0x5eAbdb14C9b62a67e34e8B9DEEb4B9C083b80545
这个交易对的价格当前约为 1 ETH=10000 CLS。当前的流动性均为我们的一(yi)个测试账号所提供。(关于(yu)如何发行通证、建(jian)立交易对、及编程与Uniswap 交(jiao)互,参见我们相应的(de)技术教程。)
当前 ETH/CLS 交易(yi)对情况,当前流动性(xing)由测试账号提供。
我们来用(yong)这个交易对进行兑换。我们主要是(shi)为了了解兑换对于价(jia)格的影响,也就是通常所说的滑点。这(zhe)里我们会涉及到一些(xie)计算,以了解Uniswap兑(dui)换的基本原理。
我们在 Uniswap 文档中看到相关的(de)解释:https://uniswap.org/docs/v2/core-concepts/swaps/。
兑换的原则是:兑换前后保持 x * y=k 的 k 值不变。
在兑换前(CLS/ETH):
x * y=k
1000 * 0.1=100
价格:1ETH=10000 CLS
地址:https://app.uniswap.org/#/swap
在兑换后(hou)(CLS/ETH),y将变成0.11,则(ze)x应变为909.09。
这意(yi)味着,在不考虑Gas Fee的情况下,输入(ru)0.01 ETH,将获得(de)90.91 CLS。
价格是:1ETH=9091 CLS
x * y=k
909.09 * 0.11=100
价格:1ETH=9091 CLS
如果考虑到 Liquidity Fee,则兑换(huan)得到的CLS还要少一些(xie),即价格还要更高一(yi)些。
在UNISWAP界面中,它给出(chu)了考虑 Gas Fee 的计算结(jie)果:
可兑换(huan) CLS: 90.66
对价格的(de)影响度是9.04%,因为有人买CLS,导致价格涨了9.04%。
如果将输入的ETH调整为0.005,则看到对(dui)价格的影响(即滑点slippage )减(jian)少到4.73%。
我们还是选择(ze)兑换0.1ETH。
在兑换前:
ETH 12.712
CLS 499000
在兑换后:
ETH 12.7017
CLS 499090.661
我(wo)们注意到 ETH 减少比(bi) 0.1 看多了 0.0003,这是Gas Fee。
在(zai)进行如上兑换后,如果继续(xu)试图 ETH->CLS 兑换,我们会看到(dao),这将进一步影响价格。
Uniswap的使用:提供流动性
Uniswap 有(you)两类用户:
第一类是普通的(de)交易用户,用一种(zhong)通证兑换另外一(yi)种通证。第二类则是所谓的(de)流动性提供者(Liqudity Provider,LP),它们向交易(yi)对的流动性池按规则注入一对资(zi)产(两种资产的价值相等,两种资产的汇率是当前市场价(jia)格)。
它们将获得交易费用作为自(zi)己的收益,现在为0.3%。同(tong)时,在 Uniswap 发行了治(zhi)理通证UNI之后,为其中一些交易(yi)对提供流动性还将获得 UNI奖励。
为交易对流动性池(shi)提供一堆资金作为流动(dong)性,LP需要承担一个额(e)外的损失,通常(chang)称为无常损失(impermanent loss,也可称为发散损(sun)失)。也就是当两种资产的汇率(lu)大幅偏离LP加入时的市价时,以美元(yuan)计价,LP可能会遭受一定的(de)损失。这是LP需要考虑的。
关于 Uniswap 的LP有这样一个段子,在网上(shang),一位知名的加密数字货币(bi)投资人说:
交易要(yao)有慈悲心态,别人不要的时候,我(wo)收,别人抢的时候,我给。
Crypto_Investor: As an uniswap LP
在稍(shao)后,我们将专题讨论LP的相关议(yi)题:比如存入之后(hou)你将获得什么,你要承担的(de)无常损失是什么,那将需(xu)要进行一些计算。在这里,我们简(jian)单尝试为流动性提供流(liu)动性、移除流动性的(de)操作。
在如下界面进行操作:https://app.uniswap.org/#/pool
操作一:增加流动性。
我们按比例增加 1 ETH: 10138 CLS 进入流动性池。
操作二:在(zai)钱包查看流动性池LP 通(tong)证(Pool LP Token)
这个交易对的(de)地址是:0x5eAbdb14C9b62a67e34e8B9DEEb4B9C083b80545,它也是一个符合ERC20标准的通证,我们可以将它加到 MetaMask 中查看。
加入MetaMask的方法,选择 Add Token,点击上(shang)方 Custom Token标(biao)签页,输入ERC20 通证的地址(zhi)。然后按提示操作。
成功在MetaMask加入之(zhi)后,我们可以查看(kan)余额:
对于当前的(de)Uniswap V2 来说(shuo),所有的LP Token显示的(de)名字都是:UNI-V2。但要注意(yi),它们是不同的,有(you)多少个交易对,就有多少个不同的Pool LP Token,我们需要用地址(zhi)去区分它们。
操作(zuo)三:移除流动性
移(yi)除流动性,就是将Pool LP Token兑换为两种资产(CLS/ETH)。
在这(zhe)界面中是分两步进(jin)行的,这在界面中对(dui)应Approve和Remove两个按钮:
第一步,授权(quan)Uniswap的智能合(he)约可以动用我们的LP Token。这背后实际上是将自己的LP Token 授权给 UniswapV2Router02 合约,允许它按我们的要求来动用。具体而言,现在它使用的私钥签(qian)名 + Permit 方式(shi)。
第二步,实际执(zhi)行移除流动性的操作,兑换回 CLS、ETH资产。
按(an)提示执行之后,在 Uniswap 界面(mian),在 MetaMask 钱包(bao),我们都可以看到相应的资产变化(hua)。在 Uniswap 界面,我们看到自己不再拥(yong)有流动性。在钱(qian)包,我们看到自己赎回的ETH、CLS,而看到 Pool LP Token变为零。
.4 小结
总(zong)的来说,到当前的讨论为止,币币交(jiao)易及Uniwap在不同的层面提供了价值:
宏观:币币交易促(cu)进对未来风险的交(jiao)换;兑换用户:达成(cheng)投资或投机目的;流动性提供者(LP):获得交易费收益,过于这些收益(yi)属于交易平台及其股东;对区块(kuai)链业界:提供了全链上、去中心的新型(xing)技术方案。
就 Uniswap 当前的方(fang)案而言,是较为可行的方案,但与区块(kuai)链本身相关的约束依然在,比(bi)如我们讨论的各种操作、比如与这些操(cao)作相关的交易费(fei)、比如产品层面在用户体验方面有(you)很大的进一步改进空间。