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

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

Найперші моделі блокчейну були створені на початку 1990-х років. У той час комп’ютерний вчений Стюарт Габер і фізик В. Скотт Сторнетта використовували технологію шифрування для захисту даних від підробки.​

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

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

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


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

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

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

В основі майже всіх блокчейнів лежить майнінг, який невіддільний від алгоритмів хешування. Біткойн використовує алгоритм SHA-256 (Secure Hash Algorithm 256 bits), який дозволяє вводити рядок будь-якої довжини для отримання виходу тієї ж довжини. Виведений результат можна назвати «хеш-значенням», яке завжди становить 64 символи (256 біт).

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

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

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

Припустімо, що Аліса та Боб є двома власниками біткойнів, і Аліса винна Бобу два біткойни.

Щоб відплатити Бобу двома біткойнами, Аліса транслює інформацію про цю транзакцію майнерам у всій мережі.

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

Після підтвердження того, що транзакція є автентичною та дійсною, майнер може помістити цю інформацію про транзакцію в блок разом з іншою інформацією про транзакцію та спробувати «видобути» цей блок. Цей блок працює за допомогою алгоритму SHA-256, і результат операції повинен починатися з певної кількості «0», перш ніж його можна буде вважати дійсним. Число «0» залежить від «складності» операції, яка буде змінюватися зі змінами обчислювальної потужності всієї мережі.

Щоб правильно вивести очікувану кількість хешів «0», майнери додають до блоку «nonce» перед запуском алгоритму шифрування. Незначні зміни в цьому значенні повністю змінять результат операції, і майнери повинні пробувати різні випадкові одноразові коди, поки не отримають правильне хеш-значення.

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

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

Ця модель, яка вимагає комп’ютерних операцій для створення нових блоків, називається Proof of Work (PoW). Існують також інші механізми, такі як Proof of Stake (PoS), які не вимагають величезної обчислювальної потужності, споживають менше енергії та залучають до участі більше користувачів.