Конкуренція за блоковий простір є і завжди буде однією з основних розбіжностей, які існують між різними користувачами протоколу Біткоїна. Зрештою, існує лише два обмеження щодо того, як він використовуватиметься: технічний рівень та рівень консенсусу (що насправді можливо або дозволено протоколом) та економічний рівень (що люди готові платити за використання блокового простору для різних цілей).
Це фундаментальна та неминуча реальність того, як працює мережа. Це суто ринковий розподілений механізм прийняття рішень щодо використання Біткоїна. Остаточне рішення про те, що можливо, приймає ринок. Ринок також приймає остаточне рішення, коли йдеться про впровадження нових можливостей, які поки що неможливі.
Для учасників ринку важливо мати усвідомлене розуміння різних варіантів використання простору блоків, щоб правильно оцінити, як різні варіанти використання можуть взаємодіяти один з одним.
Блоковий простір, по суті, є спільним надбанням, яким ніхто не володіє як з боку виробництва, так і з боку споживання, але він обмежений. Це не так уже й погано, особливо з огляду на неминучу вартість його використання. Однак, кожен варіант використання блокового простору має зовнішні наслідки, які він накладає на будь-який інший варіант використання, який потребує цього блокового простору. На певному рівні споживання блокового простору – це гра із нульовою сумою. Один об'єкт або використання, що споживає простір, витісняє інший об'єкт або використання, яке також займатиме цей простір.
У будь-якому нормальному соціальному контексті люди свідомо вирішують такі конфлікти. Якщо з'являється одне використання, яке споживає велику кількість місця, учасники працюватимуть над тим, щоб зробити його більш ефективним або зробити використання, яке витісняється, більш ефективним, щоб підтримувати певний тип балансу. У гіршому випадку деструктивне використання, яке завдає шкоди великій кількості людей, буде обмежене. Але Біткоїн – це анархічна система, тут немає точки контролю чи повноважень для участі у такому типі управління системою.
Є лише ринок.
Взаємозв'язок між використанням блокового простору та ринковою динамікою, яка ним управляє, зазвичай концептуалізується дуже спрощено. Люди купують блоковий простір і можуть робити з ним все, що завгодно, у рамках правил консенсусу. Хоча це основний аспект цієї динаміки, він не єдиний. Що таке консенсус? Як досягається консенсус? Це також невіддільна складова динаміки.
Правила консенсусу – це органічна основа, яка створюється економічними суб'єктами, а правила консенсусу визначають, що можна чи не можна робити з блоковим простором. Це критично важливий рівень ринкової динаміки, який визначає його використання, окрім простого економічного аспекту того, заради чого люди вирішують купувати блоковий простір.
Це критичний аспект системи та того, як вона працює, і як користувачі блокового простору повинні розглядати систему, якщо вони хочуть зберегти життєздатність свого конкретного використання блокового простору. Кожен учасник системи повинен розуміти, що він може брати участь у ринкових діях, керуючись певними правилами, а не лише тим, скільки він вирішить платити за блоковий простір, який він використовує.
Аналізуючи різні варіанти використання блокового простору важливо враховувати безліч різних динамік, а також те, як вони вплинуть на загальну доступність простору для інших цілей. Скільки використовується, частота використання, наскільки нееластичний попит в умовах волатильності цін і т. д. Кожному, хто розробляє систему на основі Біткоїна, необхідно враховувати не тільки те, як його система функціонує щодо використання блокового простору, але й те, як це роблять інші системи.
Одна система може дуже добре функціонувати у вакуумі, але зазнати навантаження або зрештою вийти з ладу, якщо їй доведеться працювати в середовищі з іншими системами.
Це основні категорії, які слід враховувати у цій динаміці.
Найголовніший фактор – скільки місця в блоці займає конкретне використання в байтах. Це перша форма дефіциту загального ресурсу блокового простору. Ідеальна система, побудована на основі Біткоїна, намагатиметься мінімізувати обсяг простору, необхідного для її функціонування, не жертвуючи при цьому корисністю чи безпекою.
Уявіть собі, що це просте співвідношення: ви хочете використовувати якнайменше блокового простору, одночасно максимізуючи корисність та безпеку, які надаються користувачеві системи. У деяких випадках це можна зробити точним детермінованим чином, тобто обсяг використовуваного простору є постійною і передбачуваною величиною, яка залежить від конструкції системи та стану, в якому знаходиться система, коли їй потрібно використання блокового простору. В інших випадках вимоги до блокового простору системи не можуть бути точно визначені наперед. У разі невизначених вимог до простору діапазон між нижньою та верхньою межею може бути встановлений залежно від стану системи та її конструкції.
Таким чином, існують системи, для яких потрібен постійний розмір, який не змінюється залежно від стану системи, або який є відносно постійним, пропорційним до рівня її використання. Інші системи можуть мати потреби у просторі, які варіюються і не прямо пропорційні до рівня їхнього використання. Незалежно від того, чи є потреби протоколу у просторі змінними чи постійними, це вирішальний чинник під час проєктування системи.
Наступний важливий фактор – як часто вам доводиться використовувати простір блоків. Скільки місця займає окрема транзакція у системі є лише частиною загальної вартості цієї системи; як часто вам знадобиться проведення транзакцій?
Деякі системи потребують постійного використання блокового простору кожного разу, коли система змінює стан або виконує будь-яку дію. Інші системи вимагатимуть лише нечастого використання блокового простору. Деяким може взагалі не знадобитися нічого, крім входу в систему або виходу з неї.
Подібно до того, як мінімізація загальної потреби в просторі для одноразового використання блокового простору є ідеальною метою проєктування, так само мінімізація частоти, з якою система повинна використовувати блоковий простір, також є ідеальною метою. В ідеалі правильно сконструйована система не повинна використовувати блоковий простір, за винятком найгіршого випадку відмови або під час входу в систему або виходу з неї.
Є два способи спроєктувати систему з погляду частоти використання блокового простору: постійної чи змінної. Очевидно, що в системі з постійною частотою щоразу, коли система виконує будь-яку дію та якимось чином прогресує, для розвитку системи необхідно використовувати простір блоків. У системі зі змінною частотою стан системи може прогресувати або дія може бути виконана без необхідності споживати блоковий простір для обробки.
Обидва ці типи систем по-різному взаємодіють із ринком блокового простору та одна з одною.
Системи з постійною частотою передбачувані та легко аналізуються з погляду використання блокового простору залежно від обсягу або використання самої системи. Інженерна увага такої системи зосереджена на мінімізації місця в ланцюжку, оскільки частота, з якою їй потрібно буде використовувати простір блоків, передбачувана і детермінована залежно від рівня використання, тобто принципово не змінюється.
Системи зі змінною частотою непередбачувані, і їх набагато складніше аналізувати з погляду використання блокового простору. Метою системи є не лише мінімізація свого сліду в ланцюжку, а й балансування стимулів системи. Системи зі змінною частотою зазвичай є змінними, оскільки потреба у просторі блоків виникає через те, що користувачі системи не взаємодіють один з одним. Це спричинює непередбачуваність, і саме тому інженерія фокусується на балансі стимулів для забезпечення співпраці.
Наскільки чутлива до часу потреба системи щодо використання блокового простору? Коли потрібно виконати оновлення системи чи дію, чи потрібно це виконувати негайно, чи можна почекати? Це відповідь на якусь іншу дію чи просто оновлення, яке зрештою має відбутися, але не має чіткого терміну?
Системи з постійною частотою, як правило, не мають чутливості до реального часу, крім необхідності перемикання зміни стану системи з непідтвердженого на підтверджений. Деякі конкретні випадки розвитку стану можуть мати деяку чутливість до часу, але загалом система або прогресуватиме, або ні.
Системи зі змінною частотою зазвичай мають потребу у блоковому просторі, оскільки кеш прогресій станів поза ланцюжком оскаржується в ланцюжку. Це пов'язано з чутливістю до часу, оскільки використання блокового простору – це не питання збереження поточного стану або його прогресування, це проблема, під час якої абсолютно неправильний стан може бути вирішено в ланцюжку.
Це дві абсолютно різні динаміки з погляду чутливості до часу і через цю чутливість до ціни, коли системам потрібний блоковий простір. Системи, які менш чутливі до часу, можуть бути більш нечутливими до ціни, тому що вони можуть просто довше чекати на підтвердження будь-якої операції в ланцюжку. І навпаки, більш чутливі до часу системи чутливіші до цін, тому що вони повинні платити будь-яку поточну ринкову ставку для швидкого підтвердження, щоб забезпечити правильний розвиток стану.
Як постійні, так і змінні системи повинні взаємодіяти одна з одною, або, швидше, із зовнішніми ефектами, які кожна з них створює для всіх, коли вони взаємодіють із блокчейном. Всі вони різні. Системи постійної частоти гігантські, не дуже адаптовані та не динамічні. Вони завжди повинні використовувати блоковий простір для розвитку системи. Системи з регульованою частотою набагато більш маневрові та гнучкі, а також здатні забезпечити динамічність у роботі. Вони можуть знайти винахідливі способи з погляду дизайну чи стимулів, щоб уникнути споживання блокового простору.
Чи є ці системи постійними, чи змінними з погляду вимог до простору, також є величезним фактором щодо адаптованості системи, яка ділиться загальним ресурсом блокового простору з іншими. Вартість експлуатації кожної системи є фактором загальної насиченості використання блокового простору в усьому світі та того, де це збільшує ціну блокового простору. Отже, як часто їм доводиться споживати блоковий простір і скільки?
На додачу, загальний рівень насичення і, отже, комісій визначається сукупністю систем, що працюють на Біткоїні. Таким чином, це цикл зворотного зв'язку: характер роботи систем визначатиме, наскільки насичений попит на блоковий простір та наскільки високі комісії. Це має наслідки для життєздатності та експлуатаційних витрат систем із різною архітектурою.
Безліч систем з постійною частотою створюватимуть постійний та передбачуваний попит, а після певної точки насичення почнуть постійно підвищувати комісію. Постійні системи не можуть адаптуватися до цього, окрім як шляхом пошуку способів зменшити свою присутність у ланцюжку, платити більше або просто довше чекати на обробку оновлень системи.
Багато систем зі змінною частотою матимуть менш послідовний та передбачуваний попит на блоковий простір. Вимога до блокового простору, обумовлена цими протоколами, не є результатом послідовного розвитку стану системи, а викликана входом та виходом із системи або серйозними руйнівними подіями, які викликають збої у стимулах або збої у співпраці користувачів.
Коли мова йде про адаптацію до середовища з високими комісіями, що призводить до збільшення вартості систем, побудованих на Біткоїні, постійні та змінні системи мають дві принципово різні стратегії, які можна використовувати для адаптації до цього середовища.
Постійні системи можуть стискати дані для включення транзакції в ланцюжку, які вони використовують для розвитку стану системи. Крім цього, вони мають варіанти – почекати довше чи заплатити більше.
Змінні системи можуть спробувати масштабувати координацію великих груп людей з урахуванням стимулів. Вони також можуть налаштувати архітектуру, щоб усунути або пом'якшити неузгодженість стимулів або вектори атак, які можуть порушити роботу систем та змусити їх використовувати простір блоків для врегулювання спірного стану.
Lightning – чудовий приклад системи змінних, як із погляду частоти використання блокового простору, і з погляду розміру даних. Роллапи стають чудовим прикладом системи постійної частоти та розміру даних. Взаємодія цих двох речей стане важливою частиною спостереження за розвитком ринків комісій у Біткоїні, і важливо розуміти різні аспекти того, як вони використовують простір блоків.
Найважливіше питання, яке виникає під час порівняння різних системних архітектур: що можна отримати в результаті? Який тип моделі безпеки отримує користувач, обираючи одну конкретну систему замість іншої? Яка вартість такої моделі безпеки в одній архітектурі порівняно з іншою? Витрати несе один користувач чи вони розподіляються між великою кількістю користувачів?
Вартість постійних та змінних систем необхідно зіставляти з вигодами. Чим надійніша модель безпеки та чим меншій кількості сторін або припущень необхідно довіряти, тим більшу цінність це має для користувачів.
У зв’язку з цим буде багато компромісів. Згодом щодо цього буде багато недоліків. Різні архітектури матимуть різні витрати, різну частоту споживання блокового простору та різні переваги. Кожна з цих систем матиме наслідки для витрат та вигод від роботи всіх інших систем.
Ще одним фактором, на який слід зважати, є централізація тиску. Змінні системи дозволяють безлічі різних учасників існувати в системі та залишають користувачам гнучкість в адаптації до присутності один одного в контексті періодичної потреби споживати блоковий простір, щоб гарантувати функціонування системи. Постійні системи, швидше за все, цього не зроблять, і це призведе до більшої централізації через досить жорстке споживання простору та верхню межу простору для роботи інших систем.
Зрештою те, які типи систем будуть існувати в Біткоїні і який вплив вони матимуть один на одного, залежить від того, що вирішить використовувати ринок. Користувачам важливо розуміти як витрати та вигоди різних систем для себе, так і зовнішні ефекти, які різні системи, які вони використовують, матимуть для ширшої мережі та екосистеми.
Люди постійно висловлюють абсурдні побоювання, коли з'являються нові функції Біткоїна, такі як урядові чорні списки, довільні дані або інші безглузді пояснення, які контролюють, що люди повинні мати або не мати можливості робити з блоковим простором, який вони купують. На мій погляд, це маневри, які відвертають увагу.
Справжньою проблемою під час обговорення додавання нових функцій у Біткоїн є взаємодія між постійними та змінними системами, побудованими на його основі, а також те, якому із цих типів системних архітектур нова функція додає корисності чи ефективності. Це необхідно ретельно враховувати під час аналізу нових функцій Біткоїна.
Те, як ці різні класи систем враховуються в базовому протоколі, матиме глибокі наслідки з погляду того, як ринок комісій Біткоїна та життєздатність (або її відсутність) різних типів систем розвиватимуться у довгостроковій перспективі.
Постійні системи мають жорстку стелю того, наскільки далеко вони можуть просувати масштабованість, враховуючи їхню постійну потребу в блоковому просторі, і ця динаміка також робить дуже ймовірним те, що вони стануть величезним фактором постійного і сильного тиску на комісії, якщо багато хто з них працюватиме одночасно.
Змінні системи можуть призвести до збільшення комісій під час масових заходів щодо включення або відключення або збоїв у функціонуванні системи, але в іншому випадку вони, швидше за все, не будуть створювати послідовний та передбачуваний тиск, поки не досягнуть набагато глибшої точки насичення, ніж постійні системи. Якщо зробити можливим дизайн, близький до ідеального, він потенційно ніколи не досягне справжньої сталої точки насичення.
Зрештою, рішення прийматиме ринок, але це рішення повинно бути поінформованим.