Blockchain Bitcoin

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

З технічної точки зору, окремо від системи Біткоїн:

Blockchain – це розподілена база даних, яка зберігає інформацію організовану особливим чином. Інформація в Блокчейні розподілена по файлах (інформаційних блоках), які пов’язані між собою і розташовані в хронологічному порядку.

Інформаційні блоки містять інформацію транзакцій і додаткову текстову інформацію, наприклад

  • дата/час створення блоку;
  • порядковий номер блоку в блокчейні;
  • спеціальне число Nonce;
  • сукупна інформація транзакцій, які належать до цього блоку;
  • хеш попереднього блоку;
  • хеш поточного блоку і деяку іншу інформацію.

Що таке хеш і хешування?

Хешування – це процес перетворення текстового рядка довільної довжини в іншу, унікальний текстовий рядок обмеженої довжини.

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

В системі Біткоїн використовується хешування за алгоритмом SHA-256.

Наприклад, слово: Bitcoin

Хеш цього слова після хешування за алгоритмом SHA-256:

B4056DF6691F8DC72E56302DDAD345D65FEAD3EAD9299609A826E2344EB63AA4

Якщо додати або видалити до слова Bitcoin будь-який символ, хеш суттєво зміниться. Хеш рядка неможливо розшифрувати задля отримання вихідного рядка.

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

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

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

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

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

000000000019d6689c085ae165831e934ff763ae46a2a6c172b3f1b60a8ce26f

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

Ця змінна Nonce – цілі числа. Щоб блок відповідав правилам системи Біткоїн, потрібно підібрати таке ціле число Nonce, з яким хеш всієї інформації блоку, на початку буде містити потрібну кількість нулів.

Майнінг – це процес підбору числа Nonce

Число Nonce невідоме, його не можна вирахувати. Це число можна лише знайти тільки шляхом підбору.

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

Уявіть ситуацію, коли необхідно перерахувати сотні або тисячі блоків.

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

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

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

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

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

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

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

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

Новий блок з транзакціями додається до блокчейну Біткоїна, в середньому, кожні 600 секунд (10 хвилин).

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

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

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