Что такое мультиподпись? Что такое кольцевая подпись?
Что такое мультиподпись?
Мультиподпись (англ. – multisignature или multisig) – это технология подписания транзакций несколькими приватными ключами для повышения уровня безопасности и конфиденциальности в процессе одобрения отправки транзакций.
Мультиподпись является разновидностью пороговой подписи, реализованной как проверка условий, заданных на базовом скриптовом языке криптовалюты.
Как и когда возникла технология мультиподписей?
Хотя технология мультиподписей получила широкое распространение в мире криптовалют, ее фундаментальные принципы существовали задолго до создания биткоина.
На протяжении столетий принцип мультиподписи использовался для защиты безопасности монастырских склепов или крипт, в которых хранились останки святых. Настоятель монастыря раздавал монахам части ключей от гробниц. Ни один монах не мог получить доступ к священным останкам единолично и похитить их.
Технологию мультиподписи впервые имплементировали в биткоин-адреса в 2012 году. Первый кошелек с функцией мультиподписи создали в 2013 году. В настоящее время их больше десятка.
Как работает технология мультиподписей?
Доступ к средствам, хранимым на multisig-кошельке, возможен лишь в том случае, когда одновременно предоставляются две или более подписей.
Простой аналогией служит банковская ячейка или сейф с двумя замками и двумя ключами. Один ключ хранит Мария, другой – Хуан. Они могут открыть ячейку только в том случае, если одновременно предъявят оба ключа. По отдельности они не могут открыть ячейку без одобрения другого.
Таким образом, multisig-кошельки обеспечивают дополнительный уровень безопасности. С помощью этой технологии пользователи могут избежать проблем, часто возникающих в случае кошельков с одним приватным ключом, имеющих единую точку отказа и уязвимых к атакам киберпреступников, которые постоянно разрабатывают новые техники «фишинга».
Поскольку для перемещения средств кошельки с функцией мультиподписи требуют более одной подписи, они также подходят бизнесам и корпорациям, желающим хранить средства в кошельках совместного пользования.
Какие существуют разновидности мультиподписей?
1-из-2: объединенный счет двух бизнес-партнеров – подписи любой из сторон достаточно, чтобы тратить средства.
2-из-2: объединенный накопительный счет двух бизнес-партнеров – для расходования средств требуются обе подписи, что не позволяет одному из владельцев счета тратить средства без одобрения другого.
2-из-2: кошелек с двухфакторной аутентификацией: один хранится в компьютере, другой – в смартфоне. Средства не могут расходоваться без подписи обоих устройств.
3-из-5: адрес для пожертвований с низким уровнем доверия – каждый из пяти доверенных участников проекта хранит приватный ключ. Три человека могут расходовать средства, но переводить пожертвования на адрес проекта может любой. Такая схема уменьшает риск растраты, взлома, заражения вирусами и утраты средств из-за того, что один участник теряет интерес к проекту. В блокчейне отображается то, какой приватный ключ был использован в финальной подписи, что улучшает возможность учета.
2-из-3: покупатель-продавец с не требующим доверия условным счетом (эскроу) – покупатель переводит деньги на 2-из-3 адрес, продавец выступает в качестве третьего арбитра.
Если транзакция проходит успешно, покупатель и продавец оба подписывают транзакцию, возвращая средства продавцу. Если происходит сбой, они могут подписать транзакцию по возвращению средств покупателю.
Если они не могут согласиться, оба обращаются к третьей стороне, которая выступает в качестве арбитра и обеспечивает второй подписью ту сторону, которую считает того заслуживающей. Арбитр не может похитить средства, поскольку имеет лишь один ключ.
2-из-3: совет из трех управляющих хранит средства компании или организации – эти средства нельзя расходовать без согласия любых двух из трех управляющих. Для крупных организаций возможны более крупные мультиподписные транзакции – 3-из-5, 5-из-9 и т. д.
2-из-3: кошелек горячего хранения для бизнесов. Биткоин-биржа хранит один приватный ключ онлайн, другой приватный ключ – в качестве бумажного резерва. Отдельная компания по защите кибербезопасности хранит третий ключ онлайн и подписывает транзакции только после проверки ряда факторов (отсутствие/присутствие в черных и белых списках, непревышение лимита числа выводов за определенный период, двухфакторная аутентификация, соответствие регуляторным нормам и т. д.). Если горячий кошелек биржи или компании взламывается, биткоины невозможно похитить. Если компания по киберзащите прекращает работу, биржа может получить доступ к средствам посредством бумажного резерва.
2-из-3: децентрализованная ячейка холодного хранения – один из ключей хранится у пользователя в сейфе дома, второй – в банковской ячейке, а копию третьего ключа хранят близкий друг пользователя и его родственник в своем офисе. Домашняя ячейка защищена от грабителей, поскольку расходование средств требует визита к другу, в банк или в офис.
1 или 3-из-4: распределенный резерв – первичный пользователь может использовать кошелек по желанию, но если этот владелец утрачивает свои приватные ключи, то их можно восстановить с помощью трех из четырех других доверенных друзей/организаций. Один ключ хранится в банковской ячейке, три другие хранятся у друзей. В случае смерти владельца ячейка со средствами, согласно его завещанию, может быть передана одному из доверенных друзей или кому-то, кто может воспользоваться помощью со стороны доверенных друзей.
Что такое кольцевые подписи?
Кольцевая подпись – разновидность криптографической цифровой подписи, которую может поставить любой член группы пользователей, каждый из которых имеет ключ.
Один из параметров безопасности цифровой подписи состоит в том, что вычислительными средствами невозможно установить, ключ какого члена группы использовался для того, чтобы поставить подпись. Кольцевые подписи аналогичны групповым подписям, но отличаются от них в двух аспектах: невозможно деанонимизировать индивидуальную подпись, а подписантами могут стать, без дополнительной настройки, члены любой группы пользователей.
Название «кольцевая подпись» происходит от кольцеподобной структуры алгоритма генерации подписи.
Кто и когда изобрел кольцевые подписи?
Кольцевые подписи изобрели криптографы Рон Ривест, Ади Шамир и Яэль Тауман Калай и представили эту технологию на международной конференции ASIACRYPT в 2001 году.
Изначальная концепция предусматривала, что кольцевые подписи будут функционировать в качестве способа защиты от утечки секретной информации – в частности, из правительственных офисов. Впоследствии первоначальная модель была оптимизирована.
В 2006 году Эйитиро Фуджисаки и Котаро Судзуки предложили решение под названием Traceable Ring Signatures, позволяющее исправить уязвимость технологии кольцевых подписей (риск манипуляции со стороны злокозненных или безответственных подписантов). Оптимизированная версия этой разновидности кольцевой подписи в настоящее время применяется в монетах CryptoNote и обеспечивает неотслеживаемость отправителя в транзакции P2P, скрывая источник входов в транзакции.
В 2015 году Monero Research Labs выдвинула концепцию кольцевых конфиденциальных транзакций (Ring Confidential Transactions), которую представил и имплементировал разработчик Bitcoin Core Грегори Максвелл. Расширяя возможности анонимизации, присущие изначальной кольцевой подписи, кольцевые конфиденциальные транзакции скрывают не только тождество отправителя, но и суммы транзакций между отправителем и получателем.
Как работают кольцевые подписи?
Кольцевые подписи выводят технологию групповых подписей на новый уровень, обеспечивая пользователю повышенный уровень конфиденциальности. В формате транзакций P2P в криптовалютах криптовалют – например, CryptoNote – кольцевые подписи защищают отправителя, скрывая принимающую сторону транзакции таким образом, что вычислительными средствами невозможно определить, кто является подписантом транзакции.
Кольцевые подписи – более изощренная схема, чем типичные цифровые подписи, такие как ECDSA или подписи Шнорра.
Кольцевые подписи могут требовать множества различных открытых ключей для верификации. «Кольцевой» подпись называется потому, что она состоит из ряда частичных цифровых подписей от разных пользователей. Вместе эти подписи образуют уникальную подпись. Группа подписей известна как кольцо и может быть произвольно выбрана из выходов от других пользователей на блокчейне.
Концептуально, кольцевые подписи аналогичны схеме, в рамках которой несколько сторон подписывают чек из совместного банковского счета, однако средствами криптографии подписант из числа членов группы скрывается.
Структура кольцевой подписи (на примере криптовалюты Monero):
- Алиса хочет послать Бобу 10 токенов Monero, и инициирует транзакцию посредством своего кошелька Monero.
- Цифровая подпись для этой транзакции представляет собой одноразовый ключ, который начинается с выхода, потраченного из ее кошелька.
- Неподписанты кольцевой подписи – это прошлые транзакционные выходы, которые произвольно выбираются из блокчейна и действуют в транзакции в качестве «обманок».
- Все члены цепи являются возможными подписантами транзакции – третья сторона не может, вычислительными средствами, установить реального подписанта.
- Все выходы кольцевой подписи совместно образуют вход транзакции.
- Создательница транзакции, Алиса, доказуемо имеет право потратить сумму транзакции таким образом, что ее тождество невозможно отличить от тождеств других участников кольца.
- Хотя открытый ключ Алисы используется в ее собственной транзакции, он может по желанию использоваться в других транзакциях в сети Monero в качестве маскирующего фактора.
Автоматическое создание уникальных одноразовых ключей позволяет предотвратить соединимость транзакций и возможно благодаря оптимизации ключевого обмена по методу Диффи–Хеллмана.
Что такое ключевое изображение?
Конфиденциальные валюты, такие как Monero, сталкиваются с проблемой двойной траты. Отсутствие решения делает эти сети бесполезными в качестве цифровой валюты, поэтому нашлось решение в виде использования ключевых изображений в сочетании со схемой кольцевых подписей.
Ключевое изображение – это криптографический ключ, получаемый из потраченного выхода, и является частью каждой транзакции кольцевой подписи. Существуют только одно уникальное ключевое изображение для каждого выхода на блокчейне. Список всех использованных ключевых изображений сохраняется на блокчейне.
В силу криптографических особенностей ключевых изображений невозможно провести корреляцию между выходом на блокчейне и его ключевым изображением. Любые новые кольцевые подписи, использующие дубликат ключевого изображения, автоматически отвергаются как попытка двойной траты.
Что такое кольцевые конфиденциальные транзакции (Ring CTs)?
Ring CTs – это улучшенная модификация технологии кольцевых подписей. Если главным назначением кольцевых подписей служит обеспечение конфиденциальности отправителя транзакции, то кольцевые конфиденциальные транзакции разрабатывались преимущественно для того, чтобы повысить конфиденциальность для отправителя и получателя, скрывая сумму транзакции.
В первоначальном формате кольцевой подписи выходы «разбивались» на отдельные кольца, поскольку кольцевые подписи могли содержать только равноценные выходы. Из-за этого третьи стороны могли видеть истинные суммы транзакций. Благодаря использованию Ring CTs транзакции хранятся не в прозрачном блокчейне, таком как блокчейн биткоина, а в «замутненном».
Транзакции, в которых используются Ring CTs, уже не нужно разбивать на части и включать в кольца равноценных выходов – кошелек в криптовалюте, использующей Ring CTs, может произвольно выбирать членов кольца из выхода любой суммы.
Ring CTs также используют схему обязательства, реализуемую посредством доказательства диапазона, которое подтверждает, что сумма, используемая в транзакции, больше 0 и меньше энного числа; при этом, суммы транзакций не раскрываются. Таким образом, внешние наблюдатели не в состоянии видеть транзакцию, но благодаря криптографической верификации могут быть уверены, что транзакция действительна.
Источник
Что такое мультиподпись?
Мультисиг — это сокращение от английского Multisignature, что означает в контексте финтеха — несколько подписей для выполнения операции. Часто вместо слова “подпись” используется слово “ключ”.
В технологии блокчейн для совершения операции, которая потом будет записана в распределенный реестр, стандартно требуется два ключа. Один ключ — это адрес получателя, куда направляются средства. Он является открытым и может передаваться другим людям. Второй ключ (private key) — это цифровая подпись владельца средств. Она содержится тайно и не должна быть известна посторонним.
Такая система характерна не только для биткоина, но и для подавляющего большинства криптовалют и токенов. Чтобы перевести криптовалюту, нужно указать адрес, куда они будут перечислены и подписать транзакцию собственным приватным ключом.
В такой технологии мультисиг — это условия на выполнение транзакции, когда она будет реализована только в случае ее подписания несколькими приватными ключами.
Для чего используется Multisignature
Цели усложнения подписи операции — разделение ответственности или повышение безопасности.
Разделение ответственности подразумевает, что несколько человек должны коллегиально принять решение о переводе средств. И их решение фиксируется с помощью применения персональной цифровой подписи. Примером может служить ситуация, когда компания имеет двух и более владельцев. Чтобы потратить значительную сумму они должны прийти к согласию, при этом они могут находиться в разных точках земного шара.
Безопасность с помощью мультисиг достигается за счет того, что ключи, необходимые для подписи, хранятся на разных устройствах. Например, один на компьютере, а другой — на смартфоне. Для того чтобы завладеть средствами, злоумышленник должен получить доступ не только к компьютеру, который связан с криптовалютным кошельком, но и к другим устройствам или местам хранения, в которых находятся другие приватные ключи.
Еще один вариант использования мультиподписи — это безопасность торговых сделок. В случае, когда продавец не доверяет покупателю (и наоборот), сделка происходит на условиях, когда оба участника операции должны подтвердить то, что она состоялась. Обычно для этого используют депозитный счет. Он может принадлежать третьему лицу, выполняющему роль арбитра, или обоим участникам сделки.
Принципы, на которых используется депозит имеют существенные различия. На эскроу счет может вноситься сумма платы за товар или залог (дополнительные средства). Если в процессе участвует арбитр, то он может перенаправить оплату продавцу после подтверждения покупателем получения товара. Или вернуть сумму покупателю, если товар не пришел. Есть различные нюансы организации такой тройственной сделки. Они заключаются в правах арбитра и его обязанностях.
В случае когда стороны не привлекают третью сторону, процесс может быть организован созданием общего счета с необходимостью подписать каждую операцию всеми владельцами счета. На этот счет каждая сторона отправляет залог (желательно превышающий стоимость сделки). После успешного завершения сделки залоги возвращаются. Если сделка сорвана, то залоги теряются.
Способы реализации
В блокчейне биткоина мультисиг можно организовать, используя встроенные команды. Вот как выглядит создание мультиподписи в Bitcoin Qt.
Для обычного пользователя использование командной строки не подходит. Поэтому взаимодействие с блокчейном осуществляется через криптовалютный кошелек. Это специальное приложение, позволяющее использовать графический интерфейс для получения и отправки платежей, просмотра и управления своим балансом.
Многие современные кошельки имеют встроенную функцию мультиподписи. Существуют различные способы ее использования. Наиболее распространены 2 варианта: m из n и n из n.
Первый способ означает, что для отправки платежа могут использоваться не все привязанные приватные ключи, а только часть из них. Очень распространен вариант 2 из 3. В этом случае, чтобы совершить транзакцию необходимо как минимум две цифровые подписи владельцев счета. Одной будет недостаточно. Чисто теоретически можно задать любое соотношение m к n. Этот вариант чаще всего применяется при распределении ответственности.
Для повышения безопасности больше используется способ n из n. Например, 2 подписи из 2 дают серьезные гарантии того, что средства не будут украдены. В зависимости от условий работы можно увеличить число n.
Если рассматривать реализацию на уровне алгоритмов, то самые популярные блокчейны — Биткоин и Эфир — различаются по своему подходу.
У Биткоина есть встроенное условие мультисиг P2SH. Эфир для этих целей использует дополнительные адреса с одной подписью, которые контролируются смарт—контрактами. Это усложняет процесс, но обеспечивает большую гибкость для разработчиков.
Криптовалютные кошельки с использованием мультиподписи
Большое количество современных криптокошельков предоставляет функцию мультисиг. У разных производителей она реализуется по-разному. Кто-то предоставляет хранить приватные ключи непосредственно пользователю. Какие-то программы хранят один экземпляр у себя, но без права отправлять деньги, а только с правами восстановления резервной копии. Где-то можно хранить приватный ключ на сервере кошелька, но он зашифрован паролем, который знает пользователь и не знает ресурс.
Используются разные варианты и разные функционалы. Однако, всегда находятся задачи, которые нельзя решить стандартными способами. Поэтому всегда будут и недовольные существующими технологиями.
Наиболее упоминаемыми криптовалютными кошельками с мультиподписью являются:
- 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 поддерживает аппаратные кошельки. Популярный кошелек, разрабатывался как безопасное хранение средств с использованием мульти подписи, но в свете недавней атаки имеются сомнения в его безопасности.
Заключение
Основной упор в тексте сделан на биткоин и эфириум, как на блокчейны, задающие основные тренды в развитии финтеха. Используя разный подход, основанный на разных математических алгоритмах, применяемых в этой системе, оба сообщества стремятся не отступать от основ технологии. Использование мультисиг обеспечивает высокий уровень безопасности, прозрачность, надежность и гибкость в распоряжении средствами, принадлежащими более чем одному пользователю.
Источник