Pools
介绍
每个 SwapX 流动性池都是一对 ERC20 代币的交易场所。创建 池合约时,其每个代币的余额为 0;为了让池开始促进交易,必须有人用每个代币的初始存款为其提供种子。第一个流动性提供者是设定池初始价格的人。他们有动力将等值的两种代币存入池中。要了解原因,请考虑第一个流动性提供者以不同于当前市场利率的比率存入代币的情况。这立即创造了一个有利可图的套利机会,外部方很可能抓住这个机会。
当其他流动性提供者向现有池中添加资金时,他们必须存入与当前价格成比例的配对代币。如果他们不这样做,他们添加的流动性也面临被套利的风险。如果他们认为当前价格不正确,他们可能会将其套利到他们想要的水平,并以该价格添加流动性。
Pool tokens
每当流动性存入池中时,就会生成独特的代币(称为流动性代币)并发送到提供者的地址。这些代币代表特定流动性提供者对池的贡献。池提供的流动性比例决定了提供者收到的流动性代币数量。如果提供者正在生成新池,他们将收到的流动性代币数量将等于 sqrt(x * y),其中 x 和 y 表示每个提供的代币数量。
每次发生交易时,交易发送者都会被收取 0.3% 的费用。交易完成后,该费用将按比例分配给池中的所有 LP。
为了检索基础流动性以及任何累积的费用,流动性提供者必须“烧掉”他们的流动性代币,有效地将它们兑换成流动性池中的份额,加上按比例分配的费用。
由于流动性代币本身是可交易资产,因此流动性提供者可以以他们认为合适的任何方式出售、转让或以其他方式使用其流动性代币。
Why pools?
SwapX 的独特之处在于它不使用订单簿来推导资产价格或匹配代币的买家和卖家。相反,SwapX 使用所谓的流动性池。
流动性通常由个人在集中运营的订单簿上下达的离散订 单来表示。希望提供流动性或做市的参与者必须积极管理其订单,并根据市场上其他人的活动不断更新订单。
虽然订单簿是金融的基础,并且在某些用例中效果很好,但它们也存在一些重要的限制,这些限制在应用于去中心化或区块链原生环境时尤其明显。订单簿需要中介基础设施来托管订单簿和匹配订单。这会产生控制点并增加额外的复杂性。它们还需要做市商的积极参与和管理,做市商通常使用复杂的基础设施和算法,将参与限制在高级交易者范围内。订单簿是在交易资产相对较少的世界中发明的,因此它们不适合任何人都可以创建自己的代币的生态系统,这并不奇怪,而且这些代币通常流动性较低。总之,由于以太坊等平台提供的基础设施权衡,订单簿不是在区块链上实施流动性协议的原生架构。
SwapX 专注于以太坊的优势,从第一原理重新构想代币交换。
区块链原生的流动性协议应该利用可信的代码执行环境、自主且永久运行的虚拟机,以及开放、无需许可且包容的访问模型,从而产生呈指数增长的虚拟资产生态系统。
需要重申的是,池只是一个智能合约,由用户调用其上的函数来操作。交换代币是调用swap池合约实例,而提供流动性是调用deposit。
就像最终用户可以通过接口(进而与底层合约交互)与 SwapX 协议交互一样,开发人员可以直接与智能合约交互,并将 SwapX 功能集成到他们自己的应用程序中,而无需依赖中介或需要许可。