详解OmniBOLT:比特币闪电网络上的AMM解决方案
原文:《》by OmniBOLT
编译:
密切关注去中心化金融的读者应该都很熟悉 “自动化做市商(AMM)” 这个词。这是一个非常有趣的概念,可以协助人们的交易而无需人力干预。交易者总是直接收到一个他们可以购买或者出售的价格;同时,他们的订单也会对后续的交易价格产生影响,影响大小取决于订单的交易量。
使用 AMM 的主要优势是应对不可靠的环境。AMM 的价格通常来自多个 API,保证了总能获得最准确的价格。此外,任何人都可以成为 AMM 的流动性提供者并收获一些交易手续费。
至于交易量,AMM 已经是当前的市场上最流行的 DeFi(去中心化金融)概念,拥有数十亿的流动性和交易量。不过,当前的行业更需要一种去中心的交易方式,为所有用户赋能。
什么是 “做市”?
在我们探究 AMM 的工作原理和承担的功能之前,我们先要了解一下什么是 “做市(market-making)”。
简单来说,做市就是通过同时设定一种资产的买卖价格,为该种资产的市场提供流动性。
如果一个用户想要购买一种资产,比如说是比特币这样的密码货币,他们先要访问一个密码货币交易所,那是买家和卖家接触的地方。
典型的中心化密码货币交易使用订单簿和订单撮合系统来匹配买家和卖家。订单簿是动态、实时变化的电子记录,记录着所有尚未出清的、以不同价格买卖不同数量的订单。订单匹配系统则是一种专门的软件协议,用于匹配了计算登记在订单簿种的订单。
有时候,如果只有少数几个对手方在买卖,用户就可能没办法在这个交易所交割自己的订单。这时候,我们就说 “这个比特币市场没有流动性了”。
因此,流动性是一种资产的 “可得性” 的度量或者说指标。也就是说,它是一种资产可以买卖而不显著影响其价格稳定性的限度。
一个市场缺乏流动性,意思是没有足够多的资产或者说交易者,所以很难执行一笔订单,或者说一旦执行就会显著影响这种资产在该交易所内的价格。
为了保证流动性,中心化交易所会雇佣专业的交易者,代表是银行、清算所和其它的金融机构。他们不断为交易所提供 “买方和卖方之间的价差”。换句话来说,这些做市商持续为一种资产提供不同的买价和卖价,使得用户总是能找到人来交易。这个为交易所提供流动性的过程就叫 “做市”,而提供这种服务的组织被称为 “做市商”。
做市商的角色是让金融市场效率更高,并降低资产的价格波动。
AMM 如何工作?
乍看起来,似乎传统的交易所和一个自动化的做市商是没有区别的,因为他们都协助不同市场上的交易,并收取手续费。但是,它们还是有一些重要的区别。
首先,AMM 没有订单簿。相反,其流动性池会实时在最优的价格上买卖资产。资产的价格是使用自动化的函数和来自去中心化价格断言机的数据来决定的。因为这种内置的定价算法,交易可以按当前的价格立即执行。
不同的 AMM 协议支持不同的定价算法和方程。用户不必接触这些,但它们会有细微的差别。
从交易对上来说,自动化做市商可能跟中心化交易所没有什么区别。但是,大部分 AMM 都有许多市场,因此允许不同的交易选择。最大的差别是,AMM 不需要有对手来跟你执行订单,因为一切都取决于交易对池子中的流动性。所有的交易都发生在一套智能合约内,而不是发生在交易者之间。
一些去中心化交易所甚至走得更远,允许用户在自己的钱包之间直接交易。这样的点对点交易依然是当前的密码货币行业的一大优势。另一方面,AMM 也是点对点的,因为它们不需要活跃的第二方交易者来处理订单。
理解 AMM 的流动性池
因为去中心化交易和自动化做市商抛弃了订单簿的概念,做市需要另一种方法。AMM 不使用挂单者和吃单者的订单簿,而是依赖于流动性池子。举个例子,ETH-USDT 是一个交易对,用户可以将自己的 ETH 和 USDT 注入池子,因获得交易手续费。大部分时候,用户需要为池中两种资产投入相同的价值,以维持池子内的价格稳定。
AMM 的主要特性就是每个人都能成为做市商。向流动性池添加资金是很简单的,而且只需要几秒就能完成。流动性提供者可获得交易手续费取决于具体的平台。热门的交易对可以产生更多的手续费,但也会有更多的流动性提供者来分这块蛋糕。
OmniBOLT 解决方案
AMM 正日益获得更多人的欢迎。但开发完美的系统需要时间。在比特币上建立 AMM 交易所,是 OmniBOLT 要做的事。使用闪电网络开启了令人激动的全新可能性。
对比链上的 AMM 交易所,闪电网络上的 AMM 拥有巨大的优势:
- 不需要为每次互换支付 gas 费。
- 代币互换非常快,所以高频交易也成为可能。
- 流动性既可用于支付,也可用于交易。
闪电网络上的流动性池
闪电网络由带有资金的支付通道组成,已经支持多跳的 HTLC 支付。
在 AMM 模型中,流动性提供者也扮演类似的角色:如果一笔互换成功,向这个合约存入这种代币的人就能获得相应于其存入比例的手续费。
闪电网络中的带有资金的通道天然就可以形成一个全局的流动性池,区别只在于:整个闪电网络是一个池子,每个节点都持有一定比例的流动性;而链上的 AMM 使用一个合约地址来汇集流动性、所有代币都存入一个地址。
为了获得成交的信心,OmniBOLT 使用带有资金的通道来填补所有价格之间的价差。这就形成了一个连续的循环,覆盖了整个价格区间。当价格变化的时候,流动性提供者有激励为获得更高的手续费而围绕当前的价格收集流动性。他们会撤出旧的流动性区间并进入新的、可以覆盖当前价格的流动性区间。这防止了订单簿模型中的流动性短缺。
添加和移除流动性
在闪电网络上添加和移除流动性很简单:只需要跟你的对手开启通道并存入资金即可。闪电网络会发现新的通道并更新通道图谱,这样你的通道就可以开始为全局的支付流动性作贡献了。
但是,要为一个 AMM 池子添加流动性就不一样。并非所有放在通道中的 token 都可以成为做市商的流动性储备。用户需要签名交易对(x, y)的流动性区间,然后发送给他们链接的 tracker。至少需要开启和注资两个通道。
有两种办法可以移除流动性:
- 撤回签过名和提交过的订单和流动性区间。
- 关闭通道并将代币取回到主链上。
Tracker 会计算全局流动性储备中剩余的 token,而且根据关闭通道时候的汇率,额外的代币会被标记为支付流动性储备。
在关闭通道的时候没有协议层的手续费。只有以 BTC 支付的手续费。
与链上 AMM 的区别
- 价格是从维护全局流动性的统计数据的 tracker 处获得的,但为了避免价格操纵,OBD 节点会在交易代币时从外部断言机处获得信息、验证价格。
- Tracker 为所有代币对维护全局价格,但他们没有执行交易的许可。闪电网络没有执行交易的全局合约。每个 OBD 节点都会验证进入的订单以避免价格操纵。OBD 无需信任任一 tracker。
- 链上的互换使用智能合约来为流动性提供者收集和分配手续费。但闪电网络没有合约,相反,OmniBOLT 使用一套路由协议,允许流动性提供者的资源用于交易,所以这些资源会直接赚取手续费。
结论
自动化做市商是去中心化金融背后的推动力。它使得任何人都能创建市场、无缝地在非常安全、去中心化和免存储的环境中交易密码货币。
而且,虽然 AMM 已经激经历过大规模的增长,它依然处在起步阶段。令人激动的创新就在眼前,而 OmniBOLT 将为你展示其中一样。