Проектирование механизмов инфляции/дефляции токена

Проектируем и разрабатываем блокчейн-решения полного цикла: от архитектуры смарт-контрактов до запуска DeFi-протоколов, NFT-маркетплейсов и криптобирж. Аудит безопасности, токеномика, интеграция с существующей инфраструктурой.
Показано 1 из 1Все 1306 услуг
Проектирование механизмов инфляции/дефляции токена
Средний
от 4 часов до 2 дней
Часто задаваемые вопросы

Направления блокчейн-разработки

Этапы блокчейн-разработки

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1306
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1218
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    919
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1147
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    609
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    884

Проектирование механизма инфляции/дефляции токена

Вопрос «какой должен быть supply» — один из тех, на которые дают уверенный ответ люди, не разбирающиеся в теме. «Фиксированный supply = редкость = ценность» — это упрощение, которое игнорирует utility токена. «Инфляция нужна для вознаграждения участников» — это правда, но без ограничений инфляция уничтожает все другие держатели.

Правильный ответ зависит от того, чем является токен: средством обмена в протоколе, governance инструментом, staking активом, или чем-то ещё. Механизм supply должен обслуживать экономику протокола, а не быть самоцелью.

Инфляционные модели

Фиксированная эмиссия

Простейший вариант: N токенов в год, всегда. Ethereum до Merge имел ~4.5% годовую инфляцию через block rewards. Проблема: фиксированная абсолютная эмиссия при растущем locked supply означает уменьшающийся circulating inflation — это хорошо. Но при падении цены и constant-dollar затратах на mining/validating — экономика рвётся.

Убывающая эмиссия (halvings)

Bitcoin: 210,000 блоков (≈4 года) — halving. Итого ~21M BTC. Предсказуемо, понятно рынку. Минус: halvings создают шок для майнеров, переход к fee-only модели требует высокого transaction throughput.

Для application tokens halvings часто не нужны — они создают циклические спекулятивные нарративы вместо устойчивой экономики.

Алгоритмическая эмиссия на основе метрик

Более продвинутая модель: эмиссия зависит от состояния протокола.

contract AdaptiveMinter {
    uint256 public targetUtilization = 7000; // 70% в basis points
    uint256 public baseEmissionPerBlock = 1e18;
    
    function calculateEmission() public view returns (uint256) {
        uint256 currentUtilization = protocol.getUtilizationRate(); // в basis points
        
        if (currentUtilization >= targetUtilization) {
            // Высокая утилизация → больше токенов для привлечения участников
            uint256 excess = currentUtilization - targetUtilization;
            return baseEmissionPerBlock + (baseEmissionPerBlock * excess / 10000);
        } else {
            // Низкая утилизация → меньше инфляции
            uint256 deficit = targetUtilization - currentUtilization;
            uint256 reduction = baseEmissionPerBlock * deficit / 10000;
            return baseEmissionPerBlock > reduction 
                ? baseEmissionPerBlock - reduction 
                : 0;
        }
    }
}

Compound использует похожую логику для COMP distribution — больше токенов идёт в markets с высоким borrow utilization.

Дефляционные механизмы

EIP-1559 стиль: burn из комиссий

Ethereum после EIP-1559 сжигает baseFee при каждой транзакции. При высокой нагрузке сеть дефляционна — supply уменьшается быстрее, чем выпускается через staking rewards. Это элегантно: burn масштабируется с использованием сети.

Для application token: берёшь X% от protocol fees и сжигаешь:

function _distributeFees(uint256 feeAmount) internal {
    uint256 burnAmount = feeAmount * burnRateBps / 10000;
    uint256 treasuryAmount = feeAmount * treasuryRateBps / 10000;
    uint256 stakersAmount = feeAmount - burnAmount - treasuryAmount;
    
    ERC20Burnable(token).burn(burnAmount);
    token.transfer(treasury, treasuryAmount);
    stakingRewards.notifyRewardAmount(stakersAmount);
}

BNB использует этот механизм: quarterly burns на основе BNB Chain revenue. Это работает, если протокол генерирует реальные fees.

Buyback-and-burn

Protocol treasury использует часть revenue для выкупа токенов с рынка и сжигания. Более предсказуемо для держателей (можно прогнозировать), но требует ликвидного рынка.

Уязвимость: buyback — это фактически возврат стоимости держателям, которые продают. Те, кто держит — получают benefit через reduced supply. В некоторых юрисдикциях buyback токена может классифицироваться как buyback ценной бумаги со всеми вытекающими.

Fee на трансфер (transfer tax)

Popularized Safemoon-like tokens. При каждом трансфере X% сжигается или перераспределяется. Технически:

function _transfer(address from, address to, uint256 amount) internal override {
    if (_isExcludedFromFee[from] || _isExcludedFromFee[to]) {
        super._transfer(from, to, amount);
        return;
    }
    
    uint256 burnAmount = amount * burnFeeBps / 10000;
    uint256 netAmount = amount - burnAmount;
    
    super._transfer(from, address(0), burnAmount); // burn
    super._transfer(from, to, netAmount);
}

Проблема: fee на трансфер ломает composability. DEX, lending протоколы, любые смарт-контракты, которые ожидают получить amount и получают amount * (1 - fee) — работают некорректно. Это причина, по которой большинство DeFi протоколов отказываются листить такие токены. Не рекомендуем.

Реребейзинг (Ampleforth модель)

AMPL меняет supply у всех держателей одновременно (rebase), сохраняя процентные доли. Цель: привязать покупательную способность, не цену. При rebase +10% у каждого держателя становится на 10% больше токенов, но доля в total supply не меняется.

// Rebase механизм через scaling factor
uint256 private _totalSupply;
uint256 private constant INITIAL_FRAGMENTS_SUPPLY = 5e6 * 1e9;
uint256 private _gonsPerFragment;
uint256 private constant MAX_UINT256 = type(uint256).max;
uint256 private constant TOTAL_GONS = MAX_UINT256 - (MAX_UINT256 % INITIAL_FRAGMENTS_SUPPLY);

// balanceOf через gons
function balanceOf(address account) public view returns (uint256) {
    return _gonBalances[account] / _gonsPerFragment;
}

function rebase(int256 supplyDelta) external onlyMonetaryPolicy returns (uint256) {
    if (supplyDelta < 0) {
        _totalSupply -= uint256(-supplyDelta);
    } else {
        _totalSupply += uint256(supplyDelta);
    }
    _gonsPerFragment = TOTAL_GONS / _totalSupply;
    emit Rebase(epoch, _totalSupply);
    return _totalSupply;
}

Rebase также ломает composability — DeFi протоколы должны явно поддерживать rebasing tokens (Aave, Compound делают это через wrapped versions).

Сравнение моделей

Механизм Предсказуемость Composability Подходит для
Фиксированный supply Высокая Полная Store of value, governance
Фиксированная эмиссия Высокая Полная Staking rewards
EIP-1559 burn Средняя Полная Fee-generating protocols
Buyback-and-burn Средняя Полная Revenue-generating protocols
Адаптивная эмиссия Низкая Полная Liquidity mining
Transfer tax Высокая Плохая Не рекомендуем
Rebase Низкая Плохая Algorithmic stablecoin экспериментs

Проектирование supply механики — это не технический вопрос. Технически реализуется любая модель. Вопрос в том, какие поведенческие incentives она создаёт для стейкеров, поставщиков ликвидности, долгосрочных держателей и трейдеров — и соответствуют ли они целям протокола.