Что такое Цифровая подпись и как она работает?

Средний1/19/2024, 6:23:26 PM
Блокчейны используют цифровые подписи как неотъемлемую часть своего децентрализованного процесса верификации, создавая безопасный способ аутентификации процессов без раскрытия личности пользователя.

Введение

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

Однако технология блокчейн популяризировала использование цифровых подписей как неотъемлемой части своего децентрализованного и процесса верификации транзакций. В этой статье тщательно рассматривается, как работает цифровая подпись, различные алгоритмы, используемые блокчейнами, и их применение в пространстве Web3.

Понимание Цифровой подписи

Источник: CoinGeek

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

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

Особенности Цифровой подписи

Основные характеристики цифровой подписи:

  • Аутентификация: Цифровая подпись доказывает, что сообщение было отправлено заявленным отправителем путем проверки сообщения с открытыми ключами отправителя.
  • Неотказуемость: Цифровые подписи используют открытые ключи отправителя для расшифровки подписи, если успешно, отправитель не может отрицать отправку сообщения.
  • Целостность: Возможность проверить хэш-значение/дайджест доказывает, что данные не были изменены в процессе передачи.

Асимметричная криптография

Источник: Викиучебник

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

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

Например, предположим, мы возьмем изображение и зашифруем его ключом; допустим, ключ - 28j932d8kd8. Зашифрованное с помощью этого ключа наше изображение видится как "X5CSycg14=xJ". Однако, расшифровав его с правильным ключом, мы можем вернуть наше изображение.

Ключевые термины, которые вам необходимо понять

Хэширования

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

Источник: CyberHoot

На изображении выше кусок текста (загадка) проходит через хэш-функцию (SHA-256) и преобразуется в хэш (фиксированная длина чисел и букв).

Что такое хеш-функции?

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

Хэш-значение

Финальным результатом хэш-функции является хэш-значение, также известное как дайджест, которое уникально для каждого ввода. Размер хэш-значения варьируется от 32 бит до 256 бит в зависимости от используемой хэш-функции. Хэш-значения требуются только для однократного использования в процессах, таких как аутентификация данных или создание цифровой подписи. Поэтому цифровая подпись уникальна для каждой транзакции.

Как работают Цифровые подписи?

Для выполнения цифровой подписи вам понадобится следующее:

  1. Ключевая пара: Ключевая пара состоит из открытого/закрытого ключа. Закрытый ключ используется для создания подписи, а соответствующий открытый ключ используется для проверки подписи.

  2. Данные для подписи: содержание или сообщение, которое вы хотите подписать. Это может быть документ, транзакция или любые цифровые данные.

  3. Хеш-функция: Хеш-функция применяется к данным для создания хеш-значения фиксированного размера. Это хеш-значение затем шифруется с помощью частного ключа для создания цифровой подписи.

  4. Алгоритм цифровой подписи: Алгоритм, который объединяет закрытый ключ с данными, которые необходимо подписать, обычно включая хеш-функцию. Этот алгоритм генерирует цифровую подпись.

  5. Механизм проверки: Лицо, желающее проверить цифровую подпись, должно иметь доступ к открытому ключу и тому же алгоритму цифровой подписи. Открытый ключ используется для расшифровки цифровой подписи и раскрытия хэш-значения, которое затем сравнивается с хэш-значением, рассчитанным из оригинальных данных.

Как они сочетаются, чтобы заставить это работать?

Источник: CamCert — Отправитель подписывает (шифрует) значение хэша своим закрытым ключом, а получатель проверяет подлинность сообщения, сравнивая значения хэша

Шаг 1: Создайте дайджест/хеш-значение, передав исходные данные через хеш-функцию

Шаг 2: Подпишите дайджест секретным ключом отправителя, чтобы создать шифрование.

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

Шаг 4: После расшифровки пропустите данные через ту же хэш-функцию для генерации эквивалентного дайджеста.

Шаг 5: Подтвердите целостность данных, сравнив новый сгенерированный хэш со значением хэша, полученным наряду с данными. Совпадение подтверждает целостность данных.

Давайте воспользуемся этим иллюстрацией передачи документа между отправителем Марком и получателем Карен.

  1. Подписание и отправка: Марк инициирует процесс, отправляя документ. Документ проходит через хэш-алгоритм, создавая дайджест/хэш-значение. Этот дайджест затем шифруется с помощью частного ключа Марка, завершая цифровую подпись; комбинация документа и его частного ключа.
  2. Получение и проверка: Карен, получатель, использует открытый ключ Марка для расшифровки цифровой подписи, получая исходный дайджест. Независимо Карен применяет тот же алгоритм хеширования к полученному документу, генерируя другой дайджест.
  3. Карен сравнивает два дайджеста: один из расшифрованной подписи и один независимо сгенерированный. Если они совпадают, Карен уверена в целостности документа и подлинности отправителя Марка.

Алгоритмы подписи, используемые в блокчейнах

Выбор алгоритмов Цифровой подписи зависит от таких факторов, как требования безопасности, размер ключа и соображения производительности. У каждого алгоритма есть свои сильные и слабые стороны, и его использование может развиваться в соответствии с достижениями в криптографии и появлением новых вызовов в области безопасности.

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

  1. ECDSA (Elliptic Curve Digital Signature Algorithm): для этого используются более короткие ключи, требуется меньше вычислительных ресурсов и используются ключи криптографии на эллиптических кривых, которые представляют собой конечные группы точек на кривой, где определенные операции легко выполняются в одном направлении, но сложно в обратном направлении. Для обеспечения безопасности ECDSA полагается на проблему дискретного логарифма. Это самый популярный алгоритм подписи, используемый в технологии блокчейн.

  2. EdDSA (алгоритм цифровой подписи Эдвардса-кривой): Это современный и эффективный алгоритм цифровой подписи, основанный на криптографии эллиптических кривых. Он был представлен для решения определенных проблем и улучшения производительности по сравнению с другими схемами подписи, такими как ECDSA. Алгоритм разработан для обеспечения надежной безопасности при относительно небольших размерах ключей, что делает его хорошо подходящим для различных приложений, включая технологию блокчейн, например, Cardano и Solana.

  3. Алгоритм Шнорра: Подпись Шнорра - это тип алгоритма цифровой подписи, который позволяет агрегацию, то есть. несколько подписей к одному и тому же сообщению могут быть объединены в одну подпись. Эта подпись не только более эффективна по использованию пространства, но также облегчает более эффективный процесс верификации.
    Это доказывает свою эффективность в сценариях, связанных с подписанием общего сообщения несколькими сторонами, например, авторизация транзакции с адреса мультиподписи (multisig). В таких случаях каждый участник должен предоставить свой открытый ключ и подпись. Следовательно, если три стороны намерены подписать то же сообщение, доказательство будет включать в себя три открытых ключа и три подписи. Это кажется неэффективным с точки зрения вычислений и хранения, поскольку каждому узлу необходимо выполнить функцию проверки подписи три раза и хранить три различных набора подписей и открытых ключей.
    Алгоритм Шнорра просто производит подпись, которая действительна для суммы их открытых ключей. Агрегирование ключей может снизить комиссионные сборы и улучшить масштабируемость базового уровня, так как подписи, поступающие из мультиподписной транзакции, занимают в блоке столько же места, сколько подписи, поступающие из транзакции одной стороны.

  4. Подпись BLS: Криптографический алгоритм BLS (Boneh-Lynn-Shacham) основан на билинейных парированиях в группах эллиптических кривых. Он был представлен Дэном Бонехом, Беном Линном и Ховавом Шахамом в 2001 году. Основное внимание в криптографии BLS уделяется эффективным и безопасным схемам подписей, поддерживающим уникальные свойства, такие как агрегация. Кроме того, подпись BLS используется в Ethereum 2.0 и Chia.

