Що таке паралелізація і як вона допомагає масштабувати блокчейн?

25.04.2024
16 хв
998
3
Що таке паралелізація і як вона допомагає масштабувати блокчейн? Головний колаж статті.

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

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

Що таке паралелізація в блокчейні

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

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

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

Підходи до паралелізації

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

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

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

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

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

Ончейн-обробка проходить прямо в блокчейні та включає такі підходи до паралелізації як:

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

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

Як працює паралельне виконання транзакцій у блокчейні

Попри те, що існує декілька підходів до паралелізації в блокчейні, в загальному цей процес виглядає наступним чином:

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

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

Які блокчейн-проєкти використовують паралелізацію

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

  1. Solana використовує модель паралельної обробки з доступом до стану. Це дозволяє процесору знати всі залежності та заздалегідь вибирати необхідні ділянки пам’яті (мемпули) для обробки. 

    Важливим компонентом архітектури Solana є віртуальна машина Sealevel, яка є середовищем виконання смартконтрактів. Вона підтримує паралельну обробку декількох контрактів і транзакцій залежно від кількості ядер вузла валідатора. Оскільки в транзакціях заздалегідь вказується, з якими обліковими записами чи смартконтрактами вони взаємодіють, алгоритм може визначити, які транзакції можуть виконуватися одночасно.
  2. У листопаді команда Sei Network представила оновлення Sei V2, яке зробило мережу першим блокчейном оптимістичної паралельної обробки з підтримкою EVM. При виникненні конфліктів між транзакціями ланцюжок відстежує, до яких частин сховища відноситься кожна з них. Ті, що знаходяться в різних мемпулах, за потреби оброблюються повторно до повного усунення конфліктів.
  1. Мережа Aptos також використовує модель оптимістичної паралельної обробки. Aptos впорядковує транзакції всередині блоку, виконуючи їх паралельно й розв’язуючи конфлікти або залежності. Цей механізм більш ефективно використовує обчислювальні ресурси, значно підвищуючи пропускну здатність мережі.
  1. Криптопроєкт Sui застосовує метод паралелізації транзакцій на основі їх станів. Кожен об’єкт функціонує автономно, а його участь у транзакції явно визначена. Операції можуть оброблятися паралельно, допоки не виникає конфлікту через спільне використання об’єкта в інших транзакціях.
  2. EVM-сумісний блокчейн Monad, як і Aptos та Sei, використовує оптимістичну модель паралелізації. Ядро Monad обробляє транзакції одночасно, а потім виконує аналіз, щоб переконатися, що результат ідентичний послідовному виконанню. Ключовим нововведенням у дизайні Monad є так звані трубопроводи (pipeline), що дозволяють підвищити ефективність виконання транзакцій через групування окремих процесів.

Плюси та мінуси підходу

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

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

Серед проблем, з якими стикається концепція паралельної обробки, можна виділити наступні:

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

Висновки

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

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

Найчастіші запитання

Паралелізація — це процес одночасного виконання декількох операцій. У контексті блокчейну, це означає, що мережа може обробляти кілька транзакцій одночасно, а не по черзі, що робить весь процес швидшим та ефективнішим.
Паралелізація дозволяє мережі обробляти більшу кількість транзакцій за одиницю часу. Це зменшує час очікування для користувачів і знижує розмір комісій за операції.
Деякі блокчейн-платформи, такі як Solana, Sei Network, Monad та інші вже інтегрували паралельну обробку транзакцій.

Як вам стаття?

3
0

статті на цю ж тему

Як ефективно скасувати криптовалютну...
avatar Ivan Obrevko
18.04.2024
Що таке аппчейни і як вони...
avatar Ilya Surgan
17.04.2024
Кросчейн-мости: як працюють і які...
avatar Vlad Shevchenko
16.04.2024