Розробка системи інференсу AI на блокчейні

**On-chain AI inference** — це не маркетинговий термін, а конкретна інженерна проблема з кількома частковими рішеннями, кожне з яких має власний trade-off. Клієнт зазвичай приходить із запитом «ми хочемо, щоб результати нашої моделі були верифіковані і не можна було підробити». Це розумна вимога. Пи

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

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

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

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

On-chain AI inference — це не маркетинговий термін, а конкретна інженерна проблема з кількома частковими рішеннями, кожне з яких має власний trade-off. Клієнт зазвичай приходить із запитом «ми хочемо, щоб результати нашої моделі були верифіковані і не можна було підробити». Це розумна вимога. Питання в тому, як її реалізувати, не спаливши 50 000 доларів у газі на один інференс.

Пряме виконання нейронної мережі в EVM-контракті — не варіант. GPT-2 tiny (117M параметрів) при наївній реалізації потребував би ~10^9 операцій множення з плаваючою точкою. EVM не має float, кожна арифметична операція коштує gas, 30M gas limit блока Ethereum — це фізична стеля. Реальні підходи йдуть іншим шляхом. На практиці клієнти стикаються з вибором між математичною гарантією ZK-proof, економічною безпекою оптимістичних схем і апаратним довір'ям TEE. Наша команда має 7+ років досвіду в блокчейн-розробці та 5+ проєктів у галузі on-chain AI.

Як працює on-chain AI inference?

Основна складність — об'єднання обчислювальних ресурсів поза мережею з верифікацією в мережі. Жоден підхід не дає одночасно низької вартості, високої швидкості та математичної гарантії для моделей будь-якого розміру. Вибір залежить від пріоритетів: чи критична математична точність (фінансові моделі) чи допустима економічна безпека (геймінг, NFT).

Три архітектурні підходи

ZK-proof of inference (zkML) — розробка системи інференсу

Модель виконується off-chain, on-chain верифікується zero-knowledge proof коректності виконання. Це найбільш перспективний і найбільш технічно складний підхід.

Основні фреймворки:

EZKL — найбільш зрілий zkML тулкит на сьогодні. Приймає ONNX-моделі, генерує Halo2 circuits, верифікує on-chain через Solidity-верифікатор.

# Export model to ONNX python -c " import torch, ezkl model = MyModel() x = torch.randn(1, 784) # example MNIST torch.onnx.export(model, x, 'model.onnx', opset_version=11 ) # Compilation to circuit ezkl gen-settings -M model.onnx -O settings.json ezkl calibrate-settings -M model.onnx -D input.json -O settings.json ezkl compile-circuit -M model.onnx -S settings.json --compiled-circuit model.compiled # SRS and key generation ezkl get-srs --settings-path settings.json ezkl setup -M model.compiled --vk-path vk.key --pk-path pk.key # Proof generation (this is slow) ezkl gen-witness -M model.compiled -D input.json -O witness.json ezkl prove --witness witness.json --compiled-circuit model.compiled --pk-path pk.key --proof-path proof.json # Deploy verifier on-chain ezkl create-evm-verifier --vk-path vk.key --sol-code-path verifier.sol 

Документація EZKL підтверджує: «Proof generation для моделі з 1M параметрів займає близько хвилини на сучасному GPU».

Верифікація одного ZK-proof на Ethereum потребує 200–500k газу (залежно від алгоритму), що при ціні 50 gwei становить $10–25 за інференс.

Risc Zero — альтернативний підхід через zkVM. Модель компілюється в RISC-V, виконується в Risc Zero zkVM, proof верифікується on-chain. Менш ефективний для ML-специфічних операцій, але дозволяє використовувати довільний Rust/C++ код.

// Guest program in Risc Zero use risc0_zkvm::guest::env; fn main() { let input: Vec<f32> = env::read(); let result = run_inference(&input); // your model env::commit(&result); } 

Моделі, придатні для zkML зараз: логістична регресія та SVM — без обмежень; невеликі MLP (< 100k параметрів) — proof за секунди; CNN для класифікації зображень (< 1M параметрів) — proof за хвилини; LLM, diffusion models — нереально в найближчі роки без спеціалізованого заліза.

Оптимістичний підхід (fraud proofs)

Inference відбувається off-chain, результат публікується on-chain. Будь-хто може повторити обчислення та оскаржити (challenge) некоректний результат.

Цей підхід використовують Giza Tech та Modulus Labs. Економіка: challenge period = N блоків, challenger повинен надати fraud proof (partial execution trace). Працює за наявності достатньої кількості верифікаторів — це economic game theory, а не математична гарантія.

// Simplified optimistic AI oracle contract contract OptimisticAIOracle { struct InferenceResult { bytes32 inputHash; int256[] outputs; address submitter; uint256 submittedAt; bool challenged; bool resolved; } uint256 public constant CHALLENGE_PERIOD = 7200; uint256 public constant SUBMITTER_BOND = 1 ether; mapping(uint256 => InferenceResult) public results; function submitResult( uint256 requestId, bytes32 inputHash, int256[] calldata outputs ) external payable { require(msg.value >= SUBMITTER_BOND, "Insufficient bond"); results[requestId] = InferenceResult({ inputHash: inputHash, outputs: outputs, submitter: msg.sender, submittedAt: block.number, challenged: false, resolved: false }); } function challenge(uint256 requestId, bytes calldata fraudProof) external { InferenceResult storage result = results[requestId]; require(block.number < result.submittedAt + CHALLENGE_PERIOD, "Challenge period expired"); bool isFraud = verifyFraudProof(result.inputHash, result.outputs, fraudProof); if (isFraud) { result.challenged = true; } } } 

