Разработка системы приватных вычислений на блокчейне
Публичность смарт-контрактов — основное препятствие для конфиденциальных приложений. Любой участник сети может прочитать состояние контракта, декодировать 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 протокол |
| Скорость вычислений | Минуты | Миллисекунды | Секунды-минуты |
| Сложность аудита | Высокая | Средняя | Высокая |
При разработке мы используем гибкий подход: подбираем технологию под задачу, а не наоборот. Свяжитесь с нами для детальной оценки.