Блокчейны, их алгоритм хеширования и алгоритм подписи

  1. Биткойн (BTC):
    Хэширование Алгоритм: SHA-256
    Алгоритм цифровой подписи: ECDSA, Schnoor (TapRoot Soft Fork)

  2. Ethereum (ETH):
    Хэширование: Keccak
    Алгоритм цифровой подписи: ECDSA

  3. Litecoin (LTC):
    Хэширующий алгоритм: Scrypt
    Алгоритм цифровой подписи: ECDSA

  4. Ripple (XRP):
    Хэширование алгоритм: SHA-256
    Алгоритм цифровой подписи: ECDSA

  5. Cardano (ADA):
    Хэширование алгоритм: Keccak
    Алгоритм цифровой подписи: EdDSA (алгоритм цифровой подписи на кривых Эдвардса)

  6. Polkadot (DOT):
    Хэширование алгоритм: Blake2
    Цифровая подпись алгоритм: EdDSA

  7. Tezos (XTZ):
    Хэширование алгоритм:Blake2b
    Алгоритм цифровой подписи: EdDSA

  8. Сеть BNB (BNB):
    Хэширование: Keccak (используется для токенов BEP-2)
    Алгоритм цифровой подписи: ECDSA

Как Bitcoin использует Цифровую подпись

Биткоин использует алгоритм цифровой подписи эллиптической кривой (ECDSA) для генерации уникальной подписи для каждой транзакции. Однако с недавними достижениями алгоритм Шнорра был введен через мягкое разделение TapRoot. Этот алгоритм, известный своей эффективностью в терминах эффективности хранения и скорости проверки, может увеличить масштабируемость биткоина до 30% благодаря его функции агрегации транзакций.

)

Источник: TimesofIndia — Только подписанные транзакции могут быть распространены и проверены узлами сети

Основной механизм биткоин-транзакций включает ряд шагов, включая использование цифровой подписи.

Вот обзор:

  1. Отправитель решает совершить транзакцию биткоинов, что может включать отправку биткоинов другому пользователю или нескольким пользователям.
  2. Отправитель создает сообщение о транзакции, содержащее ключевые детали, такие как адрес кошелька получателя, сумма BTC, отправляемая валюта, любые связанные сборы и происхождение биткоина (непотраченные выходы транзакции или UTXO), используемые в качестве входов для транзакции.
  3. Отправитель подписывает сообщение о транзакции своим закрытым ключом с использованием алгоритма цифровой подписи на эллиптических кривых (ECDSA). Эта цифровая подпись предоставляет доказательство того, что транзакция была авторизована законным владельцем отправительного адреса.
  4. Сообщение транзакции хешируется с использованием SHA-256 (Secure Hash Algorithm 256-бит) и затем дополнительно хешируется с использованием RIPEMD-160 (RACE Integrity Primitives Evaluation Message Digest 160-бит). Этот процесс генерирует хеш фиксированной длины, обычно известный как идентификатор транзакции или хеш.
  5. Подписанная транзакция транслируется в сеть биткоина, где она становится видимой для всех узлов (компьютеров, участвующих в сети биткоина). Узлы в сети, включая майнеров, проверяют допустимость транзакции. Эта проверка включает в себя проверку цифровой подписи, чтобы убедиться, что она соответствует открытому ключу отправителя, и что входы (UTXO), используемые в транзакции, неизрасходованы и действительны.
  6. Действительные транзакции собираются майнерами, которые соревнуются в решении сложной математической задачи (доказательство работы). Первый майнер, решивший задачу, добавляет блок, содержащий проверенные транзакции, в блокчейн.
  7. Новый добавленный блок транслируется в сеть, и другие узлы проверяют доказательство работы и допустимость транзакций в блоке. Как только достигнуто соглашение, блок считается подтвержденным, и транзакция постоянно записывается в блокчейн.
  8. Баланс кошелька получателя обновляется для отражения полученных биткойнов, а баланс кошелька отправителя корректируется для учета потраченных UTXO.

Применение Цифровой подписи в Web3

Теперь, когда мы понимаем принципы работы и важность подписей, давайте выделим практические применения цифровых подписей в обеспечении безопасности транзакций, аутентификации личностей и обеспечении целостности данных в экосистеме Web3.

Аутентификация транзакции

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

Исполнение смарт-контрактов

Смарт-контракты созданы для взаимодействия с подписями и могут выполнять транзакции после проверки. Например, на децентрализованной платформе кредитования пользователь инициирует запрос на кредит. Запрос запускает выполнение смарт-контракта. Пользователь подписывает транзакцию своим закрытым ключом, и смарт-контракт проверяет подпись для выполнения кредитного соглашения.

Децентрализованная идентичность и аутентификация

Пользователь входит в децентрализованное приложение (dApp), используя свою идентификацию блокчейна, например, адрес Ethereum. DApp запрашивает подписанное сообщение от пользователя (личный ключ), служащее доказательством владения. Цифровая подпись аутентифицирует личность пользователя.

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

Целостность данных и невозможность отказа от NFT

Художник подписывает цифровой файл собственным закрытым ключом перед отчеканкой его в качестве NFT. Цифровая подпись обеспечивает целостность произведения и художник не может позже отрицать авторство.

Системы голосования

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

Межцепочная совместимость

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

Проблемы и будущие тенденции

Вызов квантовым атакам

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

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

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

Заключение

Цифровые подписи проверяют подлинность и целостность данных на основе принципов асимметричного шифрования и хеширования. Они работают с использованием закрытого ключа отправителя для аутентификации хешированной формы данных, и получателем проверяется с открытым ключом отправителя. Самые часто используемые криптографические алгоритмы блокчейнов - ECDSA, EdDSA, Schnoor и BLS подписи.

Кроме того, использование цифровых подписей в основном применимо для аутентификации транзакций, выполнения смарт-контрактов, голосования за управление, трансферов между цепями и целостности данных NFT.

ผู้เขียน: Paul
นักแปล: Sonia
ผู้ตรวจทาน: Piccolo、Edward、Ashley He
* ข้อมูลนี้ไม่ได้มีวัตถุประสงค์เป็นคำแนะนำทางการเงินหรือคำแนะนำอื่นใดที่ Gate.io เสนอหรือรับรอง
* บทความนี้ไม่สามารถทำซ้ำ ส่งต่อ หรือคัดลอกโดยไม่อ้างอิงถึง Gate.io การฝ่าฝืนเป็นการละเมิดพระราชบัญญัติลิขสิทธิ์และอาจถูกดำเนินการทางกฎหมาย

Что такое Цифровая подпись и как она работает?

Средний1/19/2024, 6:23:26 PM
Блокчейны используют цифровые подписи как неотъемлемую часть своего децентрализованного процесса верификации, создавая безопасный способ аутентификации процессов без раскрытия личности пользователя.

Введение

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

Однако технология блокчейн популяризировала использование цифровых подписей как неотъемлемой части своего децентрализованного и процесса верификации транзакций. В этой статье тщательно рассматривается, как работает цифровая подпись, различные алгоритмы, используемые блокчейнами, и их применение в пространстве Web3.

Понимание Цифровой подписи

Источник: CoinGeek

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

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

Особенности Цифровой подписи

Основные характеристики цифровой подписи:

  • Аутентификация: Цифровая подпись доказывает, что сообщение было отправлено заявленным отправителем путем проверки сообщения с открытыми ключами отправителя.
  • Неотказуемость: Цифровые подписи используют открытые ключи отправителя для расшифровки подписи, если успешно, отправитель не может отрицать отправку сообщения.
  • Целостность: Возможность проверить хэш-значение/дайджест доказывает, что данные не были изменены в процессе передачи.

Асимметричная криптография

Источник: Викиучебник

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

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

Например, предположим, мы возьмем изображение и зашифруем его ключом; допустим, ключ - 28j932d8kd8. Зашифрованное с помощью этого ключа наше изображение видится как "X5CSycg14=xJ". Однако, расшифровав его с правильным ключом, мы можем вернуть наше изображение.

Ключевые термины, которые вам необходимо понять

Хэширования

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

Источник: CyberHoot

На изображении выше кусок текста (загадка) проходит через хэш-функцию (SHA-256) и преобразуется в хэш (фиксированная длина чисел и букв).

Что такое хеш-функции?

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

Хэш-значение

Финальным результатом хэш-функции является хэш-значение, также известное как дайджест, которое уникально для каждого ввода. Размер хэш-значения варьируется от 32 бит до 256 бит в зависимости от используемой хэш-функции. Хэш-значения требуются только для однократного использования в процессах, таких как аутентификация данных или создание цифровой подписи. Поэтому цифровая подпись уникальна для каждой транзакции.

Как работают Цифровые подписи?

Для выполнения цифровой подписи вам понадобится следующее:

  1. Ключевая пара: Ключевая пара состоит из открытого/закрытого ключа. Закрытый ключ используется для создания подписи, а соответствующий открытый ключ используется для проверки подписи.

  2. Данные для подписи: содержание или сообщение, которое вы хотите подписать. Это может быть документ, транзакция или любые цифровые данные.

  3. Хеш-функция: Хеш-функция применяется к данным для создания хеш-значения фиксированного размера. Это хеш-значение затем шифруется с помощью частного ключа для создания цифровой подписи.

  4. Алгоритм цифровой подписи: Алгоритм, который объединяет закрытый ключ с данными, которые необходимо подписать, обычно включая хеш-функцию. Этот алгоритм генерирует цифровую подпись.

  5. Механизм проверки: Лицо, желающее проверить цифровую подпись, должно иметь доступ к открытому ключу и тому же алгоритму цифровой подписи. Открытый ключ используется для расшифровки цифровой подписи и раскрытия хэш-значения, которое затем сравнивается с хэш-значением, рассчитанным из оригинальных данных.

Как они сочетаются, чтобы заставить это работать?

Источник: CamCert — Отправитель подписывает (шифрует) значение хэша своим закрытым ключом, а получатель проверяет подлинность сообщения, сравнивая значения хэша

Шаг 1: Создайте дайджест/хеш-значение, передав исходные данные через хеш-функцию

Шаг 2: Подпишите дайджест секретным ключом отправителя, чтобы создать шифрование.

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

Шаг 4: После расшифровки пропустите данные через ту же хэш-функцию для генерации эквивалентного дайджеста.

Шаг 5: Подтвердите целостность данных, сравнив новый сгенерированный хэш со значением хэша, полученным наряду с данными. Совпадение подтверждает целостность данных.

Давайте воспользуемся этим иллюстрацией передачи документа между отправителем Марком и получателем Карен.

  1. Подписание и отправка: Марк инициирует процесс, отправляя документ. Документ проходит через хэш-алгоритм, создавая дайджест/хэш-значение. Этот дайджест затем шифруется с помощью частного ключа Марка, завершая цифровую подпись; комбинация документа и его частного ключа.
  2. Получение и проверка: Карен, получатель, использует открытый ключ Марка для расшифровки цифровой подписи, получая исходный дайджест. Независимо Карен применяет тот же алгоритм хеширования к полученному документу, генерируя другой дайджест.
  3. Карен сравнивает два дайджеста: один из расшифрованной подписи и один независимо сгенерированный. Если они совпадают, Карен уверена в целостности документа и подлинности отправителя Марка.

Алгоритмы подписи, используемые в блокчейнах

Выбор алгоритмов Цифровой подписи зависит от таких факторов, как требования безопасности, размер ключа и соображения производительности. У каждого алгоритма есть свои сильные и слабые стороны, и его использование может развиваться в соответствии с достижениями в криптографии и появлением новых вызовов в области безопасности.

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

  1. ECDSA (Elliptic Curve Digital Signature Algorithm): для этого используются более короткие ключи, требуется меньше вычислительных ресурсов и используются ключи криптографии на эллиптических кривых, которые представляют собой конечные группы точек на кривой, где определенные операции легко выполняются в одном направлении, но сложно в обратном направлении. Для обеспечения безопасности ECDSA полагается на проблему дискретного логарифма. Это самый популярный алгоритм подписи, используемый в технологии блокчейн.

  2. EdDSA (алгоритм цифровой подписи Эдвардса-кривой): Это современный и эффективный алгоритм цифровой подписи, основанный на криптографии эллиптических кривых. Он был представлен для решения определенных проблем и улучшения производительности по сравнению с другими схемами подписи, такими как ECDSA. Алгоритм разработан для обеспечения надежной безопасности при относительно небольших размерах ключей, что делает его хорошо подходящим для различных приложений, включая технологию блокчейн, например, Cardano и Solana.

  3. Алгоритм Шнорра: Подпись Шнорра - это тип алгоритма цифровой подписи, который позволяет агрегацию, то есть. несколько подписей к одному и тому же сообщению могут быть объединены в одну подпись. Эта подпись не только более эффективна по использованию пространства, но также облегчает более эффективный процесс верификации.
    Это доказывает свою эффективность в сценариях, связанных с подписанием общего сообщения несколькими сторонами, например, авторизация транзакции с адреса мультиподписи (multisig). В таких случаях каждый участник должен предоставить свой открытый ключ и подпись. Следовательно, если три стороны намерены подписать то же сообщение, доказательство будет включать в себя три открытых ключа и три подписи. Это кажется неэффективным с точки зрения вычислений и хранения, поскольку каждому узлу необходимо выполнить функцию проверки подписи три раза и хранить три различных набора подписей и открытых ключей.
    Алгоритм Шнорра просто производит подпись, которая действительна для суммы их открытых ключей. Агрегирование ключей может снизить комиссионные сборы и улучшить масштабируемость базового уровня, так как подписи, поступающие из мультиподписной транзакции, занимают в блоке столько же места, сколько подписи, поступающие из транзакции одной стороны.

  4. Подпись BLS: Криптографический алгоритм BLS (Boneh-Lynn-Shacham) основан на билинейных парированиях в группах эллиптических кривых. Он был представлен Дэном Бонехом, Беном Линном и Ховавом Шахамом в 2001 году. Основное внимание в криптографии BLS уделяется эффективным и безопасным схемам подписей, поддерживающим уникальные свойства, такие как агрегация. Кроме того, подпись BLS используется в Ethereum 2.0 и Chia.

Блокчейны, их алгоритм хеширования и алгоритм подписи

  1. Биткойн (BTC):
    Хэширование Алгоритм: SHA-256
    Алгоритм цифровой подписи: ECDSA, Schnoor (TapRoot Soft Fork)

  2. Ethereum (ETH):
    Хэширование: Keccak
    Алгоритм цифровой подписи: ECDSA

  3. Litecoin (LTC):
    Хэширующий алгоритм: Scrypt
    Алгоритм цифровой подписи: ECDSA

  4. Ripple (XRP):
    Хэширование алгоритм: SHA-256
    Алгоритм цифровой подписи: ECDSA

  5. Cardano (ADA):
    Хэширование алгоритм: Keccak
    Алгоритм цифровой подписи: EdDSA (алгоритм цифровой подписи на кривых Эдвардса)

  6. Polkadot (DOT):
    Хэширование алгоритм: Blake2
    Цифровая подпись алгоритм: EdDSA

  7. Tezos (XTZ):
    Хэширование алгоритм:Blake2b
    Алгоритм цифровой подписи: EdDSA

  8. Сеть BNB (BNB):
    Хэширование: Keccak (используется для токенов BEP-2)
    Алгоритм цифровой подписи: ECDSA

Как Bitcoin использует Цифровую подпись

Биткоин использует алгоритм цифровой подписи эллиптической кривой (ECDSA) для генерации уникальной подписи для каждой транзакции. Однако с недавними достижениями алгоритм Шнорра был введен через мягкое разделение TapRoot. Этот алгоритм, известный своей эффективностью в терминах эффективности хранения и скорости проверки, может увеличить масштабируемость биткоина до 30% благодаря его функции агрегации транзакций.

)

Источник: TimesofIndia — Только подписанные транзакции могут быть распространены и проверены узлами сети

Основной механизм биткоин-транзакций включает ряд шагов, включая использование цифровой подписи.

Вот обзор:

  1. Отправитель решает совершить транзакцию биткоинов, что может включать отправку биткоинов другому пользователю или нескольким пользователям.
  2. Отправитель создает сообщение о транзакции, содержащее ключевые детали, такие как адрес кошелька получателя, сумма BTC, отправляемая валюта, любые связанные сборы и происхождение биткоина (непотраченные выходы транзакции или UTXO), используемые в качестве входов для транзакции.
  3. Отправитель подписывает сообщение о транзакции своим закрытым ключом с использованием алгоритма цифровой подписи на эллиптических кривых (ECDSA). Эта цифровая подпись предоставляет доказательство того, что транзакция была авторизована законным владельцем отправительного адреса.
  4. Сообщение транзакции хешируется с использованием SHA-256 (Secure Hash Algorithm 256-бит) и затем дополнительно хешируется с использованием RIPEMD-160 (RACE Integrity Primitives Evaluation Message Digest 160-бит). Этот процесс генерирует хеш фиксированной длины, обычно известный как идентификатор транзакции или хеш.
  5. Подписанная транзакция транслируется в сеть биткоина, где она становится видимой для всех узлов (компьютеров, участвующих в сети биткоина). Узлы в сети, включая майнеров, проверяют допустимость транзакции. Эта проверка включает в себя проверку цифровой подписи, чтобы убедиться, что она соответствует открытому ключу отправителя, и что входы (UTXO), используемые в транзакции, неизрасходованы и действительны.
  6. Действительные транзакции собираются майнерами, которые соревнуются в решении сложной математической задачи (доказательство работы). Первый майнер, решивший задачу, добавляет блок, содержащий проверенные транзакции, в блокчейн.
  7. Новый добавленный блок транслируется в сеть, и другие узлы проверяют доказательство работы и допустимость транзакций в блоке. Как только достигнуто соглашение, блок считается подтвержденным, и транзакция постоянно записывается в блокчейн.
  8. Баланс кошелька получателя обновляется для отражения полученных биткойнов, а баланс кошелька отправителя корректируется для учета потраченных UTXO.

Применение Цифровой подписи в Web3

Теперь, когда мы понимаем принципы работы и важность подписей, давайте выделим практические применения цифровых подписей в обеспечении безопасности транзакций, аутентификации личностей и обеспечении целостности данных в экосистеме Web3.

Аутентификация транзакции

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

Исполнение смарт-контрактов

Смарт-контракты созданы для взаимодействия с подписями и могут выполнять транзакции после проверки. Например, на децентрализованной платформе кредитования пользователь инициирует запрос на кредит. Запрос запускает выполнение смарт-контракта. Пользователь подписывает транзакцию своим закрытым ключом, и смарт-контракт проверяет подпись для выполнения кредитного соглашения.

Децентрализованная идентичность и аутентификация

Пользователь входит в децентрализованное приложение (dApp), используя свою идентификацию блокчейна, например, адрес Ethereum. DApp запрашивает подписанное сообщение от пользователя (личный ключ), служащее доказательством владения. Цифровая подпись аутентифицирует личность пользователя.

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

Целостность данных и невозможность отказа от NFT

Художник подписывает цифровой файл собственным закрытым ключом перед отчеканкой его в качестве NFT. Цифровая подпись обеспечивает целостность произведения и художник не может позже отрицать авторство.

Системы голосования

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

Межцепочная совместимость

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

Проблемы и будущие тенденции

Вызов квантовым атакам

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

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

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

Заключение

Цифровые подписи проверяют подлинность и целостность данных на основе принципов асимметричного шифрования и хеширования. Они работают с использованием закрытого ключа отправителя для аутентификации хешированной формы данных, и получателем проверяется с открытым ключом отправителя. Самые часто используемые криптографические алгоритмы блокчейнов - ECDSA, EdDSA, Schnoor и BLS подписи.

Кроме того, использование цифровых подписей в основном применимо для аутентификации транзакций, выполнения смарт-контрактов, голосования за управление, трансферов между цепями и целостности данных NFT.

ผู้เขียน: Paul
นักแปล: Sonia
ผู้ตรวจทาน: Piccolo、Edward、Ashley He
* ข้อมูลนี้ไม่ได้มีวัตถุประสงค์เป็นคำแนะนำทางการเงินหรือคำแนะนำอื่นใดที่ Gate.io เสนอหรือรับรอง
* บทความนี้ไม่สามารถทำซ้ำ ส่งต่อ หรือคัดลอกโดยไม่อ้างอิงถึง Gate.io การฝ่าฝืนเป็นการละเมิดพระราชบัญญัติลิขสิทธิ์และอาจถูกดำเนินการทางกฎหมาย
เริ่มตอนนี้
สมัครและรับรางวัล
$100