Что такое Multi Party Computation (MPC)?
Multi Party Computation (MPC) позволяет нескольким участникам совместно вычислять результат, не раскрывая друг другу свои приватные входные данные. В криптографии это часто означает разделение приватного ключа на доли так, чтобы ни одно отдельное лицо или устройство никогда не владело полным ключом, но группа всё равно могла подписать транзакцию. Представьте себе сейф, который открывается только тогда, когда достаточное число друзей одновременно поворачивают свои собственные ключи.
«MPC это только про секретность.» Не совсем. Это действительно помогает с конфиденциальностью, но главная польза в повышенной безопасности и совместном контроле без передачи самого ключа.
Как работает Multi Party Computation (MPC)
Краткий сценарий работы с MPC-кошельком, который подписывает перевод токенов:
- Шаг 1: Вы подтверждаете транзакцию на телефоне. Запрос достигает устройств или сервисов, хранящих секретные доли.
- Шаг 2: Каждый участник выполняет локальные математические вычисления, чтобы создать частичную подпись из своей доли. Никто не раскрывает свою долю.
- Шаг 3: Частичные подписи объединяются в одну действительную подпись, при этом полный приватный ключ нигде не собирается.
- Шаг 4: Если достигается заданный порог, блокчейн принимает подпись как обычную подпись в формате ECDSA или EdDSA.
- Шаг 5: Доли можно обновлять или менять, чтобы утерянное устройство не снижало уровень защиты. Всё аккуратно и понятно.
Это последовательность действий, которую вы встретите во многих современных кошельках и у кастодианов.
Почему Multi Party Computation (MPC) важен
Выгоды становятся понятны при ближайшем рассмотрении:
- Преимущество: Нет единой точки отказа. Потеря одного устройства не ведёт к катастрофе, так как ни одно устройство не хранит полный ключ.
- Перспектива: Подписание происходит вне цепочки, что помогает общей масштабируемости при сохранении гибкости одобрений для команд и казначейств.
- Применение: MPC встречается в кошельках с самостоятельным хранением, на биржах с командными схемами одобрения, в DAO и в институциональном хранении, где политика не подлежит обсуждению.
Выберите порог, подходящий вашей команде. Три из пяти дают запас на случай командировки или разряженного телефона, не блокируя выплаты.
Ключевые характеристики Multi Party Computation (MPC)
Что выделяет этот подход:
- Порог: Любые t из n участников могут подписать, поэтому работа продолжается, если одна доля недоступна.
- Отсутствие полного ключа: Приватный ключ никогда полностью не собирается, что снижает риск единой утечки при подписании или резервном копировании.
- Политика: Можно добавить правила вроде таймлоков, геозон или лимитов по активам до создания подписи.
- Обновление: Доли можно менять без смены публичного адреса, что ограничивает длительное воздействие компрометации.
- Аудит: Хорошо сочетается с анализом рисков, поскольку каждый шаг подписи можно протоколировать для проверок.
Вариации
MPC это семейство методов. Вы можете встретить такие варианты:
- Пороговые подписи: Пороговые подписи для ECDSA или EdDSA, при которых участники совместно создают стандартную подпись.
- Разделение: Схемы секретного разделения, такие как Шамира, для разделения и обновления долей ключа.
- Схемы вычислений: "Garbled circuits", где участники совместно выполняют программу, не показывая входы.
- Гомоморфные методы: Методики, позволяющие вычислять по зашифрованным данным и раскрывать только окончательный результат.
MPC защищает процесс подписи, но не вашу публичную активность в цепочке. Если нужно скрыть суммы или участников взаимодействия, изучите Zero knowledge proofs.
Пример
Казначейство DAO требует три подписи из пяти; каждое устройство подписанта создаёт частичную подпись, система объединяет их в одну действительную подпись, и сеть видит обычную транзакцию.
Интересный факт
Идея восходит к задаче миллионеров Яо 1980-х годов, мысленному эксперименту о том, как двое людей могут выяснить, кто богаче, не раскрывая точное состояние своих средств. В криптографии этот эксперимент превратился в повседневную практику.
Вывод
Multi Party Computation (MPC) позволяет группе действовать как единый защищённый подписант без того, чтобы кто-либо раскрывал свою тайну. Это командная работа, где арбитром выступает математика.
