Плазмові ланцюги
Останні оновлення сторінки: 25 лютого 2026 р.
Ланцюжок Plasma — це окремий блокчейн, прив'язаний до основної мережі Ethereum, але він виконує транзакції поза ланцюгом за допомогою власного механізму перевірки блоків. Ланцюжки Plasma іноді називають «дочірніми» ланцюжками, по суті, меншими копіями основної мережі Ethereum. Ланцюжки Plasma використовують (подібно до оптимістичних зведень) для вирішення суперечок.
Дерева Меркла дають змогу створювати нескінченний стек цих ланцюжків, які можуть працювати для розвантаження пропускної здатності від батьківських ланцюжків (включно з основною мережею Ethereum). Однак, хоча ці ланцюжки й отримують певну безпеку від Ethereum (за допомогою доказів шахрайства), на їхню безпеку та ефективність впливають кілька обмежень конструкції.
Передумови
Ви повинні добре розуміти всі основні теми та мати загальне уявлення про масштабування Ethereum.
Що таке Plasma?
Plasma — це фреймворк для покращення масштабованості в загальнодоступних блокчейнах, як-от Ethereum. Як описано в оригінальному документі Plasmaopens in a new tab, ланцюжки Plasma будуються поверх іншого блокчейну (так званого «кореневого ланцюжка»). Кожен «дочірній ланцюжок» розширюється від кореневого ланцюжка та зазвичай керується смарт-контрактом, розгорнутим у батьківському ланцюжку.
Контракт Plasma, серед іншого, функціонує як міст, що дозволяє користувачам переміщувати активи між основною мережею Ethereum і ланцюжком Plasma. Хоча це робить їх схожими на сайдчейни, ланцюжки Plasma певною мірою отримують переваги від безпеки основної мережі Ethereum. Це не схоже на сайдчейни, які несуть повну відповідальність за свою безпеку.
Як працює Plasma?
Основними компонентами фреймворку Plasma є:
Позаланцюгові обчислення
Поточна швидкість обробки Ethereum обмежена ~ 15-20 транзакціями на секунду, що зменшує короткострокову можливість масштабування для обробки більшої кількості користувачів. Ця проблема існує головним чином тому, що механізм консенсусу Ethereum вимагає, щоб багато вузлів P2P перевіряли кожне оновлення стану блокчейну.
Хоча механізм консенсусу Ethereum необхідний для безпеки, він може застосовуватися не в кожному випадку використання. Наприклад, Еліс може не потребувати, щоб її щоденні платежі Бобу за чашку кави перевірялися всією мережею Ethereum, оскільки між обома сторонами існує певна довіра.
Plasma припускає, що основна мережа Ethereum не потребує перевірки всіх транзакцій. Замість цього ми можемо обробляти транзакції поза основною мережею, звільняючи вузли від необхідності перевіряти кожну транзакцію.
Обчислення поза ланцюжком необхідні, оскільки ланцюжки Plasma можуть оптимізувати швидкість і вартість. Наприклад, ланцюжок Plasma може — і найчастіше так і робить — використовувати єдиного «оператора» для керування впорядкуванням і виконанням транзакцій. Оскільки транзакції перевіряє лише одна сутність, час обробки в ланцюжку Plasma менший, ніж в основній мережі Ethereum.
Зобов'язання щодо стану
Хоча Plasma виконує транзакції поза ланцюгом, вони обробляються на основному виконавчому рівні Ethereum — інакше ланцюжки Plasma не можуть скористатися гарантіями безпеки Ethereum. Але завершення транзакцій поза ланцюжком без знання стану ланцюжка Plasma порушило б модель безпеки та дозволило б поширювати недійсні транзакції. Ось чому оператор, сутність, відповідальна за створення блоків у ланцюжку Plasma, зобов’язаний періодично публікувати «зобов’язання щодо стану» в Ethereum.
Схема зобов'язаньopens in a new tab — це криптографічний метод зобов'язання щодо значення або твердження без його розкриття іншій стороні. Зобов'язання є «обов'язковими» в тому сенсі, що ви не можете змінити значення або твердження після того, як ви взяли на себе зобов'язання. Зобов’язання щодо стану в Plasma мають форму «коренів Меркла» (похідних від дерева Меркла), які оператор з інтервалами надсилає до контракту Plasma в ланцюжку Ethereum.
Корені Меркла — це криптографічні примітиви, які дозволяють стискати великі обсяги інформації. Корінь Меркла (у цьому випадку також називається «коренем блоку») може представляти всі транзакції в блоці. Корені Меркла також полегшують перевірку того, що невелика частина даних є частиною більшого набору даних. Наприклад, користувач може створити доказ Меркла, щоб довести включення транзакції в певний блок.
Корені Меркла важливі для надання інформації про стан поза ланцюгом для Ethereum. Ви можете думати про корені Меркла як про «точки збереження»: оператор каже: «Це стан ланцюжка Plasma в момент часу x, а це корінь Меркла як доказ». Оператор зобов'язується щодо поточного стану ланцюжка Plasma з коренем Меркла, тому це називається «зобов'язанням щодо стану».
Входи та виходи
Щоб користувачі Ethereum могли скористатися перевагами Plasma, потрібен механізм переміщення коштів між основною мережею та ланцюжками Plasma. Однак ми не можемо довільно надсилати етер на адресу в ланцюжку Plasma — ці ланцюжки несумісні, тому транзакція або не вдасться, або призведе до втрати коштів.
Plasma використовує головний контракт, що працює на Ethereum, для обробки входів і виходів користувачів. Цей головний контракт також відповідає за відстеження зобов’язань щодо стану (пояснено раніше) і покарання за нечесну поведінку за допомогою доказів шахрайства (докладніше про це пізніше).
Вхід до ланцюжка Plasma
Щоб увійти до ланцюжка Plasma, Еліс (користувач) повинна буде внести ETH або будь-який токен ERC-20 у контракт Plasma. Оператор Plasma, який стежить за депозитами за контрактом, відтворює суму, що дорівнює початковому депозиту Еліс, і переказує її на її адресу в ланцюжку Plasma. Еліс зобов’язана підтвердити отримання коштів у дочірньому ланцюжку, а потім може використовувати ці кошти для транзакцій.
Вихід із ланцюжка Plasma
Вихід із ланцюжка Plasma є складнішим, ніж вхід до нього, з кількох причин. Найбільша з них полягає в тому, що, хоча Ethereum має інформацію про стан ланцюжка Plasma, він не може перевірити, правдива ця інформація чи ні. Зловмисний користувач може зробити невірне твердження («У мене є 1000 ETH») і залишитися безкарним, надавши підроблені докази на підтвердження своєї заяви.
Щоб запобігти зловмисному виведенню коштів, вводиться «період оскарження». Протягом періоду оскарження (зазвичай тиждень) будь-хто може оскаржити запит на зняття коштів за допомогою доказу шахрайства. Якщо оскарження буде успішним, запит на зняття коштів буде відхилено.
Однак зазвичай користувачі є чесними та роблять правильні заяви щодо коштів, якими вони володіють. У цьому сценарії Еліс ініціює запит на виведення коштів у кореневому ланцюжку (Ethereum), надіславши транзакцію до контракту Plasma.
Вона також повинна надати доказ Меркла, який підтверджує, що транзакція зі створення її коштів у ланцюжку Plasma була включена до блоку. Це необхідно для ітерацій Plasma, як-от Plasma MVPopens in a new tab, які використовують модель невитрачених виходів транзакцій (UTXO)opens in a new tab.
Інші, як-от Plasma Cashopens in a new tab, представляють кошти як невзаємозамінні токени замість UTXO. У цьому випадку виведення коштів вимагає підтвердження права власності на токени в ланцюжку Plasma. Це робиться шляхом надсилання двох останніх транзакцій за участю токена та надання доказу Меркла, що підтверджує включення цих транзакцій до блоку.
Користувач також повинен додати заставу до запиту на виведення коштів як гарантію чесної поведінки. Якщо претендент доведе, що запит Еліс на виведення коштів є недійсним, її заставу буде скорочено, а частина її дістанеться претенденту як винагорода.
Якщо період оскарження мине, і ніхто не надасть доказів шахрайства, запит Еліс на виведення коштів вважається дійсним, що дозволяє їй отримати депозити з контракту Plasma на Ethereum.
Арбітраж спорів
Як і будь-який блокчейн, ланцюжки Plasma потребують механізму для забезпечення цілісності транзакцій у випадку, якщо учасники діють зловмисно (наприклад, подвійно витрачають кошти). З цією метою ланцюжки Plasma використовують докази шахрайства для вирішення суперечок щодо дійсності переходів стану та покарання за погану поведінку. Докази шахрайства використовуються як механізм, за допомогою якого дочірній ланцюжок Plasma подає скаргу до свого батьківського ланцюжка або до кореневого ланцюжка.
Доказ шахрайства — це просто твердження про те, що певний перехід стану є недійсним. Прикладом може бути ситуація, коли користувач (Еліс) намагається витратити одні й ті ж кошти двічі. Можливо, вона витратила UTXO в транзакції з Бобом і хоче витратити той самий UTXO (який тепер належить Бобу) в іншій транзакції.
Щоб запобігти виведенню коштів, Боб створить доказ шахрайства, надавши докази того, що Еліс витратила згаданий UTXO в попередній транзакції, і доказ Меркла про включення транзакції до блоку. Той самий процес працює і в Plasma Cash — Бобу потрібно буде надати докази того, що Еліс раніше переказала токени, які вона намагається вивести.
Якщо оскарження Боба вдасться, запит Еліс на виведення коштів скасовується. Однак цей підхід покладається на здатність Боба стежити за ланцюжком запитів на виведення коштів. Якщо Боб перебуває в автономному режимі, Еліс може обробити зловмисне виведення коштів після закінчення періоду оскарження.
Проблема масового виходу в Plasma
Проблема масового виходу виникає, коли велика кількість користувачів намагається одночасно вивести кошти з ланцюжка Plasma. Чому ця проблема існує, пов'язано з однією з найбільших проблем Plasma: недоступністю даних.
Доступність даних — це можливість перевірити, чи інформація для запропонованого блоку дійсно була опублікована в мережі блокчейн. Блок «недоступний», якщо виробник публікує сам блок, але приховує дані, використані для створення блоку.
Блоки повинні бути доступні, щоб вузли могли завантажувати блок і перевіряти дійсність транзакцій. Блокчейни забезпечують доступність даних, змушуючи виробників блоків розміщувати всі дані транзакцій у ланцюжку.
Доступність даних також допомагає захистити протоколи масштабування поза ланцюгом, які побудовані на базовому рівні Ethereum. Змушуючи операторів у цих ланцюжках публікувати дані транзакцій на Ethereum, будь-хто може оскаржити недійсні блоки, створюючи докази шахрайства, що посилаються на правильний стан ланцюжка.
Ланцюжки Plasma в основному зберігають дані транзакцій в оператора та не публікують жодних даних в основній мережі (тобто, окрім періодичних зобов'язань щодо стану). Це означає, що користувачі повинні покладатися на оператора для надання даних блоку, якщо їм потрібно створити докази шахрайства, що оскаржують недійсні транзакції. Якщо ця система працює, користувачі завжди можуть використовувати докази шахрайства для захисту коштів.
Проблема починається, коли оператор, а не просто будь-який користувач, є стороною, що діє зловмисно. Оскільки оператор повністю контролює блокчейн, у нього більше стимулів просувати недійсні переходи стану у великих масштабах, наприклад, красти кошти, що належать користувачам у ланцюжку Plasma.
У цьому випадку використання класичної системи доказів шахрайства не працює. Оператор може легко здійснити недійсну транзакцію, переказавши кошти Еліс та Боба на свій гаманець, і приховати дані, необхідні для створення доказу шахрайства. Це можливо, оскільки оператор не зобов’язаний надавати дані користувачам або основній мережі.
Тому найбільш оптимістичним рішенням є спроба «масового виходу» користувачів з ланцюжка Plasma. Масовий вихід уповільнює план зловмисного оператора щодо крадіжки коштів і забезпечує певний рівень захисту для користувачів. Запити на виведення коштів упорядковуються залежно від того, коли було створено кожен UTXO (або токен), що не дозволяє зловмисним операторам випереджати чесних користувачів.
Тим не менш, нам все ще потрібен спосіб перевірки дійсності запитів на виведення коштів під час масового виходу — щоб запобігти тому, щоб опортуністичні особи наживалися на хаосі, обробляючи недійсні виходи. Рішення просте: вимагати від користувачів публікувати останній дійсний стан ланцюжка, щоб вивести свої гроші.
Але цей підхід все ще має проблеми. Наприклад, якщо всім користувачам ланцюжка Plasma потрібно вийти (що можливо у випадку зловмисного оператора), то весь дійсний стан ланцюжка Plasma повинен бути одразу скинутий на базовий рівень Ethereum. З огляду на довільний розмір ланцюжків Plasma (висока пропускна здатність = більше даних) і обмеження швидкості обробки Ethereum, це не ідеальне рішення.
Хоча ігри з виходом теоретично звучать добре, масові виходи в реальному житті, ймовірно, викличуть перевантаження в мережі самого Ethereum. Окрім шкоди функціональності Ethereum, погано скоординований масовий вихід означає, що користувачі можуть не мати змоги вивести кошти до того, як оператор вичерпає кожен обліковий запис у ланцюжку Plasma.
Переваги та недоліки Plasma
| Переваги | Недоліки |
|---|---|
| Пропонує високу пропускну здатність і низьку вартість транзакції. | Не підтримує загальні обчислення (не може запускати смарт-контракти). За допомогою логіки предикатів підтримуються лише базові передачі, свопи та деякі інші види транзакцій. |
| Підходить для транзакцій між користувачами (без накладних витрат на пару користувачів, якщо обидва вказані в плазмовому ланцюгу) | Необхідно періодично стежити за мережею (вимога життєдіяльності) або делегувати цю відповідальність комусь іншому, щоб забезпечити безпеку ваших коштів. |
| Ланцюги Plasma можна адаптувати до конкретних випадків використання, які не пов’язані з основним ланцюгом. Будь-хто, включаючи бізнес, може налаштувати смарт-контракти Plasma, щоб забезпечити масштабовану інфраструктуру, яка працює в різних контекстах. | Покладається на одного або декількох операторів для зберігання даних та обслуговування їх за запитом. |
| Зменшує навантаження на основну мережу Ethereum, переміщуючи обчислення та зберігання поза ланцюжком. | Зняття коштів відкладається на кілька днів, щоб урахувати проблеми. Для взаємозамінних активів це можна пом'якшити за допомогою постачальників ліквідності, але є пов'язані з цим капітальні витрати. |
| Якщо занадто багато користувачів спробують вийти одночасно, мережа Ethereum Mainnet може перевантажитися. |
Plasma проти протоколів масштабування рівня 2
Хоча колись Plasma вважалася корисним рішенням для масштабування Ethereum, згодом від неї відмовилися на користь протоколів масштабування рівня 2 (L2). Рішення для масштабування L2 усувають кілька проблем Plasma:
Ефективність
Зведення з нульовим розголошенням генерують криптографічні докази дійсності кожної партії транзакцій, оброблених поза ланцюжком. Це не дозволяє користувачам (та операторам) просувати недійсні переходи стану, усуваючи потребу в періодах оскарження та іграх з виходом. Це також означає, що користувачам не потрібно періодично стежити за ланцюжком, щоб захистити свої кошти.
Підтримка смарт-контрактів
Іншою проблемою фреймворку Plasma була неможливість підтримувати виконання смарт-контрактів Ethereumopens in a new tab. У результаті більшість реалізацій Plasma були створені переважно для простих платежів або обміну токенами ERC-20.
І навпаки, оптимістичні зведення сумісні з віртуальною машиною Ethereum і можуть запускати власні смарт-контракти Ethereum, що робить їх корисним і безпечним рішенням для масштабування децентралізованих застосунків. Так само, розробляються плани створити реалізацію EVM з нульовим розголошенням (zkEVM)opens in a new tab, що дозволить ZK-зведенням обробляти довільну логіку та виконувати смарт-контракти.
Недоступність даних
Як пояснювалося раніше, Plasma страждає від проблеми доступності даних. Якщо зловмисний оператор просуне недійсний перехід у ланцюжку Plasma, користувачі не зможуть його оскаржити, оскільки оператор може приховати дані, необхідні для створення доказу шахрайства. Зведення вирішують цю проблему, змушуючи операторів розміщувати дані транзакцій на Ethereum, що дозволяє будь-кому перевіряти стан ланцюжка та створювати докази шахрайства за необхідності.
Проблема масового виходу
ZK-зведення та оптимістичні зведення вирішують проблему масового виходу Plasma різними способами. Наприклад, ZK-зведення покладається на криптографічні механізми, які гарантують, що оператори не можуть вкрасти кошти користувачів за жодних обставин.
Аналогічно, оптимістичні зведення накладають період затримки на виведення коштів, протягом якого будь-хто може ініціювати оскарження та запобігти зловмисним запитам на виведення. Хоча це схоже на Plasma, різниця в тому, що верифікатори мають доступ до даних, необхідних для створення доказів шахрайства. Таким чином, користувачам зведень не потрібно брати участь у шаленій міграції «першим на вихід» до основної мережі Ethereum.
Чим Plasma відрізняється від сайдчейнів і шардингу?
Plasma, сайдчейни та шардінг досить схожі, оскільки всі вони певним чином підключаються до основної мережі Ethereum. Однак рівень і міцність цих зв’язків різняться, що впливає на властивості безпеки кожного рішення масштабування.
Plasma проти сайдчейнів
Сайдчейн — це незалежний блокчейн, підключений до основної мережі Ethereum через двосторонній міст. Мости дозволяють користувачам обмінюватися токенами між двома блокчейнами для здійснення транзакцій у сайдчейні, зменшуючи перевантаження основної мережі Ethereum і покращуючи масштабованість. Сайдчейни використовують окремі механізми консенсусу і, як правило, набагато менші, ніж Mainnet Ethereum. Як наслідок, приєднання активів до цих ланцюжків пов’язане з підвищеним ризиком; враховуючи відсутність гарантій безпеки, успадкованих від основної мережі Ethereum в моделі сайдчейну, користувачі ризикують втратити кошти в результаті атаки на сайдчейн.
І навпаки, ланцюги Plasma отримують свою безпеку від Mainnet. Це робить їх значно безпечнішими, ніж сайдчейни. І сайдчейни, і ланцюги Plasma можуть мати різні протоколи консенсусу, але різниця в тому, що Plasma ланцюги публікують корені Меркла для кожного блоку в Mainnet Ethereum. Корені блоку — це невеликі фрагменти інформації, які ми можемо використовувати для перевірки інформації про транзакції, які відбуваються в ланцюжку Plasma. Якщо відбувається атака на ланцюг Plasma, користувачі можуть безпечно виводити свої кошти назад у Mainnet, використовуючи відповідні докази.
Plasma проти шардингу
І ланцюжки Plasma, і ланцюжки шардів періодично публікують криптографічні докази в мережі Ethereum Mainnet. Проте обидва вони мають різні властивості безпеки.
Ланцюжки шардів передають «заголовки зіставлення» в Mainnet, що містять детальну інформацію про кожен сегмент даних. Вузли в Mainnet перевіряють і забезпечують дійсність фрагментів даних, зменшуючи ймовірність недійсних переходів сегментів і захищаючи мережу від зловмисної активності.
Plasma відрізняється тим, що Mainnet отримує лише мінімальну інформацію про стан дочірніх ланцюжків. Це означає, що Mainnet не може ефективно перевіряти транзакції, проведені в дочірніх ланцюгах, що робить їх менш безпечними.
Примітка: шардинг блокчейну Ethereum більше не є частиною дорожньої карти. Його замінило масштабування за допомогою зведень та Danksharding.
Використовуйте Plasma
Кілька проектів забезпечують реалізації Plasma, які ви можете інтегрувати у свої додатки:
- Polygonopens in a new tab (раніше Matic Network)
Для подальшого читання
- Дізнайтеся про Plasmaopens in a new tab
- Коротке нагадування про те, що означає «спільна безпека» і чому це так важливоopens in a new tab
- Сайдчейни проти Plasma проти шардингуopens in a new tab
- Розуміння Plasma, частина 1: Основиopens in a new tab
- Життя та смерть Plasmaopens in a new tab
Знайшли ресурс, який допоміг з цією темою? Відредагуйте цю сторінку і додайте його!