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

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

Еволюція блокчейну

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

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

Bitcoin

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

Консенсус

Bitcoin використовує оригінальну реалізацію Proof of Work, яку розробив Сатоші. Майнери змагаються, щоб знайти nonce (випадкове число), яке при хешуванні з даними блоку створює хеш, що починається з певної кількості нулів.

Мережа автоматично регулює складність кожні 2 016 блоків (приблизно два тижні), щоб підтримувати середній час блоку в 10 хвилин.

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

Модель UTXO

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

Уявіть, що у вашому гаманці є три банкноти по 20 доларів, і ви хочете купити щось вартістю 35 доларів. Ви не можете розділити банкноту в 20 доларів, тому ви даєте касиру дві банкноти (40 доларів) і отримуєте 5 доларів здачі. Bitcoin працює точно так само:

Припустимо, Аліса отримала біткоїн у трьох окремих транзакціях:

  • UTXO #1: 0.5 BTC (від Боба)
  • UTXO #2: 0.3 BTC (від Керол)
  • UTXO #3: 0.8 BTC (від Дейва)

"Баланс" Аліси становить 1,6 BTC, але не існує єдиного рахунку, де зберігається це число. Натомість блокчейн фіксує три окремі UTXO, які Аліса може витратити.

Коли Аліса хоче надіслати 1,0 BTC Єві, вона повинна:

  • Вибрати UTXO, сума яких становить щонайменше 1,0 BTC (вона обирає UTXO №1 та №3, загалом 1,3 BTC)
  • Створити транзакцію, де вона надсилає 1,0 BTC Єві та 0,3 BTC назад собі як решту
  • Підписати транзакцію своїм приватним ключем, щоб довести, що вона володіє вхідними UTXO

Транзакція використовує UTXO №1 та №3 (тепер вони "витрачені") і створює два нових UTXO: один для Єви та один UTXO решти для Аліси.

Ця модель забезпечує потужні функції:

  • Паралельна обробка: Оскільки кожен UTXO можна витратити лише один раз, транзакції з різними UTXO не конфліктують. Майнери можуть одночасно перевіряти тисячі транзакцій, не турбуючись про подвійні витрати, якщо кожна транзакція посилається на різні UTXO.
  • Конфіденційність: Немає глобального рахунку, який розкриває ваш загальний баланс. Ваші біткоїни розподілені між кількома UTXO, що ускладнює спостерігачам визначення вашого загального багатства. Кожен UTXO може бути пов'язаний з різною адресою, що ще більше приховує схеми власності.
  • Проста перевірка: Кожну транзакцію можна перевірити незалежно, переконавшись, що вхідні UTXO існують і не були витрачені, а цифрові підписи дійсні. Вам не потрібно підтримувати складний стан рахунку або турбуватися про те, що порядок транзакцій впливає на баланси.
  • Атомарні операції: Транзакція або повністю успішна (використовує всі входи та створює всі виходи), або повністю невдала. Немає ризику часткового стану, коли частина грошей списується, але не переказується.

Ethereum

Поки Bitcoin вирішував проблему цифрових платежів, Віталік Бутерін побачив більшу можливість: що якщо блокчейн міг би виконувати будь-яку програму, а не лише переказувати гроші? Це бачення призвело до створення Ethereum: першого блокчейн-комп'ютера загального призначення.

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

Консенсус

Ethereum спочатку використовував Proof of Work, але перейшов на Proof of Stake у 2022 році під час "The Merge". Цей перехід зберіг безпеку, одночасно отримавши важливі переваги:

  • Математична остаточність: Приблизно через 13 хвилин транзакції стають математично незворотними
  • Енергоефективність: Більше немає масивного споживання електроенергії
  • Майбутні оновлення: Proof of Stake уможливлює шардинг: розділення мережі на паралельні ланцюги для вищої пропускної здатності

Модель облікових записів

Ethereum замінив систему UTXO Bitcoin на звичні баланси на основі облікових записів, що дозволило:

  • Смарт-контракти: Програми, які існують у блокчейні та підтримують власний стан
  • Зовнішні облікові записи: Облікові записи, контрольовані користувачами, подібні до адрес Bitcoin
  • Міжконтрактні виклики: Смарт-контракти можуть безперешкодно взаємодіяти один з одним

В Ethereum існує два типи облікових записів:

  • Зовнішні облікові записи (EOA): Контролюються користувачами за допомогою приватних ключів, подібно до адрес Bitcoin. Вони мають баланс і можуть надсилати транзакції.
  • Контрактні облікові записи: Контролюються кодом, а не приватними ключами. Вони мають баланс І зберігають виконуваний код та постійні дані.

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

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

Це робить можливими такі застосунки, як кредитні протоколи, системи управління та складні фінансові інструменти.

Все це можливо завдяки Ethereum Virtual Machine (EVM), яка працює на кожному вузлі та робить блокчейн програмованим. Вона визначає, які програми можуть працювати, як вони виконуються та які ресурси споживають.

Solana

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

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

Консенсус

Solana використовує Proof of Stake, але додає важливу інновацію: Proof of History. Замість того, щоб чекати консенсусу щодо часу подій, Solana створює криптографічний годинник, який ставить часові мітки на всі транзакції перед консенсусом, дозволяючи валідаторам обробляти транзакції паралельно, оскільки вони вже знають правильний порядок.

Це часове впорядкування забезпечує набагато швидший консенсус: Solana створює блоки кожні 400 мілісекунд порівняно з 12 секундами в Ethereum.

Віртуальна машина Solana

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

Solana фундаментально переосмислює цю архітектуру:

  • Безстанові програми: На відміну від Ethereum, де смарт-контракти зберігають дані внутрішньо, програми Solana є безстановими. Усі дані зберігаються в окремих облікових записах, які програми читають і записують. Це розділення дозволяє паралельну обробку, оскільки програми не конкурують за спільний стан.
  • Паралелізація транзакцій: Транзакції Solana повинні заздалегідь оголосити, які облікові записи вони читатимуть і змінюватимуть. Середовище виконання може тоді виконувати неконфліктні транзакції одночасно на кількох ядрах процесора. Якщо Транзакція A змінює Обліковий запис X, а Транзакція B змінює Обліковий запис Y, вони можуть виконуватися паралельно.
  • Оптимізоване виконання: SVM використовує архітектуру на основі регістрів замість підходу EVM на основі стеку, зменшуючи накладні витрати на переміщення даних під час обчислень. Програми компілюються в нативний машинний код, а не в байткод, усуваючи накладні витрати на інтерпретацію.
  • Передбачувані витрати: Замість фіксованих цін на газ Ethereum, визначених роки тому, Solana використовує динамічні ринки комісій, де вартість транзакцій відображає фактичний попит у мережі та спожиті обчислювальні ресурси.

В результаті Solana може обробляти понад 5 000 транзакцій за секунду (TPS) порівняно з 15 TPS Ethereum, зберігаючи при цьому фінальність менше секунди та децентралізацію. Така продуктивність досягається завдяки архітектурним рішенням, які надають перевагу паралельному виконанню над послідовною моделлю обробки, успадкованою від однопотокових обчислень.

Blueshift © 2025Commit: 6d01265