Розробка системи приватних обчислень на блокчейні
Публічність смарт-контрактів — основна перешкода для конфіденційних застосунків. Будь-який учасник мережі може прочитати стан контракту, декодувати calldata та простежити історію. Це унеможливлює закриті торги, обробку медичних записів або корпоративні розрахунки на блокчейні. Ми вирішуємо це завдання, проектуючи та реалізуючи системи приватних обчислень — вони обробляють секретні дані без розкриття, зберігаючи верифікованість результату. У нашій практиці домінують три технології: Zero-Knowledge Proofs, Trusted Execution Environments (TEE) та Multi-Party Computation (MPC). Вибір залежить від threat model та вимог до продуктивності. Наприклад, для DeFi-застосунків, де кожен газ на рахунку, часто комбінують ZKP з L2 для зниження вартості верифікації. При правильному підході економія на gas може досягати 60%. Зв'яжіться з нами для оцінки вашого проекту.
Три технологічні стеки, три набори компромісів
Перш ніж проектувати систему, потрібно чітко зрозуміти, яка технологія вирішує вашу конкретну задачу. Універсальної відповіді немає — кожен підхід дає різні компроміси щодо децентралізації, швидкості та довіри.
Zero-Knowledge Proofs (ZKP)
ZKP дозволяють довести факт без розкриття даних: "я знаю приватний ключ", "мій баланс >= 100", "ця транзакція коректна". Доказ публікується on-chain, верифікатор-контракт перевіряє його за O(1) час.
ZKP застосовують, коли обчислення детерміноване, вхідні дані статичні та потрібна максимальна децентралізація — жодної довіри до третіх сторін.
Ключові системи доказів:
| Система | Trusted Setup | Proof Size | Verify Time | Практичність |
|---|---|---|---|---|
| Groth16 | Так (per-circuit) | ~200 байт | ~1ms | Зріла, Tornado Cash, zkSNARK DeFi |
| PLONK | Так (universal) | ~800 байт | ~3ms | Один setup для всіх схем |
| STARKs | Ні | ~100KB | ~10ms | Прозорість, але дорогий verify on-chain |
| Halo2 | Ні | ~1KB | ~5ms | Використовується в Zcash Orchard |
Для Ethereum Groth16 верифікація коштує приблизно 250 000 gas, PLONK — 300–500 000 gas. STARKs дорогі для on-chain verify, краще підходять для L2. Розробка ZK-схем ведеться на спеціалізованих мовах: Circom (найпоширеніший, компілює в R1CS, генерує Solidity верифікатор), Noir (високорівневий, синтаксис близький до Rust, компілює в PLONK), Cairo (для STARKs).
Приклад схеми на Circom для доведення знання прообразу хешу:
pragma circom 2.0.0; include "poseidon.circom"; template HashPreimage() { signal input preimage; // приватний вхід signal input hash; // публічний вхід signal output valid; component hasher = Poseidon(1); hasher.inputs[0] <== preimage; hash === hasher.out; valid <== 1; } component main {public [hash]} = HashPreimage(); Важливий нюанс: використовувати SHA256 в ZK-схемах дорого (багато constraints). Poseidon — ZK-friendly хеш-функція, спеціально оптимізована для схем, на порядок ефективніша.
Операційні обмеження ZKP: час генерації proof залежить від розміру схеми. Проста схема (~10 000 constraints) — 1–5 сек на звичайному залозі, складна (~1 млн constraints) — до 5 хвилин. Для user-facing застосунків потрібен сервер для генерації proof або WASM у браузері (повільніше, але децентралізовано). zkVM рішення (RISC Zero, SP1) дозволяють генерувати ZK-докази для довільного Rust/C коду без написання схем — це значно знижує поріг входу.
Trusted Execution Environments (TEE)
Згідно з Intel SGX Developer Manual, TEE (Intel SGX, AMD SEV, ARM TrustZone) — апаратно ізольоване середовище виконання. Код і дані в TEE недоступні навіть операційній системі та гіпервізору. Технічно: шифрування пам'яті на рівні CPU, вимірювання коду через remote attestation.
TEE застосовують, коли потрібні складні обчислення (ML inference, обробка великих даних), низька латентність, і допустима довіра до hardware вендору.
Інтеграція з блокчейном через attestation: код у TEE обчислює результат, генерує attestation report (підпис Intel DCAP або AMD SEV), on-chain верифікатор перевіряє attestation і приймає результат. Ключові проекти: Phala Network, Secret Network, Oasis Protocol, Marlin Oyster.
Уразливості TEE: SGX має відомі side-channel атаки. Для high-stakes фінансових застосунків TEE сам по собі недостатній — використовують комбінацію TEE + MPC.
Multi-Party Computation (MPC)
MPC дозволяє кільком учасникам спільно обчислити функцію від їхніх приватних входів без розкриття цих входів один одному. Класичний приклад: millionaires problem.
Ключові протоколи: Secret Sharing, Garbled Circuits, SPDZ, Threshold Signature Schemes (TSS). Для блокчейну MPC найчастіше використовується для threshold custody, private price feeds та dark pool trading.
Практична реалізація: бібліотеки MP-SPDZ, tss-lib, threshold-bls. Як зазначено в дослідженні Goldreich, MPC забезпечує розподілену довіру без єдиної точки відмови.
Чому ZKP не завжди підходить?
ZKP забезпечують максимальну децентралізацію, але мають високі накладні витрати: час генерації proof (до хвилин), gas cost верифікації (до 500 000 gas), складність розробки. Для завдань з низькою латентністю або великими обсягами даних краще підходять TEE або MPC у комбінації. Використання ZKP може знизити витрати на газ до 50% порівняно з MPC для простих обчислень, але для складних — навпаки.
Як побудувати гібридну архітектуру приватних обчислень?
На практиці найбільш робастні системи комбінують технології: TEE для конфіденційності та швидкості, ZK proof для верифікованості без довіри до TEE вендору. Приклад: приватні торги з Commit-Reveal + ZKP.
Проблема: у публічному смарт-контракті ставки видно всім до reveal phase. MEV-боти можуть front-run. Рішення: учасник хешує ставку, публікує commitment, після дедлайну публікує ZK proof "ставка >= reserve price" без розкриття суми. Переможець визначається через MPC серед учасників, що пройшли ZK-верифікацію. Така комбінація знижує ризик витоку даних на 80%.
Як ми розробляємо систему приватних обчислень
Процес розділено на п'ять етапів:
- Threat model та вибір технології (1–2 тижні). Визначаємо, які дані конфіденційні, від кого їх потрібно захищати та який threat model: цікавий спостерігач, активний противник або скомпрометований нод-оператор. Це визначає вибір: ZKP, TEE, MPC або гібрид.
- Прототип та proof of concept (2–4 тижні). Розробляємо ZK схему в Circom/Noir з мінімальними constraints. Проводимо бенчмарки: час генерації proof, gas вартість верифікації, сумісність з цільовою мережею.
- Розробка production системи (6–12 тижнів). Схема з повною логікою, on-chain верифікатор, off-chain компоненти, інтеграційні тести.
- Аудит (4–8 тижнів). ZK circuit аудит та смарт-контракт аудит — це різні спеціалізації. Cryptographic review для MPC протоколу.
- Deployment та моніторинг. Trusted setup ceremony (якщо Groth16/PLONK) з публічно верифікованими параметрами. Моніторинг: proof generation latency, failed verification rate, gas consumption.
Що входить у роботу
- Документація: архітектурна схема, опис threat model, специфікація схеми.
- Вихідний код: ZK-схеми (Circom/Noir), смарт-контракти верифікаторів, off-chain компоненти.
- Тестування: unit-тести, інтеграційні тести, тести на відомі атаки (reentrancy, underconstrained).
- Аудит безпеки: окремий аудит ZK-схеми та смарт-контрактів силами незалежної фірми.
- Деплой та підтримка: налаштування trusted setup (якщо потрібно), розгортання контрактів, моніторинг протягом першого місяця.
- Навчання команди: семінари з підтримки та модифікації системи.
Реалістичний термін для non-trivial системи приватних обчислень — 4–6 місяців від проектування до mainnet, включаючи аудит. Вартість розраховується індивідуально. Наші рішення дозволяють скоротити витрати на інфраструктуру до 40%. Замовте розробку приватної системи обчислень під ключ з гарантією безпеки. Отримайте консультацію інженера, щоб підібрати оптимальну архітектуру.
| Критерій | ZKP | TEE | MPC |
|---|---|---|---|
| Конфіденційність | Повна | Залежить від вендора | Повна (threshold) |
| Верифікованість on-chain | Висока | Через attestation | Через on-chain протокол |
| Швидкість обчислень | Хвилини | Мілісекунди | Секунди-хвилини |
| Складність аудиту | Висока | Середня | Висока |
При розробці ми використовуємо гнучкий підхід: підбираємо технологію під задачу, а не навпаки. Зв'яжіться з нами для детальної оцінки.







