
Алгоритм цифрового підпису — це криптографічний метод, який застосовує приватний ключ для підпису і публічний ключ для перевірки повідомлень, підтверджуючи їхнє походження та цілісність. Це можна порівняти з нанесенням перевіряємого штампу на електронний документ — він відкритий для всіх, але не приховує зміст.
Приватний ключ — це конфіденційне, випадково створене число, відоме лише власнику. Публічний ключ отримують з приватного і використовують як відкритий ідентифікатор для перевірки підпису. Цифрові підписи відповідають на два ключових питання: Хто надіслав повідомлення? Чи було воно змінене під час передачі?
У блокчейні повідомленням часто виступають дані транзакції або інформація про авторизацію. Ноди включають вашу транзакцію у блок лише після перевірки підпису за вашим публічним ключем.
Базовий процес алгоритму цифрового підпису охоплює створення пари ключів, підписування повідомлення і перевірку підпису за допомогою публічного ключа. Головний принцип: лише приватний ключ може підписувати, але перевірити може будь-хто.
Наприклад, ECDSA (Elliptic Curve Digital Signature Algorithm) застосовує одноразове випадкове значення для кожного підпису. Це значення має бути непередбачуваним і не повторюватися, оскільки слабка випадковість може скомпрометувати приватний ключ.
Алгоритми цифрового підпису необхідні для підтвердження транзакцій, надання дозволів і автентифікації повідомлень у Web3. Без підпису вузли блокчейну не можуть довіряти джерелу транзакції.
Крім того, багато біржових API вимагають підпису. Наприклад, API Gate використовує HMAC (Hash-based Message Authentication Code) для підпису запитів. HMAC також перевіряє джерело і цілісність, але використовує спільний секрет замість пари публічний/приватний ключ.
Поширені алгоритми цифрового підпису — RSA, ECDSA, Ed25519 і BLS, які різняться рівнем безпеки, швидкістю, розміром підпису і складністю реалізації.
Більшість гаманців автоматично виконують цифрове підписування за допомогою алгоритмів цифрового підпису, але процес можна описати покроково:
На Gate виведення коштів у мережу здійснюється за цим алгоритмом підпису і перевірки. Для API-запитів (зазвичай із HMAC) діють суворі серверні перевірки, що унеможливлюють підробку запитів.
Цифрові підписи часто працюють у парі з хеш-функціями. Хешування перетворює дані будь-якої довжини у дайджест фіксованого розміру — унікальний відбиток для кожного файлу.
Підписи зазвичай накладаються на дайджести, а не на сирі повідомлення, для підвищення ефективності і зниження ризиків при обробці великих повідомлень. Якщо змінити будь-яку частину повідомлення — зміниться і дайджест, що зробить підпис недійсним.
Поширені хеш-функції — SHA-256 і Keccak-256. Наприклад, Bitcoin використовує подвійний SHA-256 для дайджестів транзакцій; Ethereum застосовує Keccak-256, який часто розглядають як варіант SHA3.
Алгоритми цифрового підпису призначені для доказу і забезпечення цілісності, а алгоритми шифрування — для конфіденційності. Їхні цілі різні, хоча їх часто плутають.
Цифровий підпис не приховує зміст; він гарантує, що повідомлення надіслано вами і не змінено. Шифрування перетворює зміст у шифротекст, який може прочитати лише власник ключа для дешифрування.
На практиці застосунки можуть використовувати обидва методи: зашифрований чат захищає приватність повідомлень, а цифрові підписи гарантують автентичність і цілісність заголовків чи критичних полів.
Вибір алгоритму цифрового підпису залежить від стандартів мережі, інструментів екосистеми і вимог до продуктивності — кожен блокчейн робить свої компроміси.
Станом на жовтень 2024 року:
Для сценаріїв з максимальним пропуском і простотою часто застосовують Ed25519; для сумісності з екосистемами Ethereum чи Bitcoin — ECDSA; для консенсусу або кросчейн-використання з агрегацією підписів — BLS.
Важливими є також розмір підпису і витрати на перевірку: RSA-підписи великі і повільні — майже не використовуються на блокчейні; Ed25519 має фіксований розмір 64 байти і швидку перевірку; BLS-підписи у консенсусному шарі Ethereum стискаються до 96 байт, але можуть агрегувати сотні чи тисячі підписів в один — мінімізуючи загальні витрати на перевірку.
Головні ризики при використанні алгоритмів цифрового підпису — це витік приватного ключа і випадкова авторизація через ненавмисне підписування. Захист полягає у безпечному управлінні ключами та уважності при підписуванні.
Алгоритми цифрового підпису застосовують приватні ключі для підпису і публічні для перевірки — вирішують питання "хто надіслав повідомлення" і "чи було його змінено". Вони працюють разом із хеш-функціями (зазвичай підписують дайджести повідомлень) і відрізняються від шифрування тим, що не приховують зміст. Більшість блокчейн-транзакцій використовують ECDSA або Ed25519; механізми консенсусу і кросчейн-протоколи часто застосовують агрегацію BLS. На практиці важливо забезпечити безпеку приватного ключа, чіткість повідомлень і якість випадковості; на платформах на кшталт Gate цифрові підписи є основою для прийняття транзакцій мережею. Вибір алгоритму залежить від стандартів мережі, вимог до продуктивності і сумісності екосистеми; головна мета — надійний доказ особи і цілісності даних.
Цифровий підпис використовує ваш приватний ключ для криптографічної автентифікації даних — підтверджує, що ви контролюєте цей ключ. Цифровий сертифікат — це довірений файл із даними про ваш публічний ключ, виданий стороннім центром сертифікації. Простіше кажучи: цифровий підпис — як ваш власноручний підпис; сертифікат — як посвідчення особи. У блокчейн-гаманцях підписи авторизують транзакції, а сертифікати підтверджують особу чи публікують інформацію.
Якщо підпис змінено під час передачі, валідатори негайно це виявлять і відхилять транзакцію або повідомлення. Блокчейн-мережі автоматично відкидають недійсні транзакції для забезпечення безпеки. Це одна з головних переваг цифрових підписів — навіть зміна одного символу призводить до невдачі перевірки.
Ні — не залишається. Якщо ваш приватний ключ став відомий, інші можуть підписувати від вашого імені — фактично видаючи себе за вас. Захист приватного ключа критично важливий: використовуйте апаратні гаманці, ніколи не передавайте ключі онлайн, регулярно контролюйте активність. При підозрі на витік — негайно переведіть активи у новий гаманець.
Вхід за підписом безпечніший за паролі — паролі вразливі до атак перебором або фішингу. Підписування вимагає локального володіння приватним ключем; жодна третя сторона його не бачить. Платформи на кшталт Gate пропонують вхід за підписом, щоб ви підтверджували особу без пароля — приватний ключ завжди під вашим контролем.
Базова криптографія однакова на всіх пристроях — стандарти ті самі. Основна різниця — у зручності та безпеці: мобільні гаманці портативніші, але потенційно більш вразливі; десктопні — мають більше функцій, але можуть бути менш зручними. Апаратні гаманці (гаманці холодного зберігання) працюють офлайн при підписуванні — забезпечують максимальну безпеку. Обирайте залежно від частоти використання і вартості активів.


