这篇文章旨在作为Flare上创建和赎回FXRP的简化指南。它的目的是让人们直观地了解该系统及其安全机制,并没有强调每一个细节,完整白皮书可以在这里找到。由于 XRP 社区是第一个采用 Flare 网络的社区,因此以下所有示例都将使用 FXRP,但均可以替换为 LTCDoge  XLM,统称为F-Asset

设置

发起人

一个发起人:Alice想在Flare上的一个应用程序中使用她的XRP

Alice拥有一个种植燕麦的农场。她担心燕麦价格下跌,她的农场的收入会受到影响。她想用她拥有的一些XRPFlare上的去中心化衍生品应用进行交易,这样她就可以减轻燕麦价格下跌给她的业务带来的风险。Alice将在Flare上用她在XRP账本上的XRP代币铸造FXRP。在FXRP系统中,Alice被称为发起人

代理人


代理人:Bob和Charlie向FXRP系统提供Spark作为抵押品。

BobCharlie拥有Spark代币,他们想在上面赚取回报。他们向FXRP系统提供Spark代币作为抵押品。Bob和Charlie被称为代理人。

FXRP系统参数


Flare Time Series Oracle (FTSO) - 在下文中被称为Flare Oracle - FXRP系统提供XRP/Spark比率,即1XRP可以购买多少Spark。再加上系统中的抵押品数量和抵押品比率,这定义了系统可以发行多少FXRP 

在这个例子中,比方说,参数如下:



可以发行的FXRP的数量被称为发行能力。它是由可用的抵押品数量除以XRP/Spark汇率,然后进一步除以抵押品比率决定的。


将上表中的数字插入方程,我们得到:

这意味着FXRP系统有足够的抵押品来发行200FXRP


抵押品保留交易

Alice储备了足够的抵押品来铸造100FXRP

为了安全地使用FXRP系统,Alice必须为她希望发起的FXRP数额保留抵押品。这就是所谓的抵押品保留。 AliceFlare上也有一个地址,并与FXRP系统完成一笔交易,指定。1)她想创建的FXRP数量,(在本例中为100FXRP),2 XRP分类账上的发起账户,3)接收FXRPFlare账户,包括4)抵押品保留费。抵押品保留费是根据XRP被铸成FXRP的价值,以Spark方式支付的0.1%费用。 

抵押品需要确保被保留,以便从抵押品保留交易完成的那一刻起,有2.5倍价值的XRP被铸成FXRP,锁定在Spark代币中。一杯费用需要被支付,因为如果发起人(Alice)没有成功完成交易,抵押品反而可以用来给到其他成功的发起人,代理人可以同样的获得创造费用。 


交易公式

交易公式规定了Alice需要在XRP账本上进行的交易

当Alice完成抵押品预订交易时,她会收到一个交易公式。 该交易公式指定了Alice需要在XRP分类账上进行的交易,以创建FXRP。重要的是,交易公式指定了XRP账本上的最后账本索引号(last ledger index number) ,指示Alice的XRP必须到达代理人那里。最后的分类账索引号是很重要的,因为当Alice在XRP分类账上进行交易时,她可以使用一个称为最后分类账索引的功能。这个功能意味着,如果由于某种原因,XRP账本上的交易在最后一个账本索引号之前没有最终完成,那么Alice将保留她的XRP,她的总损失是她为保留抵押品而支付的0.1%费用。 

创建交易

Alice的创作交易

XRP账本上,Alice向交易公式中列出的代理发送了她希望铸成FXRPXRP数量+预先指定的创建费。在这种情况下,Alice想铸造100FXRP,创建费被设定为5%。因此,Alice向代理发送了总共105XRP。在这种情况下,交易公式规定,创设费在代理商之间平均设置。当然,这不会永远是这样的。 

状态连接器系统

FXRP系统从状态连接器系统接收XRP Ledger的状态。状态连接器节点由每个Flare网络验证者独立运行,它们以安全和去中心化的方式观察外部系统的状态。Alice的创建交易是通过状态连接器系统输入到FXRP系统的。

Alice收到FXRP

当状态连接器系统向FXRP系统报告Alice的交易已经在XRP账本上最终完成时,FXRP就会被铸成货币并发送到Alice在抵押品预订交易中指定的Flare地址。

XRP/Spark利率上升

目前的FXRP系统看起来如下:




XRP/Spark比率现在从10增加到12

发出100FXRP,按新的汇率保证FXRP所需的抵押品的数量是:

2500Spark已经被锁定在100个已发行的FXRP上,所以FXRP系统现在又锁定了500Spark代币以应对价格的上涨。 


Alice使用衍生品应用程序

Alice对冲燕麦的价格

Alice花了50FXRPDana购买燕麦价格的看跌期权。看跌期权是一种金融工具,如果某样东西的价格在一定时间内下跌,期权所有者可以从中获益。燕麦的价格上涨了,这对Alice的农场收入来说是件好事,但这意味着AliceDana那里买的看跌期权到期后就没有价值了。Alice并不介意她为了保护自己的收入而损失了50FXRPDana

用FXRP赎回XRP

Dana赎回

Dana在与Alice的交易中赚了50FXRPDana现在想把这些钱赎回到XRP分类账中。 

Dana将她的50FXRP发回FXRP系统,同时附上:XRPL上的入账地址和Flare上的入账地址(Spark),以防赎回失败。这个例子假设赎回费为零。赎回费率由Spark管理控制,应该是零或非常低。)

一旦Dana对FXRP系统的交易完成后,代理会被发送一个代理赎回公式Agent Redemption Formula(ARF ),其中规定了他们需要在XRP账本上进行的交易,以及该交易需要由哪个账本索引号来最终完成。

成功赎回

赎回到XRP分类帐

代理商通过ARF中指定的分类账索引号向Dana发送50XRP。当FXRP系统通过状态连接器系统观察到时,这就解锁了抵押品。 

在这个例子中,由于代理是平等的,所以BobCharlie各解锁了750Spark

FXRP系统现在看起来如下。 

在上表中,之前3000Spark被锁定在100个已发行的FXRP上,现在只有50FXRP被发行,另外50个已经被成功赎回,所以只有1500Spark被锁定。

赎回失败

Bob的赎回失败

现在我们说,Bob最近花了太多时间在潜水上,忽略了他作为代理人的职责。Dana没有收到全额的50XRP,而是按指定的分类账索引号只收到25XRP 

Dana得到了补偿

为了让Dana补充她丢失的XRPFXRP系统向她发送所丢失的XRPSpark中的价值(当时的汇率是12Spark兑换1XRP)和1%的补偿费,以说明交易成本(补偿费由Spark管理部门制定)。

这就意味着:

Bob因作为代理人的失败而受到重罚。BobFXRP系统中锁定了1500Spark。针对这些抵押品,之前已经发行了50FXRPDana缺少的25XRP是由Bob的抵押品的一半,即750Spark担保的。从Bob的抵押品中提取的303Spark是发给Dana的补偿,另外223.5Spark被烧掉作为惩罚。这使得BobFXRP系统中拥有1973.5Spark,其中750Spark仍被锁定以保证25FXRP

Dana现在可以用她的303Spark去交易所购买缺少的25XRP,或者,在一个纯粹的去中心化的环境中,她可以用她的Spark代币从Alice那里购买25FXRP,然后把它们兑换回FXRP系统。(在有许多代理和活跃的FXRP去中心化市场的环境中,后者选项更有意义)。

Bob在这里的经济损失是已经支付的代替XRPSpark代币,加上已经烧毁的Spark代币,加上补偿费(Spark),减去他保留的XRP和他收到的XRP的创建费。Bob损失的XRP相当于比他保留的XRP18.125。因此,Bob在经济上有很大的动力去兑现代理人赎回的义务。Dana虽然有一个令人沮丧的经历,但没有损失。

Bob离开FXRP系统

在赎回失败之前,FXRP系统中有5000Spark代币,其中3000个是为100个已发行的FXRP提供担保。赎回失败后,系统的总抵押金额减少到:

这使得Bob在系统中拥有抵押品有以下变化:

50FXRP仍在发行,其中Bob的比例份额为25 FXRP。因此,Bob在系统中锁定了以下抵押品:

FXRP系统目前的情况如下:


Dana现在决定要成为一名代理人,向FXRP系统发送5000Spark

DanaFXRP系统发送抵押品

Dana增加的5000Spark使FXRP系统的发行能力提高了:


现在的总发行量是:



FXRP系统现在看起来如下:

Bob现在想辞去代理人的工作,全职从事潜水工作。Bob在他的XRP账本地址中有52.5XRPAlice用它来发行她的100FXRP(其中他没有发送25个给Dana而受到惩罚)。Bob现在向FXRP系统表示,他希望发起新的FXRP,同时在这个过程中排除自己作为代理人(这样他就可以立即赎回FXRP)。Bob完成了这个过程,向XRP账本上的代理(CharlieDana)发送了26.25XRP,在Flare上发起了25FXRP

然后,他赎回这25FXRP,这使他在系统中的FXRP为零,并使他的所有抵押品(1973.5Spark)可以从系统中撤出。

Bob自我赎回

Bob现在已经离开了系统,不再是一个代理人。他带着从FXRP系统返还给他的1973.5Spark代币(因他之前赎回失败而受到惩罚)和XRP账本上来自Alice的剩余26.25XRP代币离开。 

Alice在未来的某个时间点来赎回她剩余的50FXRP回到XRP分类帐时,所有的代理可能已经改变了,巨大的Spark可能已经在发行和赎回FXRP方面发生了变化,但为了赎回她的FXRPAlice不需要知道或跟踪任何这些。Alice只需要将她的FXRP发送到FXRP系统,指定XRP账本地址,如果赎回失败,则指定Flare地址,如果有赎回费,则指定赎回费。 

违反抵押品比率

在这里,我们将描述,如果代理人可用于FXRP系统的抵押品的价值,根据已发行的FXRP的数量进行分摊,低于所需的抵押品水平,会发生什么。让我们定义一个新的场景:

 


在新的情况下,我们现在有三个代理人,CharlieDanaEve,他们总共发行了1200FXRP,并在系统中拥有以下数量的抵押品。该系统看起来如下。 


抵押率可按以下方式计算: 


例如,对Charlie来说,这就是:


XRP账本上,每个代理人还持有以下XRP


成功修正抵押品违约

XRP/Spark汇率现在有一个冲击性的价格变动,即一个XRP15Spark。这是XRPSpark的瞬时增长50%

现在每个代理人的位置是:


(注意,在冲击性的价格变动之前,Charlie保持着2.5倍发行价值的最低绝对抵押品。在瞬间50%的价格变动下,Charlie仍然锁定了比FXRP发行值更大的抵押品。)

CharlesEve违反了抵押品要求(即他们的抵押品比率已低于2.5),必须在一个被称为抵押品叫价带(collateral call band的有限时间内采取行动。下表显示了他们的状况:他们必须按超额FXRP 一栏所示的金额减少他们的FXRP持有,或按抵押品赤字一栏所示的金额增加他们的抵押品。

所需抵押品是指支持FXRP所需的抵押品,按新的XRP/Spark价格分摊,并符合2.5的抵押品比率要求。

Charlie选择减少他的FXRP仓位,减少70FXRP。记住,CharlieXRP账本上有200XRP。所以Charlie发行了70FXRP,支付了73.5XRP,这是想要的FXRP数量+预设的5%创建费。然后,Charlie立即用自己的账户赎回FXRP,将他发行的FXRP的分摊额度从200减少到130,使他的抵押品比率超过2.5。如果系统中没有抵押品供Charlie发行新的FXRP,他可以通过交易所使用XRP购买FXRP

另一方面,Eve决定增加她在系统中的抵押品。EveFXRP系统增加了5000Spark,使她的抵押品比率回到2.5以上。

连带违约整改失败

如果CharlieEve没有在规定的时间内修正他们违反抵押品比率的行为,他们的Spark抵押品将被FXRP系统用来回购针对他们的抵押品所分摊的全部FXRP金额。

为了看到这一点,让我们看一下Eve的案例。在FXRP系统中,Eve15000Spark作为抵押品,XRP/Spark汇率为15,她的抵押率为:

这低于规定的比例,但仍是已发行的FXRP分摊给Eve账户的价值的两倍。 


系统将使用Eve的抵押品出价,用Spark代币购买500FXRP。第一次出价是按照当时的XRP/Spark汇率,如果这个出价的任何部分在n个区块结束时没有被接受(其中n是一个系统参数),出价会增加10%。这个过程重复进行,直到整个500FXRP被系统回购。然后,FXRP被烧毁,Eve的抵押品的剩余部分被返还给她。

FXRP抵押品系统的安全基础集中在两个必要因素上:

1) 代理人对所需行动的违约损失总是比执行所需行动的损失大。 

2)如果一个代理人确实违约,该系统为其他人创造了强大的利润激励来纠正这种情况。 

抵押率是维护系统安全的关键。

在抵押品违约分析中,我们已经看了价格的瞬时50%变化。要看这个例子意味着什么,重要的是要记住,加密货币市场每天24小时,每年365天开放,FXRP系统将在高度频繁(分钟)的基础上重新计算所有参数(并向代理人发出指令)。因此,为了使上述情况真正发生,XRP/Spark汇率的50%变化需要在FXRP重新计算期间发生,即在1分钟内。 

一般来说,预计在FXRP重新计算之间,绝大部分XRP/Spark汇率的变化幅度会小得多。值得注意的是,即使在这个极端的分析中,XRP/Spark汇率在不到一分钟的时间内增加了50%,所有的经济安全激励措施都保持不变。 在波动较大的时期,可以调整FXRP系统参数以增加重新计算的频率,然后系统可以更迅速地执行行动,减少对支撑系统安全的经济激励的任何降级的可能性。