Зміст
- 1 Який алгоритм шифрування у біткоіни, і де він застосовується?
- 2 Алгоритм шифрування біткоіни — принцип роботи простими словами
- 3 Коли з’явився алгоритм шифрування Bitcoin — коротка історія
- 4 Характеристики алгоритму шифрування біткоіни
- 5 Алгоритм шифрування Bitcoin в Майнінг
- 6 Слабкі та сильні сторони алгоритму хешування біткоіни
Шифрування біткоіни побудовано на базі SHA-256 — спеціальному алгоритмі, який входить до складу програмного коду. Його завдання в тому, щоб перетворити вхідні дані в конкретний набір символів (в буквеному і цифровому відображенні) і захистити інформацію. Такі дії носять назву хешування. У чому тонкощі зазначеного алгоритму? Для чого він потрібен, і як працює? Які переваги та недоліки? Ці та ряд інших моментів розглянемо докладно.
Який алгоритм шифрування у біткоіни, і де він застосовується?
Під час обговорення криптовалюта, особливостей її роботи і Майнінг учасники кріптосеті неминуче наштовхуються на настільки поширене визначення, як алгоритм шифрування біткоіни. З дня розробки BTC і до сьогодні (13 серпня 2018 роки) використовується SHA-256, необхідна для вирішення таких завдань в Bitcoin-мережі:
Алгоритм SHA-256 актуальний не тільки для біткоіни, але і для інших коинов, а саме біткоіни Кеш, Мазакоін, Піркоін, Неймкоін і інших криптовалюта. Крім того, SHA-2 (основа SHA-256) використовується при створенні багатьох протоколів, призначених для захисту даних в Мережі, а саме SSL, TSL та інших.
Алгоритм хешування Bitcoin необхідний для контролю інформації за допомогою її аналізу та своєчасного виявлення неточностей. Після обробки даних і перекладу в хеш зворотне отримання відомостей неможливо. Якщо взяти вже зашифрований файл BTC, зробити повторні обчислення і переконатися, що параметри хеш ідентичні, можна бути впевненим у відсутності змін в початкових відомостях. Якщо дані розходяться, це свідчить про злом системи.
Алгоритм шифрування біткоіни — принцип роботи простими словами
В основі SHA-2 лежить структура, створена Меркле і Дамгардом. Особливість хеш-функції, яка застосовується в криптографії, полягає в нестандартному підході при її формуванні. Вхідні дані діляться на ідентичні за величиною блоки, після чого створені елементи перетворюються в 16-ковий число. Саме з ними згодом виробляються обчислення. До отриманого значення застосовується хеш-функція, а результатом обробки є хеш-сума, що з’являється на виході. Вона являє собою набір символів, представлених в буквеному і цифровому відображенні. По суті, це і є хеш.
Черговий блок будується за описаним вище принципом. При цьому новий процес запускається після створення минулого елемента. Якщо в початкові дані внесені правки, хеш змінюється. У разі, коли ідентичні параметри хеш-функції раптом виявилися в різних блоках, має місце конфліктна ситуація в роботі алгоритму. При появі такої невідповідності весь ланцюжок blockchain береться під сумнів.
Так, для створення цифрового підпису застосовується хеш-функція. Якщо виникає розглянута вище ситуація, висока ймовірність підробки підпису. Для обчислення таких збоїв (колізій) використовується спеціальна методика, що передбачає перебір даних, що збільшує стійкість хеш-функції.
Коректність шифрування Bitcoin контролюється чотирма вимогами:
Як це застосовується в біткоіни?
Завдання вузлів кріптовалютной мережі полягає в тому, щоб в численних транзакціях знайти ту, яка влаштовує його за всіма параметрами. При оцінці варіантів початкове увагу приділяється розміру комісійних (до речі, з цієї причини операції з більшою комісією проходять швидше). Далі перевіряється операція, вивчаються дані на вході і виході, уточнюється оригінальність цифрового підпису.
Як тільки розглянута робота виконана, створюється черговий елемент біткоіни-ланцюга (блок) з певним розміром (для розглянутої криптовалюта — 1 мегабайт). Отримані вузли складаються з версії, часу формування, двох хеш (минулого блоку і входять угод), а також додаткових параметрів, що забезпечують унікальність (bits і nonce). У комплексі створений блок безліч разів хешіруется, в результаті чого формується титульний хеш, який для «старого» елемента ланцюга грає роль виходу, а для нового — входу.
Припустимо, що в наборі хеша присутній конкретне число «0» (наприклад, nonce дорівнює 17). Підібрати таке значення, застосовуючи тільки перебір значень, вкрай важко. Саме цей аспект забезпечує надійність відомостей в blockchain-мережі і її захист від злому. Щоб створити хеш, необхідні величезні потужності, без яких знайти необхідний набір символів неможливо. Як тільки ця робота завершена, а параметр знайдений, він прямує до елементів кріптосеті з новоствореним блоком і знайденим хешем з 17-ю «0». Далі всі учасники біткоіни-мережі перевіряють хеш, об’єднуючи набір з символів з відомостями з блоку. При відсутності колізії в ланцюжку блокчейн з’являється новий елемент.
Коли з’явився алгоритм шифрування Bitcoin — коротка історія
Термін «SHA» є абревіатурою трьох слів: «Secure Hashing Algorithm». У біткоіни використовується SHA-256, а «основою» згаданої хеш-функції є SHA-2, до складу якого входять багато криптоалгоритми (в тому числі 256).
Творцями SHA-2 є АНБ Сполучених Штатів — спеціальне агентство, яке займається питаннями нацбезпеки країни. Після розробки і перевірки алгоритм в 2002 році він був представлений суспільству. До складу нового SHA-2 увійшла і 1-ша хеш-функція SHA-1 (створена на 7 років раніше — в 1995-м). Після появи SHA-2 було випущено безліч варіантів алгоритму, один з яких застосований Сатоши Накамото при створенні біткоіни в 2009 році.
Метою розробників був випуск алгоритму, що забезпечує формування з випадкового набору символів конкретного значення, що має певну довжину. У них це вийшло. Надалі отриманий параметр застосовується для ідентифікації (перевірки) інформації. Початкове завдання SHA-2 полягає в захисті даних на різних сервісах, а сьогодні (в 2018-м) SHA-256 відомий в першу чергу як алгоритм, який застосовується при видобутку коинов.
У 2012 році система була вдосконалена і з’явилася оновлена версія хеш-функції — SHA-3. Вважається, що з часом нова розробка витіснить колишні алгоритми, що поліпшить і без того високу ступінь безпеки.
Характеристики алгоритму шифрування біткоіни
Суть SHA-256 проста. Первісне повідомлення після внесення доповнення ділиться на блоки, а кожен з них на 16 слів. Отримані елементи проходять через спеціальні цикли, які передбачають 64 або 80 етапів. На кожному з них відбувається перетворення двох слів, а опцію перетворення формують залишилися слова. Підсумкові параметри підсумовуються, що і утворює хеш.
У процесі роботи алгоритму застосовується 6 команд:
- «Xor» — видаляє «АБО».
- «Shr» — зміщує показник на необхідну кількість біт вправо з конкретною періодичністю.
- «Rots» — зміщує показник на необхідну кількість біт вправо (без застосування конкретного циклу).
- «II» — з’єднання елементів, що мають лінійний характер.
- «And» — «І».
- «+» — стеження.
Характеристики протоколу:
Алгоритм шифрування Bitcoin в Майнінг
При здійсненні розрахунків в межах Майнінг коректність одержуваного хеш-коду визначається за кількістю нулів на початку рядка. Наприклад, якщо цей параметр дорівнює 17, шанси знайти такого числа вкрай низька і становить десь 1: 1,4 * 10 в 20-го ступеня. Тож не дивно, що для Майнінг Bitcoin потрібне застосування потужного устаткування і великі витрати електроенергії. При цьому оптимізація пошуку потрібного хеша неможлива, адже після прийому блоку інформації на виході з’являється випадкове число.
Складність видобутку віртуальної монети в тому, щоб знайти необхідний хеш і сформувати черговий блок. Для реалізації такої мети застосовується стандартний перебір значень, для чого необхідно високопродуктивне обладнання. Як згадувалося, ведеться пошук не простої хеша, а значення, перед яким знаходиться велика кількість «0-їй».
Видобуток криптовалюта на SHA-256 являє собою комплекс заходів, спрямованих на вирішення певної кріптозадачі. У випадку з біткоіни для Майнінг використовується наступне обладнання:
Згадані апарати застосовуються для того, щоб підібрати цікаву хеш-функцію і сформувати новий блок. Чим вище хешрейт (міць обчислення) апарату, тим швидше відбувається перебір даних і тим менше часу потрібно на пошук рішення.
Зі зростанням конкуренції і випуском більш продуктивних Майнер підвищується і складність видобутку BTC, параметр якої змінюється з періодичністю раз в 2 тижні.
Слабкі та сильні сторони алгоритму хешування біткоіни
Вище ми розглянули, який алгоритм хешування у біткоіни, і в чому його особливості. Це SHA-256, який вважається найбільш поширеним алгоритмом з високим рівнем надійності і порівняно простим принципом роботи. Він має високу стійкість до злому і дозволяє добувати коін на будь-якому обладнанні (в залежності від параметрів складності).
Незважаючи на ряд позитивних якостей, алгоритм хешування Bitcoin має ряд слабких місць:
У 2009 році Сатоши Накамото був змушений використовувати SHA-256, адже на період створення криптовалюта уряд штатів прийняло даної протокол. У той період він активно використовувався для захисту даних в деяких державних програмах, також задіяли в комерційному секторі. Вийшло, що протокол створювали для вирішення одних завдань, але в реальності він затребуваний абсолютно в іншому руслі.
Для наочності зведемо в таблицю позитивні і негативні риси алгоритму шифрування біткоіни.
переваги | недоліки |
Широке поширення (в тому числі в кріптовалютном секторі). Протокол SHA активно застосовується в повсякденному сфері для захисту інформації. | Втрата децентралізації. Потужності концентруються в руках майнінгових компаній. |
Надійний захист від злому. | Ітерація в SHA має просту структуру, що з часом призвело до зростання складності видобутку. На серпень 2018 го для Майнінг біткоіни можна використовувати тільки Асіка з високою продуктивністю. |
Зручність у питаннях видобутку коинов, універсальність в питанні вибору техніки для Майнінг. | З’являються нові алгоритми, які мають більш досконалу структуру. |
У другому варіанті (SHA-2) творцям вдалося усунути ряд недоробок, негативно впливають на надійність системи. | Незважаючи на активну роботу над помилками, видалити багато недоліків так і не вдалося. Тож не дивно, що розробники створили нову версію SHA-3. |
Протокол прийнятий на законодавчому рівні в США. |
На сьогоднішній день алгоритм шифрування біткоіни майже не застосовується при розробці нових криптовалюта. Найбільш яскравим прикладом монети, де ще використовується SHA-256, є Bitcoin Cash — форк Bitcoin, що з’явився в серпні 2017 го. Але в ситуації з цією монетою застосування SHA більше необхідність, ніж вибір творців. Що стосується самого Bitcoin, використання протоколу цієї серії обумовлено отсутствуем альтернатив у Сатоши Накамото.
Сьогодні, в 2018 році, ведеться багато розмов про вдосконалення цього алгоритму і внесення правок в кріптовалютную мережу, але поки такі наміри не знаходять фізичної реалізації і залишаються лише у вигляді пропозицій.
Відео про криптографічних функціях і алгоритмах: