匿名性挖矿2.0 (AMv2)
BSC(https://cyclone.xyz/bsc)上的匿名池已使用匿名性挖矿2.0(AMv2)。
设计目标
虽然匿名性挖矿1.0(AMv1)已经应用在IoTeX上,并启动了第一个匿名池,但我们深刻知道AMv1的局限性——用户(将资产存入匿名池中)挖出的CYC数量与用户锁仓时间长短不成正比。这不能最好的激励长期匿名性提供者。
在AMv2中,我们重新设计了匿名性挖矿机制,实现以下两点:
挖出的CYC数量与用户将其资产锁定在池中的时间成正比——资产停留在池中的时间越长,匿名性提供者获得的CYC就越多;
自主选择存款时长,让每个匿名池的生命周期更具活力!通常,匿名池的奖励周期都固定在90天左右,为了鼓励匿名性提供者将资产存入新池中,进一步提高隐私保护程度,我们允许用户根据自身需求,自主选择存款时长(由于池中有许多长期存款,但缺乏短期存款/提款,因此提供的隐私保护程度非常有限)。
术语
在进行匿名性挖矿时,需要了解一些表示匿名池特性、参数的术语:
资产面值是匿名池提供匿名性的代币或者ERC20/XRC20 /BEP20通证的数量。例如,匿名池C3PO的主要资产是BNB,面值为100
,这意味着每次在C3PO存款/提款的金额都为100 BNB。
代币面值是一种辅助功能,以提高用户的使用性。当用户将BUSD之类的资产存入匿名池中时,底层基础区块链的少量本币(例如0.1 BNB)将与资产一起存入池中,这笔费用将作为Gas费,并将在提款时全额退还至收款地址。例如,李四在提款时将0.1BNB
存入新地址,他可以继续转移她的BEP20资产,或从该地址调用其他智能合约。
CYC面值是少量的CYC动态值,这可以确保李四赚取的CYC与他的资产在匿名池中存放的时间成正比,并且不会向其他人透露其资产在匿名池中滞留的时间。我们将从以下示例进行了解:当李四将他的资产+0.1BNB
存入池中时,也会根据CYC面值,存入X
个CYC;假设在存款周期内,李四赚取了Y
个CYC。提款后,(X+Y)
个CYC将被发送至李四的账户中。此时,只有李四知道在这次挖矿中他赚取了Y
个CYC。由于非交互式简洁零知识证明(zkSNARK)将存款与提款的tx断开,没有人(除李四外)知道预付款是X
个CYC,更没有人可以计算出收益Y
。因此,没有人能够知道存款人的资产在匿名池中到底滞留了多长时间,这是不是很棒!
匿名池
以下是BSC上的创世匿名池:
池
资产面值
周期
每日铸造CYC
铸造CYC总量
C3PO
100
BNB
90
天
3
270
R2D2
10,000
BUSD
90
天
1
90
BB8
25,000
IOTX
90
天
0.25
22.5
每个池中的所有匿名性提供者根据各自质押比例分取对应数量,例如3
或1
或0.25
。
运作原理
将BNB(或IOTX或BUSD)存入C3PO(或R2D2,BB8)池;按需存入X个CYC
让BNB在池中停留N天,匿名性挖矿获得CYC
从池中取回BNB,同时获得Y个CYC(当然,Y> X)
AMv2工作示例演示如下。为了简化此示例,其他费用不计:
时间
事件
池中总CYC数量
池中总BUSD数量
1
第一天开始
0
0
王二在池中存了10,000
个BUSD
0
10,000
2
第二天开始
1
10,000
张三在池中存了10,000
个BUSD,并支付了1
个CYC
2
20,000
3
第三天开始
3
20,000
4
第四天开始
4
20,000
王二取回10,000
个BUSD,同时获得2
个CYC
2
10,000
5
第五天开始
3
10,000
张三取回10,000
个BUSD,同时获得3
个CYC (他的挖矿奖励是2
个CYC)
0
0
费用
提取资产后,将收取以下费用:
1.5%
的CYC将被作为费用收取,并立即烧毁0.5%
的CYC将被发送至中继层,作为提取tx的gas费
Last updated