MPC-кошельки: простое объяснение
Что такое MPC-кошелёк, как многосторонние вычисления делят приватный ключ на доли, чем он отличается от сид-фраз и мультиподписи и какие риски нужно проверить.
MPC-кошелёк — это криптокошелёк, который использует многосторонние вычисления (MPC, multi-party computation), чтобы разделить контроль над приватным ключом на несколько «долей», хранящихся в разных местах, так что ни одно устройство и ни одна сторона никогда не владеют полным ключом; транзакция подписывается, когда взаимодействует достаточное число долей. Цель — устранить единую точку отказа, которую создаёт традиционная сид-фраза.
MPC-кошельки стали популярны у институциональных игроков и в потребительских приложениях, которые не хотят просить новичков записывать 12 или 24 слова. Они могут быть удобнее и в чём-то безопаснее, но порождают новые вопросы доверия. В этом руководстве объясняется, как они работают и что проверить перед использованием.
Как работает MPC простыми словами
Многосторонние вычисления — это раздел криптографии, позволяющий нескольким сторонам совместно вычислить результат так, чтобы ни одна из них не раскрыла свои приватные входные данные. Применительно к кошелькам:
- 1Генерация ключа. Вместо того чтобы создать один приватный ключ и разделить его, стороны генерируют доли вместе. Во многих схемах полный ключ ни в какой момент не существует в одном месте.
- 2Порог. Кошелёк настраивается по правилу вроде «2 из 3»: любые две доли могут подписать, а одна доля сама по себе — нет.
- 3Подпись. Когда вы отправляете транзакцию, устройства с долями выполняют протокол, который создаёт действительную подпись. Каждая доля остаётся на своём месте.
- 4Результат ончейн. Блокчейн видит обычную подпись с обычного адреса. Он не знает, что использовался MPC.
Распространённая потребительская конфигурация — три доли: одна на вашем телефоне, одна в зашифрованной облачной или почтовой резервной копии и одна на сервере провайдера.
MPC, сид-фраза и мультиподпись: сравнение
| Характеристика | Кошелёк с сид-фразой | Мультиподписной кошелёк | MPC-кошелёк |
|---|---|---|---|
| Единая точка отказа | Да, сид-фраза | Нет | Нет |
| Как работает подпись | Подписывает один ключ | Подписывают несколько ключей, проверка ончейн | Доли совместно создают одну подпись |
| Видимость ончейн | Обычный адрес | Видимый мультиподписной контракт или скрипт | Обычный адрес |
| Поддержка блокчейнов | Широкая | Зависит от поддержки мультиподписи в каждом блокчейне | Широкая, если провайдер поддерживает блокчейн |
| Прозрачность | Просто и стандартно | Правила проверяемы ончейн | Зависит от ПО провайдера |
| Типичные пользователи | Большинство частных лиц | Команды, DAO, казначейства | Институциональные игроки, потребительские кошельки в приложениях |
Наши руководства по мультиподписным кошелькам для общих средств и кошелькам на смарт-контрактах подробно рассматривают альтернативы.
Преимущества MPC-кошельков
- Нет единого секрета для кражи. Вор, завладевший вашим телефоном, или фишер, выманивший у вас одну резервную копию, всё равно не сможет подписать в одиночку.
- Проще начать. Не нужно записывать сид-фразу, что устраняет частую ошибку новичков.
- Гибкие политики. Организации могут требовать одобрения от нескольких людей или устройств, а в некоторых решениях — менять правила без перевода средств на новый адрес.
- Ротация ключей. Некоторые схемы позволяют обновлять доли, сохраняя тот же адрес, и тогда старые украденные доли становятся бесполезными.
- Независимость от блокчейна. Поскольку результат — обычная подпись, MPC может работать в блокчейнах без встроенной мультиподписи.
Риски и компромиссы
MPC устраняет одни риски и добавляет другие:
- Зависимость от провайдера. Если провайдер хранит обязательную долю и уходит в офлайн, подвергается взлому или закрывается, вы можете лишиться возможности подписывать. Проверьте, есть ли независимый способ восстановления.
- Непрозрачный код. Протоколы MPC сложны, и исследователи безопасности находили ошибки в их реализациях. Отдавайте предпочтение провайдерам с опубликованными аудитами и открытой документацией.
- Безопасность резервных копий. Доли, хранящиеся в облачных аккаунтах, защищены ровно настолько, насколько защищены эти аккаунты. Защитите их надёжными паролями и двухфакторной аутентификацией.
- Переносимость. Возможно, вам не удастся легко перенести ключ в другое приложение-кошелёк. Некоторые кошельки предлагают экспорт ключа, многие — нет.
- Неясность в вопросе хранения. В маркетинге может говориться о «самостоятельном хранении», даже если провайдер фактически может заблокировать или восстановить ваш аккаунт.
Вопросы, которые стоит задать перед использованием MPC-кошелька
- 1Сколько существует долей и у кого хранится каждая?
- 2Смогу ли я подписывать без провайдера, если он исчезнет?
- 3Как работает восстановление, если я потеряю устройство, и может ли провайдер восстановить мой аккаунт без меня?
- 4Могу ли я экспортировать полный приватный ключ или сид-фразу?
- 5Проходила ли реализация независимый аудит и опубликованы ли отчёты?
- 6Какие блокчейны и токены поддерживаются и что произойдёт с неподдерживаемыми активами, отправленными на мой адрес?
Если ответы расплывчаты, считайте кошелёк частично кастодиальным и соразмеряйте с этим объём своих средств. Наш материал о кастодиальных и некастодиальных кошельках поможет правильно взглянуть на этот выбор.
Кому подходят MPC-кошельки
- Новичкам, которым нужно удобство приложения и которые боятся потерять сид-фразу, — при условии, что они понимают роль провайдера.
- Командам и компаниям, которым нужны политики одобрения с участием нескольких человек.
- Пользователям, активным во многих блокчейнах, которые хотят единый опыт работы с кошельком.
Тем, кто хочет максимальной независимости от любых компаний, по-прежнему может больше подойти аппаратный кошелёк с хорошо защищённой сид-фразой или мультиподпись, которую они полностью контролируют. Читайте также: Программные кошельки: простое объяснение. Чтобы разобраться глубже, читайте Мультиподпись и MPC-кошельки.
Практичный подход, который выбирают многие, — начать с небольшой суммы, проверить отправку, получение и восстановление на запасном устройстве и только после этого переводить больше средств. Наша статья Физическая безопасность для владельцев криптовалюты раскрывает эту тему подробнее.
Итог
MPC-кошелёк распределяет право подписи между несколькими долями ключа, так что ни одна отдельная потеря или кража не опустошит ваши средства. Это реальное улучшение безопасности по сравнению с единственной сид-фразой, но зачастую оно добавляет зависимость от провайдера и сложного ПО. Прежде чем доверить такому кошельку значительные суммы, выясните, у кого хранятся доли, сами проверьте восстановление и убедитесь, что сможете вывести свои активы, если компания исчезнет.
Частые вопросы
Есть ли у MPC-кошелька сид-фраза?
У многих нет, по крайней мере в традиционном смысле. Вместо одной сид-фразы ключ существует в виде нескольких долей, хранящихся в разных местах, например на вашем телефоне, в облачной резервной копии и на сервере провайдера. Некоторые MPC-кошельки позволяют экспортировать полный ключ или сид-фразу; проверьте это, прежде чем вносить средства.
Является ли MPC-кошелёк кастодиальным?
Это зависит от конфигурации. Если вы контролируете достаточно долей, чтобы подписывать без провайдера, это ближе к самостоятельному хранению. Если провайдер владеет долей, которая требуется всегда, или может восстановить ваш аккаунт сам, вы зависите от этой компании. Прочитайте в документации, у кого какие доли и что произойдёт, если провайдер исчезнет.
Чем MPC отличается от мультиподписи?
Мультиподпись использует несколько отдельных ключей и смарт-контракт или скрипт, который проверяет несколько подписей ончейн. MPC создаёт одну обычную на вид подпись из долей ключа, объединяемых офчейн. Мультиподпись прозрачна ончейн, но зависит от конкретного блокчейна; MPC работает в большинстве блокчейнов, но его безопасность зависит от программного обеспечения, которое нелегко проверить.
Что будет, если я потеряю телефон с MPC-кошельком?
Это зависит от схемы восстановления. Обычно кошелёк восстанавливают с помощью оставшихся долей, например облачной или почтовой резервной копии в сочетании с долей провайдера. Настройте и проверьте восстановление до того, как хранить значительные суммы, и защитите аккаунты, где лежат ваши резервные доли, надёжными паролями и двухфакторной аутентификацией.
