Блокчейн - це децентралізований цифровий реєстр, який надійно зберігає записи в мережі комп'ютерів таким чином, що є прозорим, незмінним та стійким до підробок. Кожен "блок" містить дані, а блоки пов'язані в хронологічний "ланцюг".
Блокчейн є розподіленою базою даних або реєстром, що ділиться між вузлами комп'ютерної мережі. Вони найбільш відомі завдяки своїй вирішальній ролі в системах криптовалют, підтримуючи безпечний і децентралізований запис транзакцій, але не обмежуються використанням криптовалют. Блокчейни можуть бути використані для того, щоб дані в будь-якій галузі стали незмінними — що означає, що їх не можна змінити.
Оскільки блок не може бути змінений, єдине, що потрібно довіряти, - це момент, коли користувач або програма вводить дані. Це зменшує потребу в надійних третіх сторонах, таких як аудитори або інші люди, які додають витрати та можуть зробити помилки.
Від моменту введення Біткойна в 2009 році застосування блокчейн різко зросли завдяки створенню різних криптовалют, додатків децентралізованих фінансів (DeFi), незамінних токенів (NFT) та смарт-контрактів.
Основні висновки:
*Блокчейн — це тип спільної бази даних, яка відрізняється від типової бази даних способом зберігання інформації; блокчейни зберігають дані в блоках, пов'язаних між собою за допомогою криптографії.
*На блокчейні можна зберігати різні типи інформації, але найпоширеніше використання було як реєстр транзакцій.
*У випадку Біткойна блокчейн є децентралізованим, тому жодна особа чи група не має контролю — натомість, всі користувачі колективно зберігають контроль.
*Децентралізовані блокчейни є незмінними, що означає, що введені дані є незворотними. Для Біткойна транзакції назавжди записуються і доступні для будь-кого.
Як працює блокчейн?
Ви, можливо, знайомі з електронними таблицями або базами даних. Блокчейн дещо схожий, оскільки це база даних, в яку вводиться та зберігається інформація. Ключова різниця між традиційною базою даних або електронною таблицею та блокчейном полягає в тому, як структуровані та доступні дані.
Блокчейн складається з програм, які називаються скриптами, які виконують завдання, які ви зазвичай виконуєте в базі даних: введення та доступ до інформації, а також збереження та зберігання її десь. Блокчейн є розподіленим, що означає, що кілька копій зберігаються на багатьох машинах, і вони всі повинні збігатися, щоб бути дійсними.
Блокчейн Біткойна збирає інформацію про транзакції та вводить її в файл розміром 4 МБ, який називається блоком (різні блокчейни мають різні розміри блоків). Як тільки блок заповнений, дані блоку проходять через криптографічну хеш-функцію, яка створює шестнадцяткове число, яке називається хешем заголовка блоку.
Хеш потім вводиться в наступний заголовок блоку та шифрується з іншою інформацією в заголовку цього блоку, створюючи ланцюг блоків, звідси й назва "блокчейн".
Процес транзакції
Транзакції слідують певному процесу, залежно від блокчейну. Наприклад, на блокчейні Біткойна, якщо ви ініціюєте транзакцію, використовуючи свій криптовалютний гаманець — програму, яка надає інтерфейс для блокчейну — це запускає послідовність подій.
У Біткойні ваша транзакція надсилається до пам'яті, де вона зберігається та ставиться в чергу, поки майнер її не підбере. Як тільки вона вводиться в блок і блок заповнюється транзакціями, він закривається, і починається видобуток.
Кожен вузол у мережі пропонує свої власні блоки таким чином, оскільки вони всі обирають різні транзакції. Кожен працює над своїми блоками, намагаючись знайти рішення для цільового рівня складності, використовуючи "nonce", скорочено від "число, що використовується один раз".
Значення nonce є полем у заголовку блоку, яке можна змінювати, і його значення поступово зростає з кожною спробою видобутку. Якщо отриманий хеш не є рівним або меншим за цільовий хеш, до nonce додається значення один, генерується новий хеш і так далі. Значення nonce переповнюється приблизно після кожних 4,5 мільярдів спроб (що займає менше однієї секунди) і використовує інше значення, яке називається додатковим nonce, як додатковий лічильник. Це триває до тих пір, поки майнер не згенерує дійсний хеш, виграє гонку та отримує винагороду.
Факт: *Генерація цих хешів до тих пір, поки не буде знайдена конкретна значення, є "доказом роботи", про який ви так багато чули — він "доказує", що майнер виконав роботу. Велика кількість роботи, необхідної для перевірки хешу, є причиною, чому мережа Біткойн споживає так багато обчислювальної потужності та енергії.
Коли блок закривається, транзакція вважається завершеною. Однак блок не вважається підтвердженим, поки не буде підтверджено п'ять інших блоків. Підтвердження займає приблизно одну годину, оскільки в середньому займає трохи менше 10 хвилин на блок (перший блок з вашою транзакцією та п'ять наступних блоків, помножених на 10, дорівнює 60 хвилин).
Не всі блокчейни дотримуються цього процесу. Наприклад, мережа Ethereum випадковим чином обирає одного валідатора з усіх користувачів з етерієм, щоб підтвердити блоки, які потім підтверджуються мережею. Це значно швидше та менш енергозатратно, ніж процес Біткойна.
Децентралізація блокчейну
Блокчейн дозволяє даним в базі даних розподілятися серед кількох вузлів мережі — комп'ютерів або пристроїв, що виконують програмне забезпечення для блокчейну — у різних місцях. Це створює надмірність і підтримує цілісність даних. Наприклад, якщо хтось намагається змінити запис на одному вузлі, інші вузли перешкоджатимуть цьому, порівнюючи хеші блоків. Таким чином, жоден окремий вузол не може змінити інформацію в ланцюзі.
Завдяки цьому розподілу — і зашифрованому доказу того, що робота була виконана — дані блокчейну, такі як історія транзакцій, стають незворотними. Такий запис може бути списком транзакцій, але приватні блокчейни також можуть містити різноманітну іншу інформацію, таку як юридичні контракти, державні ідентифікаційні документи або інвентар компанії. Більшість блокчейнів не "зберігатимуть" ці елементи безпосередньо; вони, ймовірно, будуть відправлені через алгоритм хешування та представлені на блокчейні токеном.