# MPC управление ключами > **🚧 Статус разработки:** Функциональность MPC в настоящее время находится в активной разработке. Эта документация описывает планируемую реализацию и архитектуру. API эндпоинты для MPC операций будут доступны в будущем релизе. Пока вы можете использовать Vilna с xPub ключами, сгенерированными из внешних MPC решений. Multi-Party Computation (MPC) управление ключами обеспечивает высочайший уровень безопасности для хранения цифровых активов, гарантируя, что приватные ключи никогда не собираются в одном месте. Vilna реализует современный протокол CGGMP для генерации пороговых подписей. ## Обзор Традиционные подходы к управлению ключами имеют встроенные уязвимости: - **Единичные ключи** создают единую точку отказа - **Multi-sig** раскрывает всех участников в блокчейне - **Аппаратные кошельки** могут быть потеряны или скомпрометированы Технология MPC устраняет эти риски, распределяя генерацию и подписание ключей между несколькими сторонами, при этом ни одна сторона никогда не имеет доступа к полному приватному ключу. ## Протокол CGGMP Vilna использует протокол CGGMP (Canetti-Gennaro-Goldfeder-Makriyannis-Peled), который представляет собой передовую технологию схем пороговых подписей: ```mermaid graph LR subgraph "Традиционный подход" PK[Приватный ключ] --> SIGN[Подпись] end subgraph "MPC подход" S1[Шард 1] --> MPC[MPC протокол] S2[Шард 2] --> MPC S3[Шард 3] --> MPC MPC --> SIG[Подпись] end ``` ### Ключевые особенности - **Без восстановления ключа**: Приватный ключ никогда не восстанавливается, даже во время подписания - **Пороговые подписи**: Настройка политик подписания m-из-n (например, 2-из-3, 3-из-5) - **Проактивная безопасность**: Ротация шардов ключей без изменения публичного ключа - **Неинтерактивное подписание**: После начальной настройки подписание требует минимального количества раундов взаимодействия ## Процесс генерации ключей ### Шаг 1: Инициализация MPC церемонии (Планируется) MPC церемония будет начинаться с инициализации, где вы указываете количество участников и пороговые требования. Протокол CGGMP позволяет генерировать пороговые подписи с настраиваемыми политиками подписания (например, 2-из-3, 3-из-5). Эта функциональность пока недоступна через API. ### Шаг 2: Распределенная генерация ключей (Планируется) Каждый участник будет выполнять протокол генерации ключей: ```mermaid sequenceDiagram participant P1 as Участник 1 participant P2 as Участник 2 participant P3 as Участник 3 participant V as Vilna MPC P1->>V: Обязательство P2->>V: Обязательство P3->>V: Обязательство V->>P1: Все обязательства V->>P2: Все обязательства V->>P3: Все обязательства P1->>V: Доля ключа P2->>V: Доля ключа P3->>V: Доля ключа V->>V: Проверка долей V->>P1: Генерация завершена V->>P2: Генерация завершена V->>P3: Генерация завершена ``` ### Шаг 3: Экспорт и импорт xPub После завершения генерации ключей (с использованием внешних MPC решений), расширенный публичный ключ можно импортировать в Vilna Core используя стандартный [xPub API](/apis/spec#operation/createXpub) для генерации кошельков и мониторинга. ## Управление шардами ### Безопасное хранение Шарды ключей должны храниться безопасно в различных средах: - **Облачные HSM**: AWS CloudHSM, Azure Key Vault, Google Cloud HSM - **Аппаратные модули безопасности**: Физические HSM в дата-центрах - **Защищенные анклавы**: Intel SGX, AWS Nitro Enclaves - **Мобильные устройства**: iOS Secure Enclave, Android Keystore ### Ротация шардов (Планируемая функция) В будущем Vilna будет поддерживать ротацию шардов для поддержания безопасности, позволяя добавлять новых участников и удалять старых без изменения публичного ключа. Эта функция в настоящее время находится в разработке. ## Подписание транзакций ### Процесс подписания (Планируется) Когда MPC подписание будет доступно, процесс будет работать следующим образом: 1. **Построение транзакции**: Vilna будет формировать транзакцию 2. **Запрос подписей**: Каждый держатель шарда будет получать запрос на подписание 3. **Частичные подписи**: Пороговое количество сторон будут предоставлять частичные подписи 4. **Объединение**: MPC протокол будет объединять частичные подписи в финальную подпись 5. **Отправка**: Транзакция будет отправляться в блокчейн Эта функциональность в настоящее время находится в разработке. ### Сбор подписей ```mermaid graph TD T[Транзакция] --> R1[Запрос к участнику 1] T --> R2[Запрос к участнику 2] T --> R3[Запрос к участнику 3] R1 --> S1[Частичная подпись 1] R2 --> S2[Частичная подпись 2] S1 --> C[Объединение подписей] S2 --> C C --> F[Финальная подпись] F --> B[Отправка транзакции] ``` ## Модель безопасности ### Защита от различных атак | Тип атаки | Метод защиты | | --- | --- | | Кража ключа | Ключ никогда не существует в полном виде | | Внутренняя угроза | Пороговое требование предотвращает действия одной злоумышленной стороны | | Физическая компрометация | Географическое распределение шардов | | Сетевые атаки | Сквозное шифрование между участниками | | Квантовые вычисления | Дорожная карта постквантовой криптографии | ### Преимущества для комплаенса - **Отсутствие единой точки контроля**: Соответствует регуляторным требованиям для распределенного хранения - **Журнал аудита**: Полное логирование всех операций подписания - **Применение политик**: Программируемые политики подписания - **Географическое распределение**: Соответствие требованиям резидентности данных ## Интеграция с Vilna ### Интеграция рабочего процесса ```mermaid graph LR subgraph "MPC модуль" KG[Генерация ключей] XPUB[Экспорт xPub] end subgraph "Ядро Vilna" ADDR[Генерация адресов] MON[Мониторинг] end subgraph "Модуль транзакций" TX[Создание транзакций] SIGN[MPC подписание] end KG --> XPUB XPUB --> ADDR ADDR --> MON MON --> TX TX --> SIGN ``` ### API интеграция MPC операции будут доступны через унифицированный API Vilna после завершения разработки. В настоящее время вы можете импортировать xPub ключи, сгенерированные через внешние MPC решения, используя наши [стандартные xPub эндпоинты](/apis/spec#operation/createXpub). ## Сценарии использования ### Институциональное хранение Идеально для институций, требующих банковский уровень безопасности: - Криптовалютные биржи - Управляющие активами - Корпоративные фонды - DeFi протоколы ### Регуляторное соответствие Соответствие строгим регуляторным требованиям: - SOC 2 Type II соответствие - ISO 27001 сертификация - CCSS Level 3 безопасность - GDPR защита данных ### Операции с высокой ценностью Безопасность транзакций с высокой ценностью: - Крупные переводы, требующие множественных одобрений - Развертывание смарт-контрактов - Кроссчейн мосты - Управление DeFi позициями ## Лучшие практики ### Церемония ключей 1. **Безопасная среда**: Проводите генерацию ключей в контролируемой среде 2. **Верификация личности**: Проверяйте всех участников перед церемонией 3. **Изоляция оборудования**: По возможности используйте устройства без сетевого подключения 4. **Документирование**: Документируйте весь процесс для целей аудита ### Операционная безопасность 1. **Регулярная ротация**: Ротация шардов ежеквартально или после изменения персонала 2. **Контроль доступа**: Внедрите строгий контроль доступа к шардам 3. **Мониторинг**: Отслеживайте все запросы на подписание и аномалии 4. **Процедуры резервного копирования**: Поддерживайте безопасные процедуры резервного копирования и восстановления ### Аварийное восстановление 1. **Резервное копирование шардов**: Безопасное резервное копирование шардов в различных географических локациях 2. **Тестирование восстановления**: Регулярное тестирование процедур восстановления 3. **Экстренные контакты**: Поддерживайте актуальный список экстренных контактов 4. **План реагирования**: Имейте четкий план реагирования на инциденты ## Начало работы ### Предварительные требования - Доступ к Vilna API - Минимум 3 безопасных среды для хранения шардов - Понимание пороговых подписей ### Быстрый старт > **Бета-программа:** Функциональность MPC в настоящее время находится в разработке. Свяжитесь с [support@vilna.io](mailto:support@vilna.io), чтобы присоединиться к бета-программе и получить ранний доступ к MPC функциям. 1. **Присоединитесь к бета-программе** - Свяжитесь с поддержкой для участия в бета-тестировании MPC 2. **Спланируйте настройку** - Определите ваши пороговые требования и структуру участников 3. **Подготовьте инфраструктуру** - Настройте безопасные среды для хранения шардов 4. **Импортируйте сгенерированный xPub** - Используйте [стандартный xPub API](/apis/spec#operation/createXpub) для импорта ключей в Vilna Детальные руководства по реализации будут доступны после выпуска MPC функций. ## Поддержка Для поддержки по MPC: - Техническая документация: [docs.vilna.io/mpc](https://docs.vilna.io/mpc) - Корпоративная поддержка: [support@vilna.io](mailto:support@vilna.io) - Аудиты безопасности: Доступны по запросу ## Следующие шаги - [Основная платформа](/ru/guides/core) - Узнайте о генерации адресов и мониторинге - [Обработка транзакций](/ru/guides/transactions) - Понимание процесса подписания транзакций - [Справочник API](/apis/spec) - Полная документация API