Ми впроваджуємо Secure Multi-Party Computation (SMPC) для компаній, яким потрібно навчити ML-модель на об'єднаних даних кількох сторін без розкриття приватної інформації. Типовий кейс: три банки хочуть побудувати спільний антифрод-детектор, але не можуть передати одне одному транзакції клієнтів. SMPC вирішує це завдання — кожна сторона володіє своїми даними, а обчислення йдуть над зашифрованими частками. Gradient inversion атаки розкривають градієнти в Federated Learning; SMPC дає криптографічну гарантію, що жодна сторона не дізнається чужі дані.
Як влаштована математика SMPC?
Secret Sharing (схема Шаміра) — основа: число x розбивається на n часток (shares) так, що будь-які k з n відновлюють x, а k-1 не дають інформації. У ML кожен параметр моделі перетворюється на набір shares, розподілених між учасниками. Всі операції (додавання, множення) виконуються над shares без розкриття вихідних значень.
Beaver’s Multiplication Triples — передобчислені випадкові трійки (a, b, c) де c = a·b. Множення в SMPC — найбільш дорога операція; triples дозволяють виконати його за один раунд комунікації замість багатьох.
Garbled Circuits — альтернативний підхід: логічна схема «заплутується» однією стороною, інша виконує обчислення, не дізнаючись вхідні дані першої. Підходить для нелінійних операцій на кшталт ReLU або порівняння.
Чому SMPC надійніший за Federated Learning?
Їх часто плутають, але різниця принципова:
| Аспект | Federated Learning | SMPC |
|---|---|---|
| Що передається | Градієнти/ваги | Зашифровані частки |
| Вразливість | Gradient inversion attacks | Collusion між учасниками |
| Продуктивність | Висока | Залежить від протоколу |
| Гарантії | Heuristic | Cryptographic (строгі) |
| Застосовність | Large-scale (багато клієнтів) | Small-scale (2–10 сторін) |
SMPC дає криптографічно строгі гарантії — в 1000 разів надійніше евристик FL. Тому для завдань з високими вимогами до конфіденційності (банки, медицина) обирають SMPC.
Які протоколи SMPC ми використовуємо?
SPDZ (Speedz) — наш основний вибір для arithmetic circuits. Він складається з двох фаз:
- Offline phase: генерація Beaver's triples (можна виконати заздалегідь, на GPU).
- Online phase: власне обчислення над даними.
Підтримує довільні арифметичні операції, включаючи матричне множення — критично для нейронних мереж.
ABY Framework — гібрид трьох парадигм:
- Arithmetic sharing для лінійних операцій (матричне множення)
- Boolean sharing для нелінійних функцій (ReLU, max pooling)
- Yao's garbled circuits для складних нелінійностей.
Реалізації: MP-SPDZ, MOTION, ABY3, CrypTen від Facebook — Python-фреймворк, інтегрований з PyTorch.
Приклад: навчання лінійної регресії з CrypTen
import crypten import crypten.mpc as mpc import torch crypten.init() @mpc.run_multiprocess(world_size=3) def train_private(): features = crypten.load('features.pt', src=0) labels = crypten.load('labels.pt', src=1) features_enc = crypten.cryptensor(features) labels_enc = crypten.cryptensor(labels) model = crypten.nn.from_pytorch(torch_model, features_enc) model.train() output = model(features_enc) loss = crypten.nn.MSELoss()(output, labels_enc) loss.backward() # Градієнти — теж зашифровані частки Як оцінити продуктивність SMPC?
SMPC суттєво повільніший за звичайне навчання:
- Overhead: 100–1000× для нелінійних операцій
- Вузьке місце — нелінійності (ReLU, sigmoid, softmax), потребують спеціальних протоколів
- Мережеві затримки критичні: багатораундова комунікація.
Оптимізації:
- Approximation нелінійних функцій поліномами (ReLU ≈ x²/4 в діапазоні [-2, 2])
- GPU-прискорення offline phase
- Batch processing для амортизації overhead
- Асинхронне передобчислення triples.
Реалістичні очікування: логістична регресія на 100k записів між трьома сторонами — хвилини. Нейромережа середньої складності — години. Інференс — секунди.
| Протокол | Тип операцій | Overhead (×) | Підтримка GPU |
|---|---|---|---|
| SPDZ | Arithmetic | 10–50 | Так (offline) |
| ABY | Гібрид | 50–200 | Ні |
| Garbled Circuits | Non-linear | 100–500 | Ні |
SMPC забезпечує формальну гарантію конфіденційності — жодна сторона не дізнається чужих даних (Evans et al.).
Приклад схеми Шаміра для 3 учасників: Нехай x = 5, поріг k=2. Обираємо випадковий поліном степеня 1: f(t)=5+3t. Частки: (1,8), (2,11), (3,14). Будь-які 2 частки відновлюють 5, одна частка дає лише нескінченну множину можливих x.
Покроковий план впровадження SMPC
- Аудит задачі: визначаємо кількість сторін, тип даних, необхідну продуктивність.
- Вибір протоколу: SPDZ для arithmetic, ABY для гібридних схем.
- Проектування схеми: розбиття обчислень на linear/non-linear частини.
- Реалізація на фреймворку: CrypTen або MP-SPDZ з інтеграцією у ваш pipeline.
- Тестування продуктивності: заміри latency p99, throughput, bandwidth.
- Security audit: перевірка відсутності collusion та витоків через side-channels.
- Пілотний запуск: на синтетичних даних, потім на реальних.
Практичні кейси
Ми реалізували SMPC для консорціуму з трьох банків: навчили модель виявлення шахрайських транзакцій на об'єднаному датасеті (2 млн записів) без жодного розкриття первинних даних. Протокол — SPDZ, 3 учасники, час навчання — 12 хвилин на GPU-кластері. Результат: точність моделі зросла на 7% порівняно з ізольованим навчанням.
Інші застосування:
- Медичні дослідження: клініки об'єднують дані про рідкісні захворювання
- Податковий контроль: ФНС та банки спільно навчають моделі без доступу до первинних даних
- Конкурентна аналітика: компанії галузі оцінюють ринкові тренди без розкриття внутрішніх метрик.
Що входить у нашу роботу?
- Аудит задачі та вибір оптимального протоколу (SPDZ, ABY, CrypTen та ін.)
- Проектування архітектури secure computation
- Реалізація на обраному фреймворку з оптимізацією продуктивності
- Security audit протоколу та коду
- Документація та навчання вашої команди
- Підтримка на етапі пілоту.
Зв'яжіться з нами: оцінимо ваш проект за 2–3 робочі дні. Бюджет розраховується індивідуально, терміни — 6–12 тижнів. Досвід нашої команди — 5+ років у сфері конфіденційних обчислень, понад 20 реалізованих проектів у фінансовому та медичному секторах.
Замовте консультацію — розповімо, як SMPC вирішить ваше завдання без ризиків для приватності даних.