Challenger повинен внести bond у 1 ETH (≈2 500$ на момент написання), що забезпечує економічну безпеку. ZK-proof забезпечує математичну гарантію, що робить його в 100 разів надійнішим за оптимістичний підхід з економічною безпекою.

Decentralized inference networks (TEE + economic security)

Galadriel — EVM-сумісний L1, спеціально заточений під AI. Смарт-контракти можуть робити системні виклики до LLM-провайдерів прямо з Solidity. Вартість інференсу через Galadriel становить близько $0.01-0.10 за запит.

Ritual — децентралізована мережа інференсу. Nodes використовують TEE (Trusted Execution Environment) для верифікації інференсу без розкриття ваг моделі. Eigen Layer restaking для economic security.

Opaque Labs — спеціалізується на конфіденційному інференсі через SGX/TDX.

Який підхід обрати для вашої моделі?

Підхід Верифікація Latency Вартість Розмір моделі
EZKL (zkML) Математична Хвилини Висока < 1M param
Оптимістичний Економічна Секунди Середня Будь-який
Galadriel Довіра до мережі < 30s Низька LLM-клас
Ritual TEE Апаратна Секунди Середня Будь-який
Risc Zero Математична Хвилини Висока < 10M param

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

Практична архітектура production system

Більшість реальних проєктів використовують гібридний підхід: zkML для невеликих, критично важливих моделей (наприклад, fraud detection на транзакції) та оптимістичний або TEE-based для LLM-функцій.

[User/Contract] ↓ inference request + deposit [Inference Request Queue (on-chain)] ↓ event [Off-chain inference node cluster] ↓ runs model, generates proof [Proof submission + result] ↓ [On-chain verifier contract] ↓ verify ZK proof [Callback to requesting contract] 

On-chain інтерфейс

Стандартний патерн — Oracle-style з callback:

interface IInferenceOracle { struct InferenceRequest { bytes model_id; // hash or CID of model bytes input; // ABI-encoded or raw bytes address callback; // contract for callback bytes4 callbackSig; // signature of callback function uint256 maxFee; // maximum fee for inference } function requestInference(InferenceRequest calldata req) external payable returns (uint256 requestId); function fulfillInference( uint256 requestId, bytes calldata result, bytes calldata proof ) external; } 

Робота з фіксованою точкою

EVM не підтримує float. Всі ML-обчислення on-chain або в proof inputs потребують квантизації. Для EZKL квантизація відбувається автоматично при calibrate-settings — важливо перевірити accuracy після квантизації, втрати > 1% зазвичай неприпустимі для фінансових моделей.

Зберігання моделі та verifiability

Ключове питання: як on-chain контракт знає, що inference виконано на правильній моделі, а не підміненій? Рішення:

  • Model commitment — хеш модельних ваг зберігається on-chain. Inference node доводить (через ZK або підпис TEE), що використала модель із цим хешем.
  • IPFS/Filecoin для ваг — CID моделі фіксується on-chain. Будь-хто може завантажити та верифікувати.

Де це застосовується зараз

  • DeFi risk scoring — on-chain кредитний скоринг за on-chain активністю. Невеликі моделі (логрег, XGBoost) добре лягають у zkML.
  • Генеративні NFT — атрибути NFT визначаються ML-моделлю, результат верифікований. Моделі в діапазоні 1–10M параметрів, tolerable proof time.
  • Автономні агенти — AI агент керує on-chain позиціями. Тут zkML поки нереальний для LLM-агентів, використовується TEE або оптимістичний підхід.
  • On-chain fraud detection — кожен swap проходить через fraud scoring, результат впливає на fee tier або доступність. Логрег — ideal candidate для zkML.

Що входить у розробку системи інференсу?

  • Аналіз вимог та вибір підходу (zkML/оптимістичний/TEE)
  • Адаптація та квантизація моделі під обраний фреймворк
  • Розробка та деплой on-chain верифікатора
  • Налаштування інфраструктури для off-chain обчислень (GPU nodes, proof generation)
  • Інтеграція з цільовим смарт-контрактом
  • Документація, навчання команди, підтримка після запуску

Отримайте консультацію щодо вашого проєкту — оцінимо технічну складність та терміни.

Етапи розробки

Фаза Тривалість Результат
Model selection & quantization 2–3 тиж Адаптована модель з loss <1%
Circuit compilation 1–2 тиж Готовий ZK-circuit (якщо zkML)
On-chain verifier 1–2 тиж Деплой Solidity-верифікатора
Infrastructure 2–3 тиж Inference nodes + pipeline
Integration & testing 1–2 тиж Робоча система на testnet

Разом: 7–12 тижнів до production. Основний невідомий фактор — наскільки конкретна модель піддається квантизації без втрати якості. Оцінимо ваш проєкт безкоштовно — надішліть технічне завдання або опис задачі.