# Начисления процентов на токенизированные депозиты

#### Механизм начисления процентов на токенизированные депозиты

В данном документе описывается механизм начисления процентов на остатки средств в системе токенизированных депозитов с использованием встроенного механизма **snapshot (снимок баланса)**. Этот механизм позволяет смарт-контракту автоматически рассчитывать накопленные проценты на основе текущего состояния балансов в блокчейне. Проценты начисляются в каждом блоке, а пользователи могут запросить вывод начисленных процентов через специальную транзакцию.

**1. Учет остатков с использованием механизма snapshot**

Для корректного начисления процентов система использует **встроенный в токенизированные депозиты механизм snapshot**. Снимок создается на основе **номера блока в блокчейне**, фиксируя состояние баланса кошелька каждый раз при движении средств (входящих или исходящих транзакциях). Это позволяет точно отслеживать, как долго средства находятся на кошельке, и использовать эту информацию для расчета процентов.

* **Номер блока** выступает аналогом временной метки (timestamp), фиксируя момент каждой транзакции.
* Смарт-контракт сохраняет текущий баланс каждого кошелька в виде снимка при каждом изменении баланса. Это позволяет точно рассчитать процент на основе времени нахождения средств на кошельке.

**Почему это важно для банка:**\
Механизм snapshot обеспечивает автоматическую фиксацию состояния счетов, что упрощает расчет процентов и исключает ошибки, связанные с ручным управлением данными. Система работает прозрачно и точно, используя данные блокчейна для фиксации изменений.

**2. Механизм начисления процентов**

Проценты начисляются на основе данных snapshot. Смарт-контракт автоматически рассчитывает проценты на каждый блок, исходя из зафиксированного баланса и времени, прошедшего с момента последнего снимка.

**Основные элементы:**

1. **Баланс кошелька** фиксируется в момент создания snapshot.
2. Начисление процентов происходит на каждый блок, что обеспечивает высокую точность расчетов.
3. Проценты начисляются на основе баланса, процентной ставки и времени удержания средств на кошельке.

**Формула расчета процентов:**

$$
\[ \text{Проценты} = \text{Баланс} \times \text{Процентная ставка} \times \frac{\text{Номер текущего блока} - \text{Номер блока в snapshot}}{\text{Блоков в год}} ]
$$

* **Баланс** — количество токенов на момент фиксации snapshot.
* **Процентная ставка** — фиксированный процент, по которому начисляются проценты.
* **Номер текущего блока** — текущий блок, на котором проводится расчет.
* **Номер блока в snapshot** — блок, на котором был зафиксирован баланс кошелька.

**Почему это важно для банка:**\
Автоматизация процесса расчета процентов и использование объективных данных блокчейна снижает вероятность ошибок и повышает управляемость системой начислений.

**3. Пример работы механизма начисления процентов**

* **Кошелек A** получает 100 токенов на блоке 1000.
* На блоке 1100 пользователь инициирует транзакцию. Смарт-контракт автоматически начисляет проценты за 100 блоков, исходя из баланса 100 токенов, зафиксированного в момент создания snapshot.
* Проценты продолжают начисляться на оставшиеся средства в кошельке, пока не будет произведен запрос на вывод начисленных процентов.

**4. Запрос на вывод начисленных процентов**

Для получения начисленных процентов пользователи могут инициировать транзакцию под названием **Запрос на вывод начисленных процентов**. Это позволяет автоматически зачислить накопленные проценты на баланс кошелька.

**Этапы запроса на вывод:**

1. Пользователь инициирует запрос на вывод начисленных процентов.
2. Смарт-контракт проводит расчет, основываясь на данных snapshot и времени, прошедшем с момента последнего снимка.
3. Проценты автоматически зачисляются на баланс кошелька.

**Почему это важно :**\
Данный функционал позволяет пользователям легко управлять начисленными процентами, при этом все расчеты выполняются прозрачно и автоматически.

**5. Преимущества механизма snapshot**

Использование механизма snapshot для расчета процентов на токенизированные депозиты обеспечивает:

* **Прозрачность** — снимок баланса фиксируется на каждом блоке блокчейна при каждом изменении баланса, что гарантирует точность и достоверность данных.
* **Автоматизация** — смарт-контракт автоматически рассчитывает проценты на основе снимков баланса, что исключает ошибки и минимизирует задержки.
* **Точность расчетов** — проценты начисляются в реальном времени на основе точных данных о состоянии счета.
