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

Проєктуємо та розробляємо блокчейн-рішення повного циклу: від архітектури смарт-контрактів до запуску 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

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

Запитання «якою повинна бути пропозиція» — це одне з тих запитань, на які впевнено відповідають люди, які не розуміються на темі. «Фіксована пропозиція = рідкість = вартість» — це спрощення, яке ігнорує корисність токена. «Інфляція потрібна для винагород учасникам» — це правда, але без обмежень інфляція знищує всіх інших лримачів.

Правильна відповідь залежить від того, чим є токен: середовищем обміну в протоколі, інструментом governance, staking активом, або чимось іншим. Механізм пропозиції повинен обслуговувати економіку протоколу, а не бути самоцеллю.

Інфляційні моделі

Фіксована емісія

Найпростіший варіант: N токенів в рік, завжди. Ethereum до Merge мав ~4.5% річну інфляцію через block rewards. Проблема: фіксована абсолютна емісія при зростаючій locked пропозиції означає зменшення circulating інфляції — добре. Але при падінні ціни і постійних витратах у долларах на майнінг/валідацію — економіка рвется.

Спадна емісія (Halvings)

Bitcoin: 210,000 блоків (~4 року) — halving. Всього ~21M BTC. Передбачуване, зрозуміле ринком. Мінус: halvings створюють шок для майнерів, перехід на fee-only модель потребує високої пропускної здатності транзакцій.

Для application токенів 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 розподілу — більше токенів йде на ринки з високою borrow утилізацією.

Дефляційні механізми

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

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

Для application tokena: беремо X% комісій протоколу і спалюємо:

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 використовує цей механізм: квартальні burns на основі BNB Chain доходу. Це працює, якщо протокол генерує реальні комісії.

Buyback-and-Burn

Казна протоколу використовує частину доходу для купівлі токенів на ринку і їх спалювання. Більш передбачувано для власників (можна прогнозувати), але потребує ліквідного ринку.

Уразливість: buyback — це по суті повернення вартості власникам, які продають. Ті, хто тримає — отримують користь через зменшену пропозицію. У деяких юрисдикціях buyback токена може класифікуватися як buyback цінного папера зі всіма наслідками.

Fee на трансфер (Transfer Tax)

Популяризовано Safemoon-like токенами. При кожному трансфері 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 змінює пропозицію для всіх власників одночасно (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 токени (Aave, Compound роблять це через wrapped версії).

Порівняння моделей

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

Проектування механіки пропозиції — це не технічне запитання. Технічно реалізується будь-яка модель. Запитання в тому, які поведінкові incentives вона створює для стейкерів, постачальників ліквідності, довгострокових власників та трейдерів — і відповідають вони цілям протоколу?