Як працює блокчейн?
Як працює блокчейн?
ГоловнаСтатті
Як працює блокчейн?

Як працює блокчейн?

Середній рівень
Published Dec 9, 2018Updated May 25, 2022
5m

Що таке блокчейн?

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

Хоча технологія блокчейн старша, ніж криптовалюти, лише після створення Bitcoin у 2008 році її потенціал почав усвідомлюватись. З того часу інтерес до блокчейн-технології поступово зростає, і тепер криптовалюти визнаються у більш широкому масштабі.

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


Як працює блокчейн?

У контексті криптовалют блокчейн складається із стабільного ланцюга блоків, кожен з яких зберігає список раніше підтверджених транзакцій.  Оскільки блокчейн-мережа підтримується безліччю комп'ютерів, розкиданих по світу, вона функціонує як децентралізована база даних (або бухгалтерська книга). Це означає, що кожен учасник (нода) підтримує копію блокчейн-даних і взаємодіє один з одним, щоб гарантувати, що вони знаходяться на одній сторінці (або в блоці).
Таким чином, блокчейн транзакції відбуваються в глобальній Р2Р-мережі, і саме це робить Bitcoin децентралізованою цифровою валютою, яка не має меж і стійка до цензури. Крім того, більшість систем блокчейну вважаються системами "без довіри", тому що вони не вимагають жодної довіри. Не існує єдиного органу, який контролює Bitcoin.
Центральною частиною майже кожного блокчейну є процес майнінгу, заснований на алгоритмах хешування. Bitcoin використовує алгоритм SHA-256 (алгоритм безпечного хешування 256 біт). Він приймає введення будь-якої довжини і генерує вихід, який завжди матиме однакову довжину. Отриманий результат називається "хешем" і в цьому випадку завжди складається з 64 символів (256 біт).

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

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

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

Уявіть, що у нас є Аліса та Боб разом з їхнім балансом у Bitcoin. Припустимо, Аліса винна Бобу 2 Bitcoin.

Щоб Аліса відправила Бобу ці 2 Bitcoin, Аліса розсилає повідомлення з транзакцією, яку вона хоче зробити, усім майнерам у мережі.
У цій транзакції Аліса повідомляє майнерам адресу Боба та кількість Bitcoin, яку вона хотіла б надіслати, а також цифровий підпис та свій публічний ключ. Підпис робиться за допомогою приватного ключа Аліси, і майнери можуть підтвердити, що Аліса насправді є власником цих монет.

Як тільки майнери переконаються, що транзакція дійсна, вони можуть помістити її до блоку разом з багатьма іншими транзакціями та спробувати здобути блок. Це робиться шляхом пропускання блоку через алгоритм SHA-256. Вихід повинен починатися з певної кількості нулів (0), щоб вважатися дійсним. Необхідна кількість нулів залежить від так званої складності, яка змінюється в залежності від того, скільки обчислювальної потужності є в мережі.

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

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

Кожен майнер має власну копію блокчейна на комп'ютері, і всі довіряють тому блокчейну, в який вкладено найбільше обчислювальної роботи, тобто найдовшому блокчейну. Якщо майнер змінить транзакцію в попередньому блоці, вихідний хеш для цього блоку зміниться, що призведе до зміни всіх хешів після нього, оскільки блоки пов'язані з хешем. Майнеру доведеться переробити всю роботу, щоб змусити будь-кого прийняти його блокчейн як правильний. Таким чином, якщо майнер хоче обдурити, йому знадобиться понад 50% обчислювальної потужності мережі, що дуже малоймовірно. Тому, мережеві атаки, подібні до цієї, називаються атаками 51%.
Модель, що змушує комп'ютери працювати для створення блоків, називається Proof-of-Work (PoW). Існують також інші моделі, такі як Proof-of-Stake (PoS), яка не вимагає такої кількості обчислювальної потужності та призначена для меншого споживання електроенергії, маючи можливість масштабуватися для більшої кількості користувачів.