Что такое Signature?
Signature представляет собой короткое математическое доказательство, подтверждающее, что вы одобрили конкретное сообщение или транзакцию. Оно одновременно показывает два факта: у вас есть соответствующий ключ, и сообщение не было изменено. Представьте это как автограф, но вместо чернил используется алгебра, поэтому подделать его нельзя.
«Блокчейн подпись раскрывает ваши ключи.» Нет. Математика подтверждает одобрение без раскрытия секретов, поэтому ваши ключи остаются приватными и не попадают в цепочку.
Как работает Signature
Кратко: вы хотите отправить монеты, ваш кошелек выполняет небольшие математические вычисления, а сеть проверяет их. Никаких курьеров и нотариусов, только код.
- Шаг 1: Вы готовите транзакцию, указывая, куда уходят средства и какую сумму.
- Шаг 2: Ваш кошелек использует ваш Закрытый ключ для создания уникального одноразового доказательства.
- Шаг 3: Другие могут проверить это доказательство с помощью вашего Публичный ключ, не узнавая ваш секрет.
- Шаг 4: Сеть проверяет вычисления и целостность данных транзакции. Измените один бит, и проверка не пройдет.
- Шаг 5: После проверки майнеры или валидаторы могут включить её в блок, и перевод будет выполнен.
Это и есть процесс. Быстро, прозрачно и без необходимости разрешений.
Зачем нужен Signature
Почему это важно:
- Преимущество: Доказывает право собственности и намерение, то есть вы можете перемещать ценность, не спрашивая разрешения у кого-либо.
- Точка зрения: Каждая проверка выполняется независимыми узлами, поэтому доверие обеспечивается множеством наблюдателей, а не одним контролером.
- Актуальность: Вы встретите это в кошельках, на биржах, в DeFi, DAO, при выпуске NFT и даже в способах входа без паролей. Это касается и Rolex, и Reddit.
Всегда читайте то, что подписываете. Кошельки показывают превью сообщений не просто так, а слепое нажатие часто приводит к тому, что люди отдают свои токены.
Основные характеристики Signature
Базовые свойства, которые делают это возможным:
- Аутентичность: Подтверждает, что отправитель действительно владеет соответствующим ключом.
- Целостность: Любое изменение сообщения немедленно нарушает проверку.
- Неотказуемость: После подписи вы не сможете достоверно заявить, что не одобряли именно это сообщение.
- Публичная проверка: Любой может проверить с помощью вашей публичной информации, секреты не требуются.
- Компактность: Короткие строки быстро передаются в блокчейне.
Варианты
Та же цель, разные подходы и компромиссы:
- ECDSA: Биткоин и многие сети полагаются на ECDSA (Elliptic Curve Digital Signature Algorithm) для проверенной безопасности.
- Schnorr: Новые схемы, например Schnorr Signatures, позволяют агрегацию и упрощают мультиподписи.
- Ring: Монеты, ориентированные на приватность, могут использовать Ring Signatures, чтобы скрыть, кто именно подписал.
Подпись привязана к точному сообщению. Если приложение добавит лишний пробел или другое число, предыдущая подпись станет недействительной. Это предусмотрено конструкцией.
Пример
Вы подтверждаете своп в кошельке, приложение запрашивает Signature, и сеть проверяет её перед перемещением ваших токенов.
Интересный факт
Schnorr был предложен в конце восьмидесятых, долгое время защищался патентом, а после его истечения получил широкое распространение. Крипто не забывает хорошую идею, оно просто ждёт своё время.
Итог
Кратко: одобрение на математической основе, которое позволяет доказать, что действие выполнено вами, и что сообщение осталось неизменным, не раскрывая ваших секретов.
