Sifchain社区的朋友们,大家好! 

我们的技术团队正在努力构建全球首个全链式去中心化交易所。在此过程中我们意识到,给那些对我们有兴趣但可能没有相关背景知识的新社区成员进行科普,以便他们理解我们在构建Sifchain时使用的一些技术手段,是很必要的。

本文旨在介绍一些与Sifchain设计决策相关的关键概念。现在,让我们来深入探究一下本文的主题:非对称流动性池。

去中心化交易所和流动性池 

在许多去中心化交易所中,用户可以向流动性池添加流动性,并赚取向其他想要交换池中代币的用户收取的部分交易费。大多数流动性池对流动性提供者的约束是,他们必须投入同等价值的一对代币。例如,截止本文撰写时,在UniswapETH/DAI流动性池中,用户每加入1000 DAI,就必须加入2.64 ETH。而后根据用户投入池中的金额,按比例赚取一定的交易费。 

如果用户并不同时拥有两种需要添加进流动性池的代币,会如何? 

通过Sifchain,用户如果想要向池子添加流动性,他们可以添加任意数量的代币(只添加一种代币或是两种代币都添加皆可)。这就是所谓的“不对称地添加流动性”,这给用户带来了极致的灵活性。根据池中的代币数量和用户添加的数量,他们将按照一定百分比拥有这个池子。Sifchain最初将使用与BEPSwap相同的公式来计算所有权。

当一个用户只投入池子的一边时,如何计算其所有权百分比? 

用于计算所有权百分比的公式是为了激励用户保持流动性池的平衡。随着池子的一边代币数量增加,用户可以通过向另一边增加代币来获得更高百分比的所有权。 

以下是用于计算用户将Rowan或其他资产加入流动性池时,其所有权百分比的公式:

  

*slipAdjustment:滑点调整;units:数量 


r = 添加进池子的Rowan

a = 添加进池子的资产

R = Rowan余额 (添加之前)

A = 资产余额 (添加之前)

P = 现有池子中的数量 

流动性提供者会赚取向在交换池中交换代币的用户收取的部分交易费(按其对池子的所有权百分比分配)。例如,若流动性提供者拥有2%的池子,他们将获得池子收取的交易费总额的2% 

如果用户只需要在池子里添加一种代币,而不需要同时添加两种代币,系统如何保证池子里有足够的流动性? 

上述公式的有趣之处在于,它为用户创造了一种经济激励来平衡池子。如果池子中某一边被过度超额认购,该公式就会给用户激励,鼓励他们在另一边添加代币来平衡池子,以获取更高的所有权百分比。 

举个例子:


在该流动性池中,Rowan的超额认购量为10,000,而代币A只有1,000。在场景1中,Bob向池中添加了1,000 Rowan,这使他拥有4%的所有权。在场景2中,Bob向池中认购不足的一方(代币A)添加了1000个单位,这使他拥有20%的所有权。通过奖励用户以更高的所有权百分比来添加池中认购不足一方的流动性,系统创造了一种激励机制来平衡池子。 

如果用户只在池子的一边进行了质押,那么他们可以提取哪种代币? 

在非对称流动性池中,用户可以在池子的任意一边进行质押,并可以提取任意一边的代币。由于系统在用户添加流动性时已经计算了用户的所有权,所以可以使用该所有权百分比来计算提取的金额。 

用户会按照以下规则提取:

l  流动性池:依然以上述Rowan池兑代币A池为例

l  提取数量从010,000的基点(100%):指的是希望提取用户所有权的百分比

l  不对称值:指的是用户希望在池中两种代币间如何选择进行提币。用户可以提取-11之间的任意十进制值。

v  -1代表提取100%Rowan

v  0代表在两边池子中提取相同数量的代币

v  1代表提取100%的代币A  

通过使用基点和不对称值,该系统为质押者提供了一个非常高的精确度,可以准确地计算出从池子的每一边能提取多少代币。这与其他对称流动性池不同,在那些池子中,质押者必须从两边提取同等价值的代币。 

我们希望您能够通过本文获得想要的信息。我们坚信,对我们的用户来说,了解他们正在使用的工具是非常重要的。如果您有任何其他问题或想与社区成员讨论,欢迎加入我们的社区: 

? 中文微信社区: 添加管理员IDSifchain

? Twitter: https://twitter.com/sifchain

? Discord: https://discord.gg/fJhux6DKYx

? 官网: https://www.sifchain.finance

? 简版白皮书: https://bit.ly/SifChainLitepaper