General
Вступ до блокчейну та Solana

Вступ до блокчейну та Solana

Основи блокчейну

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

Прорив стався завдяки поєднанню двох ключових інновацій: нових механізмів консенсусу та розумного використання криптографічних примітивів.

Механізми консенсусу

Насправді вчені-інформатики математично вирішили проблему візантійських генералів ще у 1980-х роках, показавши, що для протистояння f зрадникам потрібно щонайменше 3f+1 загальних учасників.

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

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

Математичне рішення цієї проблеми працює, але є непрактичним:

  • Ви повинні заздалегідь точно знати, хто всі учасники
  • Потрібні кілька раундів повідомлень між кожною парою учасників
  • Складність комунікації зростає експоненційно
  • У системі без дозволів атакуючі можуть створювати необмежену кількість фальшивих особистостей

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

Доказ роботи (Proof of Work, POW)

У системах POW, щоб запропонувати, що має статися далі, ви повинні довести, що виконали дорогу обчислювальну роботу:

  • Майнери збирають очікуючі транзакції у "блок"
  • Майнери повинні знайти випадкове число (назване "nonce"), яке при поєднанні з даними блоку та хешуванні дає результат, що починається з кількох нулів
  • Перший майнер, який знаходить це число, транслює своє рішення в мережу
  • Інші учасники можуть миттєво перевірити правильність рішення та прийняти новий блок

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

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

Припущення безпеки полягає в тому, що атака коштує більше в електроенергії, ніж зловмисник міг би отримати.

Доказ частки (Proof of Stake)

У системах POS, замість витрачання електроенергії, учасники ризикують власними грошима:

  • Учасники блокують криптовалютні токени як заставу
  • Протокол випадковим чином обирає валідаторів для пропонування блоків, зважаючи на їхню частку
  • Обрані валідатори пропонують блоки, а інші валідатори голосують за прийняття або відхилення
  • Чесна поведінка приносить винагороди; нечесна поведінка призводить до "слешингу", коли частина їхніх заблокованих токенів конфіскується. Точний штраф залежить від мережі та серйозності порушення.

Це працює, тому що валідатори мають "шкіру в грі". Атака на мережу знищила б вартість їхніх заблокованих токенів (через слешинг). Крім того, на відміну від Proof of Work, Proof of Stake може забезпечити економічну завершеність. Після того, як блок фіналізовано суперважливою більшістю валідаторів, його скасування вимагало б від зловмисника доведено знищити величезну кількість капіталу, що робить скасування надзвичайно дорогим.

Трилема блокчейну

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

  • Безпека: стійкість до атак і цензури
  • Масштабованість: висока пропускна здатність транзакцій
  • Децентралізація: відсутність єдиної точки контролю

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

Криптографічні примітиви

Механізми консенсусу вирішують проблему "хто вирішує", але як забезпечити надійність самих даних?

Саме тут на допомогу приходять криптографічні примітиви: математичні інструменти, які пройшли випробування часом протягом десятиліть.

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

Хеш-функції

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

Хеш-функція бере будь-який вхідний матеріал (чи то слово "Привіт", всі твори Шекспіра, чи блок із тисячами транзакцій) і створює вихідні дані фіксованого розміру, які слугують унікальним цифровим відбитком.

Хеш-функції мають три ключові властивості:

  • Детермінованість: Однаковий вхідний матеріал завжди дає однаковий результат.
  • Незворотність: Функцію легко обчислити в одному напрямку, але обчислювально неможливо повернути назад. Маючи хеш, ви не можете легко знайти оригінальний вхідний матеріал, окрім як методом перебору або за допомогою таблиці пошуку.
  • Лавинний ефект: Незначна зміна вхідних даних (наприклад, зміна регістру однієї літери) призводить до повністю іншого вихідного хешу.

Розгляньте ці хеші SHA-256, які демонструють лавинний ефект:

plaintext
SHA-256("Hello") = 185f8db32271fe25f561a6fc938b2e264306ec304eda518007d1764826381969
SHA-256("hello") = 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824

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

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

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

Цифрові підписи

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

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

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

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

Це створює "неможливість відмови": після підписання транзакції ви не можете стверджувати, що не авторизували її. Математичний доказ є незаперечним.

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

Дерева Меркла

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

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

З цієї причини, щоб довести існування будь-якої транзакції в дереві, вам потрібні лише сама транзакція та "шлях Меркла": сусідні хеші, необхідні для відтворення кореня. Це означає, що для дерева з мільйоном транзакцій вам потрібно лише близько 20 хешів, щоб довести включення.

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

Створення системи без довіри

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

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

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

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

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

Blueshift © 2025Commit: 6d01265
Blueshift | Вступ до блокчейну та Solana | Основи блокчейну