Сравнение мультиподписи, схемы Шамира и MPC

Сравнение мультиподписи, схемы Шамира и MPC

Детальный обзор моделей пороговой безопасности для распределенного хранения биткоина.

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

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

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

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

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

Сравнение мультиподписи, схемы Шамира и MPC
Кворум 2 из 3 для мультиподписи, когда для вывода средств требуется порог в две уникальные подписи от двух ключей.

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

Сатоши Накамото заложил основу для мультиподписи, когда биткоин увидел свет, ожидая, что это может стать популярным механизмом защиты средств. Однако только после софтфорка P2SH в 2012 году мультиподпись стала широко используемым инструментом. С тех пор мультиподпись зарекомендовала себя как проверенная модель безопасности для нескольких типов адресов.

Что такое схема Шамира?

Схема разделения секрета Шамира – это алгоритм обмена секретами, разработанный известным криптографом Ади Шамиром в 1979 году. Его можно использовать как еще одно пороговое требования для защиты биткоина. Схема Шамира позволяет пользователям разделить ключ на несколько распределенных «долей», при этом для повторной сборки ключа требуется только определенное количество долей. Этот подход можно использовать для создания кворумов 2 из 3 или 3 из 5, аналогично мультиподписи.

Сравнение мультиподписи, схемы Шамира и MPC
Схема Шамира 2 из 3, при которой любые две доли, представленные цветными фигурами, могут повторно собрать ключ к кошельку с одной подписью.

Однако этот подход по-прежнему приводит к появлению отдельных точек сбоя в определенных случаях в течение жизненного цикла. Одним из примеров является случай, когда ключ изначально разделен на доли. Эта операция обычно выполняется на одном устройстве в одно время и в одном месте. Если злоумышленник скомпрометирует это устройство, процесс генерации ключа или процесс создания долей, он скомпрометирует ключ. Другой пример: пользователю необходимо повторно собрать ключ для подписания транзакции. Необходимо объединить пороговое количество долей, опять же на одном устройстве, в одно время и в одном месте, чем может воспользоваться злоумышленник.

Достаточно простой и широко используемый метод реализации схемы Шамира для хранения криптовалюты – использование резервной копии Шамира, разработанной Satoshi Labs в 2017 году. Ее можно найти в качестве опции в некоторых моделях аппаратных кошельков Trezor.

Что такое MPC?

MPC, или многосторонние вычисления, – это область криптографии, возникшая в 1970-х годах. Цель MPC – позволить нескольким участникам совместно выполнять вычисления, при этом вклад каждого участника в вычисления не раскрывается остальной части группы и, следовательно, может оставаться конфиденциальным. Это позволяет нескольким сторонам сотрудничать в различных сценариях без необходимости доверять друг другу.

Применительно к хранению биткоина MPC предполагает использование распределенных «долей», подобно схеме Шамира. Однако, в отличие от схемы Шамира, доли не отделяются от закрытого ключа и не используются для восстановления закрытого ключа. Вместо этого несколько сторон вычисляют единую подпись непосредственно на основе порогового значения своих долей.

Сравнение мультиподписи, схемы Шамира и MPC
Схема MPC «2 из 3», при которой любые две доли, представленные цветными фигурами, могут создавать подпись напрямую, без предварительной сборки ключа.

В отличие от схемы Шамира, MPC не подразумевает возникновения единой точки отказа. Доли MPC могут генерироваться отдельно друг от друга, и их никогда не нужно объединять для работы кошелька. Информация, полученная из доли, может быть передана другим участникам без раскрытия самой доли.

Поскольку биткоин и другие криптовалюты в основном используют систему подписи, основанную на ECDSA (алгоритме цифровой подписи на основе эллиптических кривых), MPC пришлось адаптировать для этого контекста. Первые практические пороговые протоколы для ECDSA были опубликованы в 2018 году. [GG18, LNR18]

Каковы недостатки пороговых моделей?

Сравнивая три пороговые модели безопасности, необходимо исследовать сильные и слабые стороны каждого варианта.

Минусы мультиподписи

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

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

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

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

Недостатки схемы Шамира

Схема Шамира предлагает другой способ разработки пороговых требований, основанный на относительно простой и проверенной криптографии. Для целей хранения криптовалюты схема Шамира также имеет широко распространенный метод с низким барьером входа (резервное копирование Шамира). Если у вас есть опыт использования обычного кошелька с единой подписью, это не составит большого труда использовать Trezor для настройки кошелька с резервной копией Шамира.

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

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

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

Недостатки MPC

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

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

Однако MPC для порогового ECDSA считается очень сложной криптографией, и не существует согласованного стандарта для его использования. Существует множество различных протоколов, первые два из которых были независимо разработаны в 2018 году Дженнаро и Голдфедером [GG18] и Линделлом и др. [LNR18]. Хотя новые протоколы вносят определенные улучшения по сравнению со старыми, у них, пожалуй, есть меньше возможностей для рецензирования, аудита и других испытаний.

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

Примеры уязвимостей:

AS20, сентябрь 2020 г., влияет на реализации GG18

Alpha-Rays, декабрь 2021 г., влияет на GG18 и GG20

TSSHOCK, август 2023 г., влияет на GG18, GG20 и CGG+21.

BitForge, август 2023 г., влияет на GG18 и GG20

«Криптография должна пройти испытание временем, чтобы достичь долговечности, и эти новые протоколы явно не выдержали испытание временем [...] это исследование не было готово к внедрению или широкому распространению. С моей точки зрения, внедрение и производство таких исследований весьма опасно». – Технический директор Ledger Шарль Гийме касаемо Alpha-Rays, декабрь 2021 г.

