Кастомізація форка DeFi-протоколу: Uniswap, Aave, Curve, Balancer

Понад 200 проєктів форкнули Uniswap v2, але більшість тихо померли. Причина не в коді — він перевірений роками. Проблема в тому, що форк скопіювали як є, не розібравшись у механіці, і зламали при першій кастомізації. Storage collision при апгрейді, неправильно відкалібровані параметри fee, зламаний

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

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1450
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1308
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1003
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1269
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    717
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    1008

Понад 200 проєктів форкнули Uniswap v2, але більшість тихо померли. Причина не в коді — він перевірений роками. Проблема в тому, що форк скопіювали як є, не розібравшись у механіці, і зламали при першій кастомізації. Storage collision при апгрейді, неправильно відкалібровані параметри fee, зламаний механізм ціноутворення через некоректну ініціалізацію пулів — ось чому «просто форкнути Uniswap» не працює без глибокого розуміння внутрішньої будови. Ми спеціалізуємося на кастомізації DeFi-протоколів під конкретні завдання, з аудитом та тестуванням кожної зміни. Наш досвід — кілька років на ринку, десятки успішних форків. При цьому кастомізація форка економить до 70% бюджету порівняно з розробкою з нуля.

Які проблеми вирішує кастомізація форка?

Перший крок — зрозуміти, що саме ми форкаємо. Uniswap v2, Uniswap v3, Curve, Aave v3, Compound v3, Balancer v2 — кожен має свою архітектуру та обмеження на кастомізацію.

Uniswap v2 форк — найпростіший. AMM-логіка в UniswapV2Pair, роутер окремо. Кастомізують: fee структуру (v2 фіксовані 0.3%), токеноміку LP-токенів, whitelist торгових пар. Додають: buyback механіку з protocol fee, staking rewards для LP.

Aave v3 форк — складніший. Протокол модульний, 20+ контрактів. Кастомізують: список підтримуваних активів, LTV/liquidation threshold параметри, interest rate strategy, увімкнення/вимкнення isolation mode для нових активів. Не варто чіпати: core математику InterestRateModel без глибокого розуміння, механіку aToken.

Curve форк — нішева задача для stable swap. Параметр A (amplification) критичний: занадто високий — пул не ребалансується при depeg, занадто низький — високий slippage. Значення A для існуючих пулів Curve підбиралося експериментально місяцями.

Поширені помилки при форках

Неправильний fee calculation. В Uniswap v2 fee знімається через amountIn * 997 / 1000 (0.3%). Якщо змінити fee без перерахунку константи — зламається інваріант k = x * y. Транзакції будуть проходити, баланс пулу буде некоректним, LP втратить гроші.

Storage layout при апгрейді форка. Якщо взяли Aave v3 з proxy архітектурою і додали змінну в середину storage — наступний апгрейд зламає storage. Aave v3 використовує свій ReserveData struct в storage slot N. Додавання поля до нього зсуне всі наступні дані.

Oracle configuration. Aave v3 використовує Chainlink aggregators з конкретними heartbeat та deviation threshold параметрами під кожен asset. Форк на новому чейні вимагає або підтримки Chainlink на цьому чейні, або заміни на інший оракул. Використання оракула без anti-manipulation захисту (TWAP, circuit breaker) — прямий вектор до oracle manipulation атаки.

Як ми кастомізуємо: стек і процес

Diff-based аналіз

Беремо оригінальний протокол з офіційного GitHub, робимо fork в приватний репозиторій. Всі зміни — тільки через pull request з описом причини та impact. Це дозволяє в будь-який момент зробити git diff проти оригіналу і зрозуміти повний обсяг змін.

Типовий розмір diff для «легкої» кастомізації Uniswap v2 з додатковим fee механізмом — 200-400 рядків. Якщо diff >1000 рядків — це вже не кастомізація, це новий протокол.

Параметризація через конфіги

Хороші форки виносять змінні параметри в admin-controlled конфіги, а не хардкодять в контракти. Uniswap v2 зі змінним fee: uint256 public swapFee = 30; // basis points з onlyOwner сетером і timelock. Це дозволяє калібрувати параметри після деплою без апгрейду контракту.

Тестування зміненої логіки

Fork-тести в Foundry — основний інструмент перевірки. Беремо реальні історичні транзакції оригінального протоколу, відтворюємо їх проти нашого форка, порівнюємо результати. Розбіжність у балансах — індикатор помилки в математиці.

Invariant тести: для AMM — k повинен тільки зростати (не зменшуватися) з кожним свапом. Для lending — totalDebt ніколи не перевищує totalSupply. Echidna запускаємо на 100k+ ітерацій.

Протокол Складність форка Типовий час кастомізації Основні ризики
Uniswap v2 Низька 3-7 днів Fee math, oracle
Uniswap v3 Висока 2-4 тижні Tick math, concentrated liquidity
Aave v3 Висока 2-4 тижні Oracle setup, risk parameters
Curve StableSwap Середня 1-2 тижні Параметр A, pool init
Balancer v2 Середня 1-2 тижні Vault архітектура, pool math

Чому варто довірити форк професіоналам?

Кастомізація форка в 3 рази швидша за розробку з нуля і вимагає менше аудитів. Ви отримуєте готовий протокол з налаштованими параметрами, перевіреними змінами та документацією. Ми гарантуємо безпеку: кожна зміна тестується invariants і fork-тестами, diff-документація дозволяє відстежити всі правки. Кастомізація форка економить до 70% бюджету порівняно з розробкою з нуля. Вартість кастомізації розраховується індивідуально, але в середньому на 30-50% нижча за розробку з нуля.

Джерело: аналіз десятків форків DeFi-протоколів за останні роки.

Етапи кастомізації форка

  1. Аналіз протоколу та підготовка специфікації змін.
  2. Розробка змінених контрактів з diff-документацією.
  3. Написання fork- та invariant-тестів (Foundry, Echidna).
  4. Внутрішній аудит зміненого коду.
  5. Деплой за допомогою forge script та пост-деплой моніторинг.

Чек-лист перевірки перед деплоєм

  • [ ] Всі зміни задокументовані в PR.
  • [ ] Fork-тести пройдені на історичних даних.
  • [ ] Invariant тести (Echidna) — 100k+ ітерацій.
  • [ ] Аудит змінених контрактів зовнішньою командою.
  • [ ] Deploy скрипти відтворювані.

Орієнтири за термінами

Тип кастомізації Терміни Приклади
Легка (fee механіка, whitelist) 1-2 тижні Uniswap v2
Середня (нові параметри пулу) 2-3 тижні Curve, Balancer v2
Складна (нові активи, oracle) 2-4 тижні Aave v3, Compound v3

Зв'яжіться з нами для безкоштовного аналізу вашого протоколу — ми оцінимо складність і запропонуємо оптимальний план кастомізації за 1 день. Замовте консультацію, щоб обговорити деталі та отримати оцінку вартості робіт.