EOS REX 近在眼前!这里有它的Bancor方程分析(下)
翻译自:analysis-of-bancor-equations-supporting-rex
Unlent Balance下限
设ulb是u的动态的下限值,这意味着我们在任何时刻都有 u ≥ ulb。我们必须定义 ulb,即只要有未偿还贷款,ulb > 0,并且当所有租赁到期时,ulb = 0。第二个条件允许REX所有者出售其拥有的REX。将ulb设置为l的分数,即ulb=α×l,其中0 <α< 1,满足这两个要求。此外,我们希望有一个合理的低ulb,这样它就不会经常导致销售订单排队和租赁操作失败。我们设置α=0.2,即ulb=0.2×l。
请注意,出于两个原因,我们选择将ulb作为l而不是f的函数来计算。首先,u与f的数量级不同,这使得比较不切实际;其次,f的值不能用来确定是否有未偿还的贷款。
调整REX池虚拟余额
我们提供了一个备选的解决方案,可以在REX初始条件不平衡的情况下调用。例如,如果经过一段时间后,total_unlent 仍远低于上面描述的参考值 u₀=2×10⁷,则可能会发生一种情况。这意味着初始租赁成本率远高于目标值 r₀≈0.1%,或由类似的资源租赁市场确定的目标利率。setrex 操作允许区块生产者将余额f设置为 f₀≈r₀×u(根据Eq2推导出来的)计算的预定值,其中u是total_unlent的当前值,r₀是目标租赁成本率。
方程的推导
Bancor协议[2]通过将货币储备连接到代币来实现即时流动性。它将部分准备金率定义为
image其中R是货币储备的当前值,S是代币的当前供应,P是相对于储备货币的当前代币价格。该协议假定F始终是常数并且被设置为预定值,该预定值决定了作为供应函数的价格行为。
该协议的结果之一是一个等式,用于确定要为给定数量的代币支付的金额:
image其中R₀是初始预留值,S₀是初始代币供应,∆S是已发出代币的数量。
逆方程,
image确定作为对给定付款的回报而发出的代币的数量。代币发出后,供应更新为S=S₀+∆S,储备更新为R=R₀+∆R。
现在考虑一个代表本,该代币连接到两个储备代币R⁽¹⁾和R⁽²⁾,并假设这两个储备的代币的部分准备金率相同。 支付∆R⁽¹⁾ 导致∆S发出的代币(由Eq 6给出)应用于 R⁽¹⁾:
image如果出售这些代币(相当于将−∆S添加到代币供应)以换取第二种储备货币,我们将获得
image将Eq 7 导入 Eq 8 ,可以得出
image请注意,∆R⁽²⁾和∆R⁽¹⁾是相反的。在上面所示的REX方程中,两个储量为f ≡ R⁽¹⁾ 和 u ≡ R⁽²⁾。
参考文献:
[2] Bancor协议白皮书(Eyal Hertzog,Guy Benartzi和Galia Benartzi)