«[MPC] сложнее, возможно больше ошибок. Расширенные криптопротоколы уязвимы в деталях и реализации. Я более уверенно отношусь к мультиподписи, которая очень проста и надежна». – пост известного криптографа Адама Бэка, январь 2023 г.

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

Какая модель лучше?

Как видите, существует множество недостатков в использовании мультиподписи, схемы Шамира и MPC. Их можно изобразить в виде диаграммы для наглядного сравнения:

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

Если компания специализируется на хранении множества различных криптовалют, у нее может быть мотивация нанять команду профессионалов для тщательной настройки модели хранения MPC. Однако, если компания или частное лицо выбирают простой и надежный способ защитить биткоин в долгосрочной перспективе, они могут отдать предпочтение использованию мультиподписи и принять недостатки в отношении конфиденциальности. Схема Шамира редко используется сама по себе из-за ее неспособности постоянно обеспечивать соблюдение пороговых требований для распределенного хранения.

Объединение моделей для совместного хранения

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

Сравнение мультиподписи, схемы Шамира и MPC
Структура мультиподписи «2 из 3».

Хотя такое сочетание методов может показаться ненужным и трудоемким, в некоторых случаях оно действительно имеет практический смысл. С ростом популярности храненителей ключей и распределенного хранения растет число специализированных компаний, которым частные лица и учреждения поручают защитить один из ключей к кошельку с мультиподписью. Эти распределенные хранители могут помочь снизить риски. Но как они должны защищать тот единственный ключ, за который они несут ответственность?

Схема Шамира или MPC – это возможная стратегия для минимизации или устранения отдельных точки отказа в этом случае. При общем хранении можно спроектировать систему, в которой несколько сотрудников внутри компании владеют долями ключа, и, следовательно, подпись может быть создана только по согласованию с пороговым числом этих сотрудников. Кроме того, если атака произойдет во время повторной сборки согласно схеме Шамира или реализация MPC окажется подверженной новой уязвимости извлечения ключей, подобной перечисленным ранее, то средства клиента не подвергнутся немедленному риску. У хранителя будет время отреагировать и решить проблему, в то время как биткоин останется защищенным с помощью более широкого кошелька с мультиподписью.

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

Новые возможности благодаря Taproot

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

  • Подписи Шнорра: Алгоритм подписи Шнорра теперь доступен в Биткоине в качестве альтернативы ECDSA. Использование MPC поверх Шнорра приводит к созданию пороговых схем безопасности, которые гораздо менее сложны и, следовательно, обеспечивают более высокую уверенность в их безопасности по сравнению с упомянутыми ранее протоколами ECDSA. FROST – это ведущий протокол пороговой подписи Шнорра, а MuSig2 доступен специально для кворумов N-из-N. Обе эти схемы подписи могут стать стандартизированными инструментами в Биткоин-индустрии, и ожидается, что они сделают MPC доступным для обычных людей, а пользовательский интерфейс будет аналогичным мультиподписи.
  • Конфиденциальность на основе типа скрипта: адреса Pay-to-Taproot (P2TR) – это новый тип адреса, который позволяет биткоин-адресам с мультиподписью выглядеть идентичными адресам, используемым для кошельков с единой подписью. Это обеспечивает значительное улучшение конфиденциальности, поскольку означает, что сам биткоин-адрес не дает никаких подсказок о модели безопасности его владельца, например о том, может ли он использовать мультиподпись.
  • Несколько путей расходования: адреса P2TR также могут содержать несколько встроенных в них путей расходования. Это может создать новые способы структурирования пороговой безопасности для распределенного хранения, как описано в BIP 342 (обоснование, раздел 5). Например, пользователь может создать сценарий расходования с мультиподписью N-из-N для каждой комбинации ключей, которые могут тратить средства. Вместо того, чтобы создавать кворум 2 из 3 с ключами A, B и C, аналогичный результат может быть достигнут с тремя отдельными кворумами 2 из 2 в качестве возможных путей расходов – один с ключами A и B, другой с ключами A и C и третий с ключами B и C. Эта стратегия может повысить конфиденциальность, поскольку будет раскрыт только тот путь расходования, который в конечном итоге используется. Аналогичная концепция может быть применена к кворумам MPC, что позволяет использовать MuSig2 для определения порогов.

Эти инструменты Taproot относительно новы, и их внедрение все еще находится на ранних стадиях. Многие Биткоин-программы и сервисы пока не обеспечивают полную поддержку того, что может предложить Taproot. Также стоит отметить, что большинство альткоинов изначально не имеют этих инструментов.

Заключение

Все большее число учреждений проявляет интерес к обеспечению безопасности биткоин-активов и требует эффективных решений. Первостепенными задачами являются предотвращение единых точек отказа и минимизация риска контрагента. Лучший способ удовлетворить этим критериям – использовать структуру с несколькими подписями, в которой ключи могут быть распределены между различными хранителями, ни один из которых не будет иметь одностороннего контроля над биткоином. Каждый хранитель ключей может использовать схему Шамира или MPC, чтобы добавить дополнительную пороговую защиту для конкретного ключа.

Биткоин как уровень нотариального заверения политических соглашений Биткоин как уровень нотариального заверения политических соглашений Оценка потенциальной роли Биткоина в геополитике и международной дипломатии в гипербиткоинизированном мире. Микеле Уберти 14 июля 2024
Биткоин-узел для каждого Биткоин-узел для каждого Почему самостоятельная обработка вашего биткоина вместо делегирования этой третьей стороне имеет решающее значение для безопасности самой системы Биткоина. Оуэн Кемейс 13 июля 2024
Новая политика раскрытия уязвимостей в Bitcoin Core Новая политика раскрытия уязвимостей в Bitcoin Core Разработчики программного обеспечения Биткоина работают над улучшением взаимодействия по вопросам безопасности. Bitcoin Magazine 10 июля 2024