Меню Закрити

Що таке хешування та цифровий підпис на блокчейні?

Хешування відноситься до концепції отримання довільної кількості вхідних даних, застосування до них деякого алгоритму та генерації вихідних даних фіксованого розміру, які називаються хешем. Вхідними даними може бути будь-яка кількість бітів, які можуть представляти один символ, файл MP3, цілий роман, електронну таблицю вашої банківської історії чи навіть весь Інтернет. Справа в тому, що вхід може бути безмежно великим. Алгоритм хешування можна вибрати залежно від ваших потреб, і існує багато загальнодоступних алгоритмів хешування. Справа в тому, що алгоритм приймає нескінченне введення бітів, застосовує до них деякі обчислення і виробляє кінцеву кількість бітів. Наприклад, 256 біт.

Для чого можна використовувати цей хеш?

Сьогодні широко використовуються хеші у файлах відбитків пальців, також відомих як зони перевірки. Це означає, що хеш використовується для перевірки того, що файл не підроблений чи змінений будь-яким ненавмисним чином автором. Наприклад, якщо WikiLeaks публікує набір файлів разом з їх хешами MD5, той, хто завантажує ці файли, може підтвердити, що вони насправді з WikiLeaks, обчислюючи хеш MD5 завантажених файлів, і якщо хеш не відповідає тому, що опублікував WikiLeaks, тоді ви знаєте, що файл був якимось чином змінений.

Як блокчейн використовує хеш?

Сокири використовуються в блокчейнах для представлення поточного стану світу. Вхідні дані – це повний стан блокчейну, тобто всі транзакції, що відбулися дотепер, і результуючий хеш виводу відображає поточний стан блокчейну. Хеш використовується для домовленості між усіма сторонами про те, що світова держава є єдиним цілим, але як насправді обчислюються ці хеші?

Перший хеш обчислюється для першого блоку або блоку Genesis, використовуючи транзакції всередині цього блоку. Послідовність початкових транзакцій використовується для обчислення хешу блоку для блоку Genesis. Для кожного нового блоку, який генерується згодом, хеш попереднього блоку, а також його власні транзакції використовується як вхід для визначення його хешу блоку. Так формується блокчейн, кожен новий хеш блоку вказує на хеш блоку, який з’явився раніше. Ця система хешування гарантує, що жодна транзакція в історії не може бути підроблена, оскільки, якщо якась частина транзакції змінюється, змінюється і хеш блоку, якому він належить, і будь-який хеш наступних блоків. В результаті було б досить просто вловити будь-які маніпуляції, оскільки ви можете порівнювати лише хеші. Це чудово, оскільки кожному на блокчейні потрібно лише домовитись про 256 бітів, щоб представити потенційно нескінченний стан блокчейну. На сьогодні блокчейн Ethereum становить десятки гігабайт, але поточним станом блокчейну, станом на цей запис, є цей шістнадцятковий хеш, що представляє 256 бітів.

А як щодо цифрових підписів?

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

Цифрові підписи сьогодні використовуються в Інтернеті. Кожного разу, коли ви відвідуєте веб-сайт через ACTPS, ви використовуєте SSL, який використовує цифрові підписи для встановлення довіри між вами та сервером. Це означає, що коли ви відвідуєте Facebook.com, ваш браузер може перевірити цифровий підпис, що додається до веб-сайту, щоб переконатися, що він насправді походить від Facebook, а не від хакера.

В асиметричних системах шифрування користувачі генерують щось, що називається парою ключів, що є відкритим та закритим ключем за допомогою відомого алгоритму. Відкритий та приватний ключі пов’язані між собою за допомогою якихось математичних взаємозв’язків. Відкритий ключ призначений для публічного розповсюдження, щоб служити адресою для отримання повідомлень від інших користувачів, наприклад, IP-адреси або домашньої адреси. Приватний ключ повинен зберігатись у таємниці та використовуватися для цифрового підпису повідомлень, надісланих іншим користувачам. Підпис включається в повідомлення, щоб одержувач міг перевірити його за допомогою відкритого ключа відправника. Таким чином, одержувач може бути впевнений, що лише відправник міг надіслати це повідомлення. Створення пари ключів аналогічно створенню облікового запису в блокчейні, але без необхідності будь-якої реєстрації. Дуже здорово. Крім того, кожна транзакція, яка виконується на блокчейні, цифровим підписом відправника.

Щоб зв’язати все це разом, не може бути блокчейну без хешу та цифрових підписів. Хешування надає можливість кожному в блокчейні погодитись із поточним станом світу, тоді як цифрові підписи забезпечують спосіб, щоб усі транзакції здійснювались лише законними власниками. Ми покладаємося на ці дві властивості, щоб переконатися, що блокчейн не пошкоджений і не скомпрометований.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *