В этой статье рассматриваются характеристики пороговой подписи и ее применение в области блокчейна.
Написано: Cobo Cryptography Team
Эта лекция будет разделена на четыре части, чтобы представить концепцию и применение пороговой подписи: первая часть знакомит с концепцией и классификацией цифровой подписи, а также объясняет состав ее основного алгоритма и прикладные функции; вторая часть посвящена риску отказа в одной точке. цифровой подписи Ввести понятие пороговой подписи и представить ее технические преимущества и характеристики; третья часть сравнивает пороговую подпись и мультиподпись и излагает преимущества пороговой подписи с точки зрения гибкости, анонимности и масштабируемости, поэтому она может стать сегодняшним паролем Наконец, он представляет типичное применение пороговой подписи в области блокчейна, показывая, как она может расширять возможности различных сценариев приложений и генерировать основную ценность.
В раннем обществе для подписания контрактов, документов, договоров и т. д. обычно использовались собственноручные подписи и печати, но после появления компьютерных сетей вопрос о том, как подписывать электронные документы и электронные документы, стал насущной проблемой, требующей решения, и сильное Требования к приложениям также породили решение проблемы — цифровые подписи.
Цифровая подпись – это новый вид способа подписи сообщений, отличный от традиционных собственноручных подписей и передаваемый или хранимый в электронном виде, это не «оцифровка собственноручных подписей». На академическом уровне ** цифровая подпись относится к схеме алгоритма, которая может проверить целостность данных для получателя и подтвердить личность отправителя данных, а также позволить третьей стороне определить подлинность подписи и подписанного документа. данные. **
Абстрагируя и формализуя принцип работы цифровых подписей, можно получить пятикратное представление цифровых подписей, а именно (M, K, S, SIG, VER):
Цифровые подписи можно классифицировать по разным параметрам, таким как математические задачи, количество подписавших пользователей, возможность восстановления цифровой подписи, видимость подписавшего в сообщении, поддерживает ли подпись делегирование и т. д. См. рисунок ниже. подробности.
В настоящее время распространенные цифровые подписи включают цифровую подпись Шамира в рюкзаке, цифровую подпись Рабина, цифровую подпись ГОСТ, цифровую подпись Эль-Гамаля, цифровую подпись Шнорра, цифровую подпись RSA, цифровую подпись ECDSA, цифровую подпись BLS и т. д.
Ахиллес — герой гомеровского эпоса, непобедимый и бесстрашный на поле боя, но у такого могучего воина есть и ахиллесова пята — лодыжка, и его окончательная смерть тоже связана со стрелой в лодыжке. Тот же принцип применим и к цифровым подписям.Как мощный криптографический инструмент, он может предотвратить подделку и неотказуемость, но все это основано на безопасности закрытого ключа подписи.После утечки закрытого ключа злоумышленник Злонамеренные действия, такие как подделка личных данных и несанкционированный доступ, будут легко завершены. **
В традиционной схеме цифровой подписи закрытый ключ подписи хранится у одного субъекта, который обычно хранится в зашифрованном хранилище или аппаратной защите (защита USB), но при использовании по-прежнему существуют большие риски.
Пороговая подпись — это решение проблемы безопасности, связанной с централизованным управлением закрытым ключом цифровой подписи. Основная идея заключается в том, что закрытый ключ больше не хранится в одном узле, а разделяется на несколько фрагментов и хранится несколькими узлами, чтобы обеспечить высокую безопасность и доступность закрытого ключа. В частности, пороговая подпись является результатом «пороговой обработки» обычных цифровых подписей, которая распределяет мощность подписи по группе узлов и требует только сотрудничества узлов, превышающих пороговое значение, для завершения генерации подписей. Следовательно, можно считать, что процесс подписи обычного алгоритма цифровой подписи является «централизованным», а процесс подписи порогового алгоритма подписи «распределенным».
Подпись, сгенерированная пороговым алгоритмом подписи, непротиворечива и неотличима от обычного алгоритма подписи, а процесс проверки подписи для них одинаков. Поэтому для алгоритма пороговой подписи основное внимание уделяется процессу генерации ключей KeyGen и процессу подписи TSig. Алгоритм пороговой подписи (t,n) включает следующие два процесса:
Помимо пороговых сигнатур, еще одним способом предотвращения одноточечного отказа является мультисигнатура (Multi-signature). Проще говоря, при мультиподписном механизме больше не один открытый ключ для подписи, а несколько открытых ключей, и только когда количество подписей, превышающее порог, будет собрано, подпись будет успешной. Несмотря на то, что мультиподпись может в определенном смысле достичь той же прикладной ценности, что и пороговая подпись, пороговая подпись по-прежнему имеет преимущества в трех аспектах: гибкость, анонимность и масштабируемость. Ниже будут объяснены эти три преимущества с точки зрения блокчейна:
Гибкость
В многостороннем процессе управления учетной записью гибкость мультиподписи значительно ниже, чем у пороговой подписи, что отражается в двух аспектах: во-первых, при механизме мультиподписи открытый ключ подписавшего и др. Информация совместно определяет адрес учетной записи.После того, как логика управления учетной записью Если произойдет изменение (например, добавление или уменьшение подписавших), адрес учетной записи изменится, и средства должны быть переведены со старого адреса учетной записи на новый адрес учетной записи. , что менее гибко; во-вторых, в Биткойне количество открытых ключей с мультиподписью Существует требование к верхнему пределу, поэтому сценарии управления многосторонними учетными записями, превышающие верхний предел, не могут использовать мультиподпись.
В рамках механизма пороговой подписи изменение личности подписывающего лица будет отражено в перераспределении и генерации (Reshare) доли закрытого ключа учетной записи, а адрес учетной записи не изменится; в то же время n и t в сигнатуре порога можно установить произвольно.Есть любые ограничения, и могут поддерживаться любые требования сцены.
Анонимность
Ключевой особенностью блокчейна является анонимность, то есть нет однозначного соответствия между адресом учетной записи в цепочке и реальной личностью. Однако использование мультиподписи приведет к резкому снижению анонимности пользователя, что отражается в двух аспектах: во-первых, хотя адрес учетной записи в цепочке не может соответствовать реальной личности один к одному, связанные с ним транзакции публично видимый, в то время как мультиподпись В соответствии с механизмом открытый ключ каждого подписывающего лица раскрывается, поэтому разные учетные записи будут связаны через общедоступного подписывающего лица, что приведет к нарушению конфиденциальности и анонимности учетной записи; во-вторых, раскрытие мультиподписи набор открытых ключей и количество подписей, прикрепленных к полной транзакции, могут эффективно вывести логику управления учетной записью и даже связать поведение учетной записи с реальным бизнесом, снижая анонимность.
В соответствии с механизмом пороговой подписи окончательная сгенерированная транзакция непротиворечива и неотличима от структуры данных обычной транзакции, а процесс подписи завершается вне цепочки, что не приводит к какому-либо риску анонимности.
Масштабируемость
В соответствии с механизмом мультиподписи цифровые подписи всех подписантов должны быть прикреплены к окончательной транзакции блокчейна, поэтому размер транзакции и количество подписантов имеют линейную зависимость роста. Следовательно, чем сложнее логика управления (например, увеличение числа подписывающих), тем больше объем данных конечной транзакции. Эта функция приводит к двум последствиям: во-первых, комиссия за транзакцию в блокчейне связана с размером транзакции, поэтому использование нескольких подписей приведет к более высокой комиссии за транзакцию и увеличению стоимости ее использования, что не подходит для некоторых высокочастотных бизнес-сценариев. ; Во-вторых, увеличение пространства для транзакций также повысит операционную нагрузку на весь блокчейн, что косвенно снизит операционную эффективность системы.
Пороговая подпись вообще не имеет этой проблемы, потому что ее окончательный вывод согласуется с обычными цифровыми подписями, но в процессе подписи каждый узел должен выполнять соответствующую связь и расчеты.
В частности, при пороговом механизме подписи структура данных транзакции по-прежнему содержит только одну подпись, которая ничем не отличается от обычных транзакций, поэтому комиссия за транзакцию ниже и не добавит дополнительной нагрузки на систему блокчейн.
В последние годы зашифрованная цифровая валюта, представленная биткойнами, быстро развивалась и постепенно вошла в жизнь обычных людей в качестве нового платежного средства. В отличие от традиционных платежных систем, системы шифрованной цифровой валюты не имеют централизованной операционной организации, а все платежные операции завершаются путем отправки транзакций с цифровыми подписями со счетов. Таким образом, безопасность учетной записи криптовалюты эквивалентна безопасности закрытого ключа подписи, а утечка закрытого ключа напрямую приведет к краже активов в учетной записи. Однако безопасность зашифрованных учетных записей пользователей в цифровой валюте сталкивается с огромной угрозой: хакеры рассылают электронные письма с троянскими конями для управления компьютерами пользователей, крадут закрытые ключи учетных записей, а затем отправляют транзакции для передачи содержащихся в них криптовалют на биржи для продажи с целью получения прибыли. . Поэтому необходимо обеспечить безопасность зашифрованных счетов в цифровой валюте.
Алгоритм пороговой подписи является эффективным средством обеспечения безопасности зашифрованных счетов в цифровой валюте. Закрытый ключ учетной записи пользователя больше не генерируется и не хранится одним узлом, а адрес учетной записи генерируется путем сотрудничества n узлов, и каждый узел хранит фрагмент закрытого ключа учетной записи. При отправке транзакции один из узлов формирует содержимое транзакции и отправляет его другим узлам. Затем все узлы запускают алгоритм пороговой подписи и совместно создают юридическую подпись для транзакции. Наконец, узел передает подписанную транзакцию в сеть блокчейна. Злоумышленнику необходимо успешно атаковать как минимум t узлов, чтобы восстановить закрытый ключ учетной записи. Пользователи могут гибко определять значение общего количества узлов n и порог безопасности t в соответствии с фактическими потребностями. Таким образом, алгоритм пороговой подписи может эффективно повысить безопасность зашифрованных счетов в цифровой валюте.
Кроссчейн-технология может обеспечить свободный поток цифровых активов в разных блокчейнах и разрушить информационные острова между разными блокчейнами. Важной предпосылкой кроссчейн-процесса является «сохранение активов», то есть когда цифровые активы переносятся из одного блокчейна в другой, цифровые активы исходного блокчейна должны быть заблокированы. Чтобы обеспечить децентрализацию, блокировка активов часто выполняется группой узлов, а разблокировка может быть завершена только в том случае, если сотрудничает более определенного количества узлов.
Для блокчейнов, поддерживающих смарт-контракты, таких как Ethereum и EOS, необходимо только написать логику блокировки активов в виде смарт-контракта, и пользователь может перевести активы в этот конкретный контракт, чтобы завершить блокировку. Для блокчейнов, таких как Биткойн, которые не поддерживают смарт-контракты, блокировка активов зависит от создания многосторонней учетной записи для хранения, и пользователь переводит активы в эту учетную запись для завершения блокировки.
Как было показано в третьей части, хотя мультиподписи также могут обеспечить многостороннее хранение учетных записей, преимущества пороговых подписей в гибкости, анонимности и масштабируемости больше подходят для сценариев блокировки активов между цепочками. С точки зрения гибкости значения n и t могут быть установлены произвольно для удовлетворения потребностей различных сценариев; с точки зрения анонимности заблокированная учетная запись, сгенерированная алгоритмом пороговой подписи, точно такая же, как обычная учетная запись с точки зрения структура данных и использование, а также юридические подписи не могут раскрывать участвующие подписи Информация об узле процесса С точки зрения масштабируемости каждая транзакция согласуется с обычными транзакциями и должна иметь только цифровую подпись, что снижает транзакционные издержки.
В протоколах консенсуса, подобных византийскому (BFT), узлы консенсуса должны голосовать за контент, который должен быть согласован, и консенсус достигается, если количество голосов превышает определенный процент (например, две трети). Во время процесса алгоритма «голосование» должно проверять личность избирателя и предотвращать атаки повторного воспроизведения.Принятое решение состоит в том, чтобы поставить цифровую подпись на консенсусный контент, а затем транслировать его. Анализируя весь процесс консенсуса, его основная логика очень согласуется с пороговой подписью, то есть консенсус/подпись успешны, если одобрение узла превышает определенный порог. Поэтому вместо того, чтобы узлам консенсуса было необходимо собрать достаточное количество информации о подписи в сети, лучше построить общий открытый ключ на основе пороговой подписи, и тогда каждый узел консенсуса будет иметь фрагмент закрытого ключа, и распознавание содержание консенсуса заключается в вычислении фрагмента подписи с фрагментом закрытого ключа, участие узлов консенсуса, превышающее пороговое значение, может получить полную цифровую подпись. Этот шаблон проектирования может эффективно уменьшить пространство, занимаемое согласованными результатами.