Что такое Multi Signature и ее общая реализация?
Блокчейн — это общедоступная цифровая книга, которая позволяет создавать децентрализованные и распределенные приложения таким образом, чтобы мошенники не могли взломать систему и внести изменения. В большинстве блокчейнов пользователи идентифицируют себя, создавая подпись для каждой транзакции, используя закрытый ключ, которым они владеют.
Хотя в большинстве случаев достаточно одного закрытого ключа, он становится слабым местом при управлении большими и важными контрактами, используемыми большим сообществом. Единственный владелец закрытого ключа становится единственной точкой отказа и подвержен взлому.
Вот где на помощь приходит вычисление с несколькими подписями. Это криптографический метод, который требует одобрения транзакции группой, а не одним игроком. Multi Signature — это процесс цифровой подписи, который позволяет двум или более пользователям подписывать транзакцию как группу.
В чем потребность в решениях с несколькими подписями?
До того, как решения с несколькими подписями стали популярными, криптовалюты обычно хранились с использованием одного закрытого ключа. Но есть масса проблем, связанных с использованием одного приватного ключа. Назвать несколько -
- Всегда есть риск раскрытия закрытого ключа. И как говорится — «Если вы потеряете свой закрытый ключ, вы потеряете свои монеты».
- Если вы храните какую-либо криптовалюту в портфеле как любая организация, вы должны ДОВЕРЯТЬ человеку, который сгенерировал ключ (возможно, генеральному директору, финансовому директору или любому члену совета директоров) и владеет им. Кроме того, хранение средств с использованием одного закрытого ключа, как и для любой организации, само по себе является БОЛЬШИМ РИСКОМ.
Для дальнейшего упрощения предположим, что семья, состоящая из 4 человек: Алисы, Марии и двух их сыновей Боба и Джека, недавно инвестировала в криптовалюту. Бобу 20 лет, он распутник со странной одержимостью покупкой роскошных вещей. Джек, с другой стороны, скромный и мудрый 24-летний инженер, работающий в Силиконовой долине.
Семья хранит немного биткойнов, но Алиса и Мария постоянно беспокоятся, потому что их монеты хранятся только с использованием одного закрытого ключа, и они опасаются, что их сын Боб может когда-нибудь потратить эти биткойны из-за его распутного характера. Семья может потерять все свои с трудом заработанные деньги. просто из-за того, как они хранят криптовалюты.
Джек умеет решать проблемы, взял дело в свои руки и сказал своим родителям не волноваться, поскольку он придумал решение, заключающееся в реализации метода Multi Signature.
Первоначально Джек написал смарт-контракт, который требует 4 разных закрытых ключа для совершения транзакции в блокчейне. Следовательно, только когда все члены семьи согласятся на совершение транзакции, только тогда средства будут разблокированы. Этот метод довольно популярен и используется многими командами блокчейна Ethereum.
Чтобы подписать транзакцию, каждый член семьи должен использовать свой закрытый ключ, что требует в общей сложности 4 транзакций, чтобы разблокировать средства для одной транзакции. Кроме того, этот подход зависит от содержания смарт-контракта и не может использоваться в общих случаях.
Через несколько месяцев внедрения Multi Signature решения на основе смарт-контрактов Джек решил жениться, и теперь в их семье появился новый член — Эмили.
Эмили — точная копия Джека, но она немного умнее и сообразительнее. Эмили рассказала об ограничениях подхода Джека к хранению криптовалюты, который использовала его семья. Можете ли вы догадаться, каковы ограничения?
- Этот метод трудно расширить. Смарт-контракт, который написал Джек, могли использовать только 4 участника. Но теперь в его семье появился пятый член. Поэтому им приходится снова переписывать и развертывать смарт-контракт. Следовательно, этот метод не может быть обобщен. Одной из наиболее важных особенностей смарт-контрактов является то, что их нельзя редактировать. Вы должны переписать и повторно развернуть весь код.
- Этот метод является дорогостоящим. Так как для расходования средств требуется 4 разные транзакции.
Поэтому Эмили и Джек вместе решили провести мозговой штурм по другому подходу к реализации Multi Signature. Они знают, что находятся на правильном пути Multi Signature для хранения средств, просто их способ реализации неверен. Еще немного чтения на эту тему привело их к одному из известных алгоритмов, впервые предложенному в 1979 году известным израильским криптографом Ади Шамиром.
В Shamir Secret Sharing один единственный закрытый ключ делится на фрагменты, и каждый из этих фрагментов распространяется среди разных людей в группе, так что каждый отдельный фрагмент бесполезен сам по себе, но когда все фрагменты вместе, они восстанавливают исходный частный ключ. ключ.
У этого метода есть еще одно преимущество. Учитывая тот факт, что Алиса и Мария старые, может случиться так, что они потеряют свою долю секретного ключа или кто-то обманом заставит их раскрыть свою долю секретного ключа. В отличие от смарт-контракта, Shamir Secret Sharing не требует наличия всех фрагментов для восстановления ключа. Вместо того, чтобы требовать всех долей для восстановления исходного секрета, схема Шамира требует минимального количества долей. Этот минимум называется порогом.
Предположим, что пороговое значение для Джека и его семьи равно 3, т. е. им требуется 3 или более ключей, чтобы восстановить исходный закрытый ключ и подписать транзакцию. Таким образом, даже если Алиса и Мария потеряют/забудут свои фрагменты, семья сможет выполнить транзакцию, если Джек, Эмили и Боб объединят свою долю.
Порог должен быть достигнут, чтобы восстановить секрет. Если есть что-то меньше порога, секрет не может быть восстановлен, что делает разделение секрета Шамира безопасным от противника — злонамеренного злоумышленника, который имеет неограниченную вычислительную мощность. Вы можете попробовать поиграть с этим онлайн-инструментом, чтобы узнать больше о том, как он работает.
QJ = доля секретного ключа Джека
QA = доля секретного ключа Алисы
QB = доля секретного ключа Боба
QM = доля секретного ключа Марии
Закрытый ключ (Q) может быть восстановлен с помощью комбинации из 3 или более долей.
- Джек, Эмили и Боб могут вместе восстановить ключ.
- Джек, Мария, Боб и Алиса вместе восстанавливают ключ и т. д. и т. д.
- В одиночку Алиса и Боб не могут восстановить ключ.
Нет ничего, что называлось бы бесплатным обедом. Даже у этого метода есть недостаток. Как вы могли заметить, хотя члены семьи и делят ключ на доли, приватный ключ реконструируется во время подписания транзакции и уязвим для взлома. Любой, кто знает окончательный реконструированный ключ, сможет с этого момента использовать его для подписи всех транзакций.
Вы, наверное, уже догадались, что Эмили и Джек хотят, чтобы все было идеально и надежно. Поэтому они снова решили отправиться в путешествие, чтобы найти новый метод Multi Signature. И на этот раз они действительно нашли что-то надежное!
В TSS закрытые ключи генерируются напрямую и распределяются между всеми пользователями, участвующими в схеме. Закрытые ключи в этом методе НИКОГДА не создаются и нигде не хранятся. Схема пороговой подписи не имеет единой точки отказа. Эти схемы имеют операционную структуру, гарантирующую высокий уровень безопасности. Поскольку для того, чтобы сломать систему и подвергнуться нападению, необходимо поставить под угрозу безопасность многих вовлеченных сторон. Закрытый ключ никогда не хранится в одной части. Вместо этого он создается отдельно, а затем распределяется по разным частям, которые никогда не встречаются. Так что в кратчайшие сроки у вас будет весь закрытый ключ в одном месте.
Этот метод похож на Shamir Secret Sharing: он использует пороговое количество акций. Транзакция успешна только тогда, когда определенное количество акций собрано вместе. Однако, в отличие от Shamir Secret Sharing, закрытый ключ никогда не собирается в любой момент времени во время транзакции. Вместо этого каждый узел создает часть подписи, и все узлы обмениваются сообщениями, чтобы собрать окончательный ключ. Это метод, который мы в Sisu (как и Джек и Эмили) используем, и он объясняет, почему TSS имеет решающее значение для безопасности сети.
Защита межсетевого обмена данными
Многие команды блокчейнов сегодня используют термин «мост» для связи между цепями. Наиболее распространенным случаем является создание моста из боковой цепи в основную сеть Ethereum. Большинство этих мостов на самом деле являются закрытыми ключами, которые контролируют учетную запись или смарт-контракт и отвечают за создание выходной транзакции из входной транзакции.
Однако многие из мостов являются держателями одного закрытого ключа (иногда называемого ретранслятором). Эта конструкция уязвима для взлома или злонамеренного поведения владельца ключа. Это одна из причин, по которой в моей документации не указан владелец моста (или ретранслятора).
Sisu решает эту проблему с помощью схемы пороговой подписи, в которой закрытый ключ шлюза смарт-контрактов управляется валидаторами в сети, а не одним игроком. Это делает кроссчейн-транзакции «ненадежными» без какой-либо скрытой схемы. А поскольку сегодня большинство цепочек используют подписи ECDSA или EDDSA, которые поддерживаются Sisu, наша сеть теоретически может быть способна передавать активы между любыми парными цепочками, а не только между Ethereum и биткойнами.
Следите за новостями в нашем последующем блоге, чтобы узнать подробности о реализации Sisu и о другом расширенном анализе криптографии.