Зв'язок між розміром блоку і масштабованість

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

Чому розмір блоку такий важливий?

Почнемо, мабуть, з того, що сам термін «блокчейн» перекладається як «ланцюжок блоків». Кожен окремий блок являє собою певний обсяг даних, в якому зберігається інформація про транзакції. З огляду на цей обсяг, а також - на швидкість генерації нових блоків, можна вирахувати, яку кількість транзакцій в секунду (transactions per second - TPS) здатний підтримувати блокчейн. Очевидно, що чим це число вище - тим краще. Тому розробники активно шукають способи підвищити його.

І в контексті використання криптовалюти це особливо актуально. Адже Bitcoin, навіть з усіма рішеннями другого рівня та іншими доповненнями, видає максимум 7 TPS. А Ethereum - до 15. Для порівняння, система грошових переказів Visa генерує до 1700 транзакцій в секунду. Тому для того, щоб почати складати реальну конкуренцію традиційним фінансовим системам, криптовалютні проекти повинні значно підвищити швидкість своєї роботи. Однак просто збільшити розмір блоку - це тимчасове рішення, яке в майбутньому може привести до деяких проблем. На щастя, є й інші варіанти дії, і ми зараз постараємося деякі з них розібрати.

Як саме можуть масштабуватися блокчейни?

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

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

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

Аргументи за і проти простого збільшення розміру блоку

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

Але є тут і деякі проблеми. На поточному рівні технічного розвитку, у власників вузлів немає ніяких проблем із завантаженням нових блоків. І не буде, навіть якщо підвищити їх розмір до 32 МБ. Однак якщо цей процес триватиме і розміри збільшаться до гігабайту, почнуться проблеми. Як з пропускною спроможністю мережі інтернет, так і з обсягами пам'яті на комп'ютерах. Тому блкочейн перестане бути мережею для «всіх і кожного», а стане інструментом для «кожного з реально потужним комп'ютером, а ще краще - з сервером або системою серверів». Тобто - посилення централізації.

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

Як йдуть справи з вирішенням проблеми на даний момент?

На момент написання статті, блокчейн Bitcoin не міняв природи використовуваних блоків з початку впровадження протоколу SegWit. Але активно розвивав рішення другого рівня і сайдчейни. Саме вони дозволили використовувати біткоіни для здійснення повсякденних покупок. Що стосується збільшення блоків, то в BitcoinSV пішли ще далі, ніж в Bitcoin Cash, підвищивши їх розмір до 2 ГБ. Це, втім, призвело лише в збільшення вартості обслуговування і регулярної втрати даних.

Ось тільки це не межа. У проекті ILCOIN використовується протокол RIFT, який, за словами його творців, дозволяє створювати блоки до 5 ГБ розмірів і забезпечує TPS на рівні 100 тисяч. Це можливо завдяки тому, що кожна велика одиниця зберігання інформації складається з утворень поменше (всього 25 МБ) які не потрібно видобувати індивідуально, оскільки вони автоматично генеруються «батьківським блоком».

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

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

Висновки

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