Что такое мультиподпись?

Технологии Блокчейн

Для чего используется Multisignature

Цели усложнения подписи операции — разделение ответственности или повышение безопасности.

Разделение ответственности подразумевает, что несколько человек должны коллегиально принять решение о переводе средств. И их решение фиксируется с помощью применения персональной цифровой подписи. Примером может служить ситуация, когда компания имеет двух и более владельцев. Чтобы потратить значительную сумму они должны прийти к согласию, при этом они могут находиться в разных точках земного шара.

Безопасность с помощью мультисиг достигается за счет того, что ключи, необходимые для подписи, хранятся на разных устройствах. Например, один на компьютере, а другой — на смартфоне. Для того чтобы завладеть средствами, злоумышленник должен получить доступ не только к компьютеру, который связан с криптовалютным кошельком, но и к другим устройствам или местам хранения. В них находятся другие приватные ключи.

Еще один вариант использования мультиподписи — это безопасность торговых сделок. В случае, когда продавец не доверяет покупателю (и наоборот), сделка происходит на условиях, когда оба участника операции должны подтвердить то, что она состоялась. Обычно для этого используют депозитный счет. Он может принадлежать третьему лицу, выполняющему роль арбитра, или обоим участникам сделки.

Принципы, на которых используется депозит имеют существенные различия. На эскроу счет может вноситься сумма платы за товар или залог (дополнительные средства). Если в процессе участвует арбитр, то он может перенаправить оплату продавцу после подтверждения покупателем получения товара. Или вернуть сумму покупателю, если товар не пришел. Есть различные нюансы организации такой тройственной сделки. Они заключаются в правах арбитра и его обязанностях.

В случае когда стороны не привлекают третью сторону, процесс может быть организован созданием общего счета с необходимостью подписать каждую операцию всеми владельцами счета. На этот счет каждая сторона отправляет залог (желательно превышающий стоимость сделки). После успешного завершения сделки залоги возвращаются. Если сделка сорвана, то залоги теряются.

Способы реализации

В блокчейне биткоина мультисиг можно организовать, используя встроенные команды. Вот как выглядит создание мультиподписи в Bitcoin Qt.

Для обычного пользователя использование командной строки не подходит. Поэтому взаимодействие с блокчейном осуществляется через криптовалютный кошелек. Это специальное приложение, позволяющее использовать графический интерфейс для получения и отправки платежей, просмотра и управления своим балансом.

Многие современные кошельки имеют встроенную функцию мультиподписи. Существуют различные способы ее использования. Наиболее распространены 2 варианта: m из n и n из n.

Первый способ означает, что для отправки платежа могут использоваться не все привязанные приватные ключи, а только часть из них. Очень распространен вариант 2 из 3. В этом случае, чтобы совершить транзакцию необходимо как минимум две цифровые подписи владельцев счета. Одной будет недостаточно. Чисто теоретически можно задать любое соотношение m к n. Этот вариант чаще всего применяется при распределении ответственности.

Для повышения безопасности больше используется способ n из n. Например, 2 подписи из 2 дают серьезные гарантии того, что средства не будут украдены. В зависимости от условий работы можно увеличить число n.

Если рассматривать реализацию на уровне алгоритмов, то самые популярные блокчейны — Биткоин и Эфир — различаются по своему подходу.

У Биткоина есть встроенное условие мультисиг P2SH. Эфир для этих целей использует дополнительные адреса с одной подписью, которые контролируются смарт — контрактами. Это усложняет процесс, но обеспечивает большую гибкость для разработчиков.

Лучшие кошельки с мультиподписью

Приведём несколько примеров кошельков для различных криптовалют с поддержкой функции мультиподписи.

1. Криптокошелёк Bitcoin Core

Поддерживает только биткоин. Является эталоном хранения данной криптовалюты. У приложения открыт исходный код, постепенно приложение развивается благодаря рекомендациям пользователей через алгоритм голосования.

По сути, приложение не является кошельком – оно децентрализовано и контролирует сети Биткоин, а пользователь связывается с ним через свой кошелёк получая, в том числе функционал мультиподписи для отправки транзакции в сеть криптовалюты.

2. Криптокошелёк Electrum

Разработан в 2011 году и является одним из надёжных хранилищь для Биткоин. Поскольку кошелёк программный, он находится на среднем уровне безопасности, но благодаря функционалу мультиподписи серьёзно превосходит этот уровень.

Также приложение защищается паролем, затрудняя атаку хакеров. Однако, он не требует загрузки всего блокчейна и совершать транзакции можно сразу после его подключения. Ключи не передаются на сервер компании, кошелёк анонимен.

3. Криптокошелёк Gnosis Safe

Поддерживает любые криптовалюты блокчейна Ethereum, включая возможность передачи NFT. Является смарт-контрактным решением ориентированным на мультиподпись.

Решение очень востребовано компаниями блокчейн-индустрии, позволяя получить максимальный уровень безопасности хранения криптовалюты.

4. Криптокошелёк BitPay

Работает с большинством популярных криптовалют, среди которых стейблкоин, BTC и ETH, а также множество других. Ориентирован на работу с портативными устройствами, предоставляя также возможность купли-продажи криптовалюты. Разделить авторизацию платежа можно среди 12 устройств доверенных пользователей.

Так как приложение является некастодиальным кошельком, доступ к ключам и активам имеет только владелец приватного ключа, полностью контролируя свою криптовалюту. Владельцы приложения не имеют доступа к средствам пользователя и копиям ключей безопасности.

5. Криптокошелёк BitGo

Работает более чем с 400 криптовалютами являясь кастодиальным решением. Клиент не имеет полного доступа к ключам, а транзакции контролируются владельцами приложения. Однако, благодаря мультиподписи можно защитить отправку своей транзакции и инициацию операций.

Принцип работы и разновидности

Любой кошелек для перемещения средств требует, чтобы отправитель «подписал» транзакцию. Этот процесс осуществляется с помощью закрытого (приватного) ключа. Multisig-кошельки требуют, чтобы платеж подписало сразу несколько пользователей.

Пример, как функционирует система:

  • Алиса хочет отправить средства.
  • Когда она пытается это сделать, кошелек создает предложение транзакции, которое подписывается только Алисой. Но для отправки требуется, чтобы ее подписали Алиса и Боб.
  • Пока Боб не одобрит транзакцию, средства остаются в кошельке.
  • Как только Боб одобряет предложение, его кошелек подписывает транзакцию.
  • Транзакция транслируется в сеть, и средства отправляются по назначению.

Срок действия предложения о транзакции неограничен. Также нет какой-либо иерархии пользователей. Это означает, что любой пользователь имеет право создать предложение, чтобы другие его одобрили.

Мультисигнатурные кошельки можно классифицировать по количеству существующих закрытых ключей и количеству подписей, необходимых для авторизации транзакции. Вот три широко распространенных варианта (на самом деле их десятки):

  • 2-2. Кошельки, защищенные функцией двухфакторной аутентификации. Закрытые ключи хранятся на двух отдельных устройствах, к примеру, на компьютере и телефоне. Для отправки транзакции требуется авторизовать ее с обоих устройств.
  • 2-3. Требует 2 из 3 существующих закрытых ключей для авторизации транзакций. Способ часто применяется криптобиржами для защиты горячих кошельков. Один закрытый ключ хранится в интернете, второй в автономном («холодном») режиме, третий – под контролем отдельной кастодиальной компании.
  • 1-2. Чтобы поделиться использованием средств в одном кошельке с доверенным лицом, можно настроить его так, чтобы любой из двух ключей мог создавать подпись.

Примеров применения мультиподписи очень много. К примеру, 1-2 – хороший вариант для семьи из мужа и жены, подписи любого из супругов достаточно, чтобы потратить средства. По схеме 2-3 – можно сделать сберегательный счет родителей для ребенка. Ребенок может потратить деньги с одобрения любого из родителей. Вообще, 2-3 наиболее популярный вариант с массой способов применения где угодно – торговля, совет директоров, горячий кошелек для бизнеса и т.д.

Криптовалютные кошельки с использованием мультиподписи

Большое количество современных криптокошельков предоставляет функцию мультисиг. У разных производителей она реализуется по-разному. Кто-то предоставляет хранить приватные ключи непосредственно пользователю. Какие-то программы хранят один экземпляр у себя, но без права отправлять деньги, а только с правами восстановления резервной копии. Где-то можно хранить приватный ключ на сервере кошелька, но он зашифрован паролем, который знает пользователь и не знает ресурс.

Используются разные варианты и разные функционалы. Однако, всегда находятся задачи, которые нельзя решить стандартными способами. Поэтому всегда будут и недовольные существующими технологиями.

Наиболее упоминаемыми криптовалютными кошельками с мультиподписью являются:

  • Armory — пользователи сами контролируют свои приватные ключи, не полагаясь на сервер кошелька или серверы третьих компаний. Позволяет пользователям создавать многоуровневые адреса с помощью функции Lockboxes. Он обеспечивает максимальное соотношение 7 из 7 для подписи транзакций.
  • Electrum — поддерживает интеграцию со сторонними аппаратными кошельками (Ledger, Trezor и Keepkey) для хранения приватных ключей. Предоставляет до 15 из 15 подписей.
  • Copay — пользователи сами отвечают за свои секретные ключи. Не используются скрытые или сторонние серверы. Предоставляет до 2-х из 3-х мульти подписей для подписания транзакций.
  • BitGo — в нем можно хранить свои многоуровневые адреса в аппаратных кошельках Ledger Nano S и Ledger Blue. Он предоставляет до 3-х из 3-х мультиподписей.
  • Coinbase имеет два варианта хранения личных ключей — на своих серверах и у пользователя. Кошелек использует 3-ключевую архитектуру (ключ Coinbase, общий ключ и ключ пользователя). Максимальная схема — 3-х из 3-х.
  • MIST позволяет добавлять и удалять пользователей, имеющих право подписи. Отличается непростым интерфейсом. Больше нацелен на индивидуальную безопасность.
  • Parity поддерживает аппаратные кошельки. Популярный кошелек, разрабатывался как безопасное хранение средств с использованием мульти подписи, но в свете недавней атаки имеются сомнения в его безопасности.

Преимущества и недостатки

Плюсы

  • Дополнительный уровень защиты от хакеров.
  • Достаточно много кошельков, поддерживающих функцию.
  • Нет привязанности к одному устройству. Ключи можно хранить на компьютере, телефоне, аппаратных кошельках.
  • Способ хорошо себя показывает в качестве эскроу-счета.

Минусы

  • Может быть сложно разобраться и настроить для новичков.
  • Есть уязвимости и подводные камни, например, недоступность одного из ключей.

Мнение экспертов

При всех явных преимуществах мультисигнатурных криптокошельков аналитики выделяют также некоторые подводные камни, о которых следует знать.

Первая ловушка возникает еще до того, как вы обзавелись монетами. Предположим, вы установили требование 2-3 (то есть 2 адреса из 3 должны подписать транзакцию). Крайне важно, чтобы резервная копия каждого участника включала расширенные публичные ключи (xpubs) всех других участников. В противном случае потеря одного seed означает, что вы больше не сможете использовать средства.

Некоторые аппаратные кошельки не справляются с выявлением ненадежного компьютера. Чтобы его выявить, требуется проверить около 10 параметров. Проблема в том, что зачастую производители до предела упрощают прошивку кошелька и избегают хранения чего-либо, кроме seed. А значит, у пользователя нет возможности проверить других xpubs участников или выполнить другие важные проверки, что недопустимо. Согласно приведенному выше по ссылке исследованию, меньше всего потенциальных уязвимостей такого рода у устройства Coldcard.

Программные кошельки в целом могут страдать от тех же проблем; они также уязвимы для атак, связанных с неправильным использованием API.


Источники:

Оцените автора
blockchain360.ru
Добавить комментарий