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



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

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

У Bitcoin зокрема, майнери беруть блок очікуваних транзакцій, додають nonce до заголовка і потім хешують усе за допомогою SHA-256. Вони постійно змінюють цей nonce, доки отриманий хеш не відповідатиме цільовому рівню складності мережі. Мережа автоматично регулює цю складність залежно від обчислювальної потужності, щоб блоки створювалися стабільно, незалежно від зростання або зменшення мережі.

Але ось що справді привернуло мою увагу щодо безпеки nonce — різні типи атак, які люди намагаються здійснити. Є атаки повторного використання nonce, коли хтось намагається використати той самий nonce двічі, що може розкрити ключі шифрування. Є передбачувані атаки nonce, коли, якщо nonce слідує певному шаблону, зловмисники можуть передбачити, що буде далі. І є атаки застарілими nonce, коли використовуються старі, раніше дійсні nonce, щоб обдурити системи.

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

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

Головна ідея тут полягає в тому, що nonce у безпеці — це не просто випадкове число, а механізм, який робить атаки на блокчейн обчислювально неможливими. Чи то запобігання подвійним витратам, захист від атак типу Sybil або підтримка незмінності блоків — nonce виконує важку роботу. Саме тому розуміння того, як це працює, має значення, якщо ви серйозно налаштовані на засвоєння основ блокчейну.
BTC-1,62%
Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • Прокоментувати
  • Репост
  • Поділіться
Прокоментувати
Додати коментар
Додати коментар
Немає коментарів
  • Закріпити