# アルゴリズム

#### 1. 基本概念

**総流通量の理解**

メイントークン（以下「メイントークン」）の総流通量は、時価総額とは別に管理する必要があります。これは、コミュニティトークンが発行される際に一部のメイントークンがロックされるためです。**計算例:**

```
実際の流通量 = (EVM互換チェーン上の発行済みメイントークン総数) - (ロックされたメイントークン) + (コミュニティトークンの合計基本価値)
```

**メイントークンの評価**

メイントークンの価値は、係数 **r** に基づいて計算されます。初期値は `10^18` に設定されており、この値は時間経過や特定のプロセスを通じて更新されます。

**コミュニティトークンの生成**

コミュニティトークンは、メイントークンの現在の係数 **r** を継承する「r-c」に基づいて生成されます。生成時には、1メイントークンと1コミュニティトークンの価値が等しくなるように設計されています。

***

#### 2. 主要な変数とその意味

* **r (メイントークン係数)**
  * **定義:** 初期値 `10^18` に設定され、その後更新された値（例：最終更新係数）として管理されます。
  * **役割:** 残高表示やスワップレート計算など、さまざまな計算の基準値として機能します。
* **r-c (コミュニティトークン係数)**
  * **定義:** コミュニティトークン生成時にメイントークンの最新の係数 **r** を継承し、その後は独立して管理されます。
  * **役割:** コミュニティトークンの残高表示や交換レート計算に使用されます。
* **トークン基本価値**
  * **役割:** メイントークンの価値計算における乗数として機能します。

    ```
    メイントークンの価値 = r × トークン基本価値
    ```

    (具体的な値は各実装で調整されます)

***

#### 3. プロセスの流れとメカニズム

**3.1 コミュニティトークン作成プロセス**

* **流れ:**
  1. ユーザーはメイントークンの「トークン作成関数」を呼び出し、一定量のメイントークンを指定してコミュニティトークンの生成を要求します。
  2. 生成されるコミュニティトークンの量は、指定された **交換量** と **希釈係数** に基づいて計算されます。*例:*

     ```
     新規トークン量 = (交換量 × 希釈係数) / 初期係数
     ```
  3. プロキシパターンなどを使用して、コミュニティトークンのインスタンスがデプロイされ、初期化時に最新の係数 **r** が継承されます。
  4. その結果、コミュニティトークンは **r-c** として管理され、最初は1メイントークンと同等の価値（スワップレート）が確立されます。

**3.2 減少プロセス**

* **目的:**\
  トークンの価値を示す係数 **r** を時間経過とともに徐々に減少させ、供給調整とエコシステム全体の価値安定化を目指します。
* **実装例:**
  * **メイントークン側:**\
    定期的な時間間隔（例：毎分）で、係数 **r** は内部更新プロセスを通じて、例えば約0.998倍に減少します。この更新は、残高変換とスワップレート計算に反映されます。
  * **コミュニティトークン側:**\
    メイントークン側の減少プロセスを参照しながら、独自の更新プロセスが実行されます。トークン設定で定義されたパラメータ（例：更新間隔、減少率など）に基づいて、コミュニティトークンの係数 **r-c** が調整されます。

**3.3 増大プロセス**

* **目的:**\
  トークン転送などの利用アクションに対して、ユーザーに「感謝の証明」として追加トークンを付与するメカニズムを提供します。
* **実装例:**\
  トークン設定で定義されたパラメータ（例：ユーザーの現在の残高、利用率、メッセージの文字数など）に基づいて、コミュニティトークンの増大率 が調整されます。\
  これらのパラメータに基づいて、最大増大率や変化率などの上限が設定され、利用を促進すると同時に総供給量の急増を抑制します。

**3.4 スワップレート計算と償還制限**

* **スワップレート計算:**
  * **メイントークン → コミュニティトークン:**\
    各コミュニティトークンに設定された交換レートと、両者の最新の係数（メイントークン側の更新された係数とコミュニティトークン側の現在の係数）を使用して計算されます。
  * **コミュニティトークン間:**\
    上記の計算結果に基づいて間接的に交換レートが決定されます。
  * **コミュニティトークン → メイントークン:**\
    個人および全体の償還可能量を管理するメイントークン側のメカニズムが償還を制限します。
* **償還制限:**

  * **全体制限:**\
    償還可能なコミュニティトークンの総量は、例えば1日の総供給量の3%（300 BP）に制限されます。
  * **個別制限:**\
    各ユーザーが1日に償還できるコミュニティトークンの量も、ユーザーの残高に応じて上限内に抑えられます。

  これにより、市場での急激なトークン交換を防ぎ、システム全体の安定性を維持します。

***

#### 4. まとめ

* **初期設定:**\
  メイントークンは初期値 `r = 10^18` を持ち、コミュニティトークンは生成時にこの **r** を継承する **r-c** として作成されます。初期状態では、1メイントークンと1コミュニティトークンの価値が等しくなるように設計されています。
* **減少プロセス:**\
  時間の経過とともに、メイントークンとコミュニティトークンの両方の係数が、事前定義された比率（例：メイントークン側では約0.998倍）で更新され、これがスワップレート計算の基礎となります。
* **増大プロセス (Proof of Thanks):**\
  トークン転送などの利用アクションに応じて、各ユーザーに追加トークンを付与するメカニズムが導入されており、上限と利用状況に基づいて調整されます。
* **スワップと償還制限:**\
  メイントークンとコミュニティトークン間の交換レートは、各トークンの係数と設定された交換レートに基づいて動的に計算され、償還は全体および個人に対して定義された制限の対象となります。

このように、メイントークンとコミュニティトークンは相互に作用し、動的な係数更新、利用行動に基づく追加付与、厳格な償還制限を通じて、トークンエコシステム全体の価値管理と安定運用を実現しています。


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://peace-coin.gitbook.io/peace-coin/ja/ji-shu/algorithm.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
