Мультиподпись
Мультиподпись (от англ. multisignature, multisig) — это метод криптографической защиты, при котором для авторизации транзакции или доступа к ресурсу требуется несколько независимых цифровых подписей от разных участников. В отличие от обычной (одноподписной) схемы, где достаточно одной подписи владельца закрытого ключа, мультиподпись реализует принцип разделения ответственности и повышает безопасность за счёт распределения контроля. Технология широко применяется в системах управления криптовалютными кошельками, в корпоративных финансовых протоколах и в системах децентрализованного управления (DAO).
История
Концепция мультиподписи возникла в контексте развития криптографии с открытым ключом. В 1980-х годах были предложены первые теоретические схемы, такие как пороговые подписи (threshold signatures), где для валидности подписи требовалось участие определённого числа участников из общего множества. Однако практическое применение мультиподпись получила с появлением криптовалют, в первую очередь биткоина. В 2012 году в протокол Bitcoin был добавлен стандартный тип транзакции с мультиподписью (P2SH — Pay-to-Script-Hash), что позволило создавать адреса, требующие для траты средств несколько подписей. С тех пор технология была адаптирована во многих блокчейн-платформах, включая Ethereum, Litecoin, Dogecoin и другие.
Принцип работы
Мультиподпись базируется на использовании пороговой схемы, обозначаемой как m‑of‑n (m из n). Здесь n — общее количество участников, имеющих право подписи, а m — минимальное количество подписей, необходимое для выполнения действия. Например, схема «2 из 3» означает, что для отправки средств из кошелька требуется подпись любых двух из трёх уполномоченных лиц.
Криптографическая реализация
В блокчейн-системах мультиподпись реализуется через смарт-контракты или специальные скрипты. В биткоине используется скрипт, который проверяет, что количество подписей, соответствующих открытым ключам в адресе, достигает порога m. В Ethereum мультиподпись часто реализуется через смарт-контракты, которые хранят список владельцев и требуют подтверждения от m из них. При инициации транзакции каждый участник подписывает её своим закрытым ключом, после чего подписи объединяются в одну транзакцию, которая отправляется в сеть.
Типы пороговых схем
- m‑of‑n — классическая схема, где m ≤ n. Примеры: 1‑of‑2, 2‑of‑3, 3‑of‑5.
- n‑of‑n — частный случай, требующий подписей всех участников (например, 2‑of‑2). Обеспечивает максимальную защиту, но при выходе из строя одного участника средства становятся недоступны.
- Пороговые подписи с восстановлением — более сложные схемы, позволяющие восстановить доступ при утере ключа, например, через использование секретных долей (Shamir’s Secret Sharing).
Применение
Криптовалютные кошельки
Мультиподпись используется для создания мультиподписных кошельков, которые повышают безопасность хранения цифровых активов. Например, в схеме «2 из 3» один ключ может храниться у владельца, второй — на сервере провайдера, третий — в резервном хранилище. Это снижает риск кражи при компрометации одного ключа. Такие кошельки популярны среди бирж, хедж-фондов и индивидуальных пользователей, управляющих крупными суммами.
Корпоративное управление
В компаниях и организациях мультиподпись применяется для контроля над финансовыми операциями. Например, в партнёрских структурах, где для перевода средств требуется согласие нескольких директоров, или в благотворительных фондах, где необходимо подтверждение от нескольких членов правления. Это предотвращает несанкционированные траты и мошенничество.
Децентрализованные автономные организации (DAO)
В DAO мультиподпись является основой для принятия решений. Члены организации голосуют за предложения, и для их выполнения требуется определённое количество подписей от избранных участников (например, от мультиподписного кошелька казначейства). Примером служит DAO на платформе Ethereum, где для вывода средств из казны необходимо собрать подписи от нескольких ключевых участников.
Управление доступом к данным
Мультиподпись может применяться не только в финансовых транзакциях, но и для защиты доступа к конфиденциальным данным, таким как пароли, ключи шифрования или контракты. В системах управления секретами (например, HashiCorp Vault) используется пороговая схема для разблокировки доступа.
Преимущества и недостатки
Преимущества
- Повышенная безопасность: даже при компрометации одного или нескольких ключей (до m‑1) средства остаются защищёнными.
- Разделение ответственности: ни один участник не может действовать в одиночку, что снижает риск злоупотреблений.
- Гибкость: возможность настройки порога (m) под конкретные задачи — от простого дублирования до сложных схем управления.
- Устойчивость к ошибкам: при выходе из строя одного участника (например, утере ключа) средства не теряются, если остаётся достаточное количество подписей.
Недостатки
- Сложность реализации: мультиподпись требует более сложной инфраструктуры, включая управление несколькими ключами и координацию между участниками.
- Зависимость от участников: если все участники, кроме одного, становятся недоступны, средства могут быть заблокированы (если порог m не достигнут).
- Повышенные комиссии: в блокчейн-сетях транзакции с мультиподписью обычно занимают больше места в блоке, что увеличивает комиссию за перевод.
- Риск социальной инженерии: злоумышленники могут попытаться получить доступ к ключам через каждого из участников по отдельности.
Примеры реализации
Биткоин
В биткоине мультиподпись реализуется через адреса P2SH. Например, для создания кошелька с порогом «2 из 3» создаётся скрипт, который проверяет, что две из трёх подписей соответствуют трём открытым ключам. Такой адрес начинается с префикса «3». Многие биткоин-кошельки, такие как Electrum, поддерживают создание мультиподписных кошельков.
Ethereum
В Ethereum мультиподпись обычно реализуется через смарт-контракты, например, стандарт ERC-20 для токенов или специализированные контракты типа Gnosis Safe. Gnosis Safe — это популярный мультиподписной кошелёк, который позволяет настраивать пороги, добавлять и удалять владельцев, а также выполнять сложные действия, такие как вызовы других контрактов.
Другие блокчейны
Мультиподпись поддерживается в Litecoin, Dogecoin, Ripple, Stellar и многих других блокчейнах. В Ripple, например, для управления счётом можно настроить список подписантов и порог подписей, что используется для корпоративных счетов.
Критика и ограничения
Критики мультиподписи указывают на её сложность для массового пользователя. Необходимость хранить несколько ключей и координировать действия с другими участниками может быть обременительной. Кроме того, при неправильной настройке порога (например, m = n) система становится уязвимой к блокировке при утере одного ключа. В некоторых случаях мультиподпись может быть менее безопасной, чем аппаратные кошельки с однофакторной аутентификацией, если участники используют слабые методы хранения ключей.
См. также
- Цифровая подпись
- Криптовалютный кошелёк
- Смарт-контракт
- Пороговая криптография
Источники
- Nakamoto S. Bitcoin: A Peer-to-Peer Electronic Cash System, 2008.
- Antonopoulos A. M. Mastering Bitcoin: Unlocking Digital Cryptocurrencies, 2nd Edition, 2017.
- Wood G. Ethereum: A Secure Decentralised Generalised Transaction Ledger, 2014.
- Документация Gnosis Safe (Gnosis Safe, 2023).
- Стандарт BIP-16 (Pay-to-Script-Hash), Bitcoin Improvement Proposals, 2012.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →