Что такое мультиподпись?
Мультиподпись (англ. – 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: децентрализованная ячейка холодного хранения – один из ключей хранится у пользователя в сейфе дома, второй – в банковской ячейке, а копию третьего ключа хранят близкий друг пользователя и его родственник в своем офисе. Домашняя ячейка защищена от грабителей, поскольку расходование средств требует визита к другу, в банк или в офис.
2-из-2: смарт-контракты – TumbleBit, Coinswap, Lightning Network.
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 и меньше энного числа; при этом, суммы транзакций не раскрываются. Таким образом, внешние наблюдатели не в состоянии видеть транзакцию, но благодаря криптографической верификации могут быть уверены, что транзакция действительна.
Источник: forklog.com