自从Brc20出圈以后,在整个Brc20生态大有一种“用三个月走完以太坊三年进程”的趋势,围绕着Brc20做生态的应用层出不穷,新的协议,新的Defi应用,GameFi小游戏应接不暇。
这不就在这两天一个号称“BRC20生态中首个AMM DEX”的项目BisoSwap发起了IDO,产品虽然还没出来,但是募资结果十分惊人,仅凭三张流程图就在公售轮时超募了2535.60%,190个BTC,足以可见市场非常的fomo。本文将结合BisoSwap的产品设计逻辑来探讨一下在BTC上实现DEX的可行性。
AMM(Automated Market Maker,自动化做市商)是一种去中心化交易所(DEX)协议,以数学公式来为资产进行定价。资产不再像传统交易所使用的订单簿,而是由价格演算法来定价。
AMM最早是受到Vitalik于2016年在reddit上发的一篇帖子:《Let's run on-chain decentralized exchanges the way we run prediction markets》的启发,在文中Vitalik写到:
该机制将是一项智能合约,具有T1型的代币和T2型的B代币,并保持不变的a * b = k对于某些恒定k(在人们可以投资的版本中,k可以更改,但K仅在投资/提款交易期间,而不是交易)。任何人都可以通过在xy = k曲线上选择一个新点,并提供缺失的A代币,并在交换中获得额外的B代币(反之亦然),从而购买或出售
就是这么一篇短短的帖子开启了一个千亿市值的Defi(Decentralized Finance)赛道。
AMM的类型除了上述所说的恒定积做市商(x*y=k)以外,还有恒定和做市商(x+y=k),它非常适合交易中价格变化接近于零的场景,但它不能提供无限的流动性。恒定平均值做市商,比如三种权重相等的资产可以简化为如下公式:
在这种模式下可以给对每种资产进行不同的加权,只要最终保证每个资产储备的加权几何平均值不变,所以每个流动池可以拥有比传统的50:50的两种权重资产更多的资产种类。
关于AMM的更详细的解读可以参考《AMM进化史》
作为DEX的开山鼻祖,Uniswap选择的便是恒定积做市商模式。所以,接下来首先介绍一下Uniswap的实现逻辑来帮大家理解开发一个去中心化交易所的实现难点。
Uniswap协议是一个点对点系统,设计用于在以太坊区块链上交换ERC20代币。该协议被实现为一组持久的、不可升级的智能合约。
我们可以将Uniswap实现AMM的角色分为以下几类:
流动性提供者(Liquidity): 他们将资金提供给交易对的流动池,以便其他用户进行交易。流动性提供者选择一个交易对(比如 ETH/DAI),并按照一定比例(比如1:1)将两种代币存入流动池,作为回报,流动性提供者将会获得与其所提供的流动性份额相对应的流动性凭证(LP Token)。他们可以选择随时从流动性池中提取他们提供的流动性,将LP代币兑换为原始代币的份额。或者选择继续保持提供流动性获得交易手续费作为回报。
交易者(Traders):可以选择在流动池中买入或者卖出代币,这种操作会影响代币的价格,特别是当交易市场深度不够或者流动性不足时,就会导致实际交易价格和预期交易价格之间产生很大的差异,这就是我们所说的“滑点”。接下来,我们看一个具体的例子,Uniswap采用的恒定积做市商模型函数可以具象为下方的二次双曲线:
紫色的线是公式代表的双曲线,横纵坐标轴代表池子中代币资产的数目(一开始,两种代币的数量相等都是400,起始价格为1)。假设我们要卖出200个X代币,如果我们仅以现货价格计算,我们希望获得200个Y代币。然而,实际情况我们仅获得了133.333个Y代币,成交价格为0.666Y。
神奇的是这个曲线可以很好反映真实的市场供需关系。供求关系告诉我们,当需求变大时,价格自然就会升高;当需求减少时,价格自然就会降低。
智能合约(Smart Contract):智能合约是Uniswap的核心,它是运行在以太坊上的一段程序,旨在优先考虑抗审查性、安全性、自我监管,并且不需要依赖任何可信中介机构来运行。
前面花了大量的篇幅介绍了Uniswap就是为了帮助大家去了解DEX背后的实现原理,而Bisoswap所声称的实现原理也是参考的uniswap的这套机制。接下来,让我们回到Bisoswap的所谓的“技术实现”上。(因为至今无法体验产品,一切还停留在设想阶段)
我翻遍了Bisoswap整个白皮书,有用的内容不多,整个产品的设计逻辑就是下面三张图:
这里又引入了一个新的概念--"BRC-21",这个标准是在5月7日由跨链互操作项目Interlay的创始人Alexei Zamyatin提出。简单来讲,BRC-21资产本质上还是BRC-20资产,但是与BRC-20可以在BTC上直接发行不同,BRC-21必须要锁定源链上的资产来完成“跨链”,比如可以在比特币上铸造BRC-20版本的ETH、DAI等资产。
完整文档:
说实话,仅凭BisoSwap的三张流程图以及官推的一些内容,我研究了几天也没有研究明白他的实现原理(甚至觉得它的图中有标注错误)。加之其产品迟迟不推出,反而在发行完BRC20代币之后又立马推出NFT。对此,我表示存疑,希望各位读者不要被市场fomo,冷静参与,可以等其产品推出体验后再做投资决定。
在此,我对于上述三张图提出我的疑问:
BRC21的作者表示该标准的主要用例将是用于去中心化稳定币部署到闪电网络或类似的支付协议上,这里的BRC21代币是否是锚定BTC发行的BRC20版的bitcoin? 这是如何实现的?
关于流动性凭证“$LPT”的疑问,很明显这是一个非标准的BRC20代币,添加了许多扩展字段,而且有些字段不明所以。按照添加流动性和Swap代币的操作流程来看,似乎是可以对$LPT进行多次部署和更新,那么是否意味着需要自建索引器和解析器来实现这些功能?
在以太坊上用户提供流动性是保存在智能合约中,可以在一定程度上保证资产安全。但是BTC没有智能合约,图中的BisoSwap相对于用户来说就是一个”黑盒子”,是否就只是使用一个账户来保存用户的资产,我们如何能够确保开发人员不作恶,用户的资产是足够安全的?
...(问题太多,就不一一列举了)
UNISWAP从2018年至今总共进行过三次升级,其优化的主要方向是:
增加流动性:例如V2的多路径交易和Uniswap v3的集中化流动性范围。
提供更灵活的交易选项:例如V2引入了对ERC-20代币间的直接交易支持。V3则通过引入流动性权重、手续费分层和动态费率等功能。
提高用户体验:例如V3引入了更精细化的价格控制和动态调整费率的机制,以提供更好的用户体验。
BTC上一直缺少图灵完备的智能合约,自动ordinal协议和brc20协议出现之后,便有人想用其来替代智能合约来实现一个类似于uniswap的DEX,不过在我看来,按照Bitcoin的TPS和可扩展性,使用json文本来进行状态更新肯定是无法实现低滑点和高流动性的丝滑体验的。
如果你觉得我的内容还不错,欢迎添加下方微信,加入免费交流群: