# 匿名性挖矿2.0 (AMv2)

{% hint style="success" %}
BSC（<https://cyclone.xyz/bsc>）上的匿名池已使用匿名性挖矿2.0（AMv2）。
{% endhint %}

### 设计目标

虽然匿名性挖矿1.0（AMv1）已经应用在IoTeX上，并启动了第一个匿名池，但我们深刻知道**AMv1的局限性**——**用户**（将资产存入匿名池中）**挖出的CYC数量与用户锁仓时间长短不成正比**。这不能最好的激励长期匿名性提供者。

在AMv2中，我们重新设计了匿名性挖矿机制，实现以下两点：

1. **挖出的CYC数量与用户将其资产锁定在池中的时间成正比**——资产停留在池中的时间越长，匿名性提供者获得的CYC就越多；&#x20;
2. **自主选择存款时长，让每个匿名池的生命周期更具活力！**&#x901A;常，匿名池的奖励周期都固定在90天左右，为了鼓励匿名性提供者将资产存入新池中，进一步提高隐私保护程度，我们允许用户根据自身需求，自主选择存款时长（由于池中有许多长期存款，但缺乏短期存款/提款，因此提供的隐私保护程度非常有限）。

### 术语&#xD;

在进行匿名性挖矿时，需要了解一些表示匿名池特性、参数的术语：

**资产面值**是匿名池提供匿名性的代币或者ERC20/XRC20 /BEP20通证的数量。例如，匿名池C3PO的主要资产是BNB，面值为`100`，这意味着每次在C3PO存款/提款的金额都为100 BNB。

**代币面值**是一种辅助功能，以提高用户的使用性。当用户将BUSD之类的资产存入匿名池中时，底层基础区块链的少量本币（例如0.1 BNB）将与资产一起存入池中，**这笔费用将作为Gas费，并将在提款时全额退还至收款地址。**&#x4F8B;如，李四在提款时将`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`。

### **运作原理**

1. 将BNB（或IOTX或BUSD）存入C3PO（或R2D2，BB8）池；按需存入X个CYC&#x20;
2. 让BNB在池中停留N天，匿名性挖矿获得CYC
3. 从池中取回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费
