Зміст
Вступ
Проблема масштабованості блокчейну
В результаті ми опиняємось у тупику. Блокчейн можна розглядати як потяг, який відправляється через встановлені інтервали. Кількість місць у кожному вагоні обмежена, і щоб отримати квиток, мандрівники повинні зробити ставку, щоб гарантувати собі місце. Якщо всі спробують сісти в поїзд одночасно, ціна буде високою. Так само мережа, забита очікуючими транзакціями, вимагатиме від користувачів сплати вищих комісій, щоб вони своєчасно побачили свою транзакцію.
Творець Ethereum, Vitalik Buterin, придумав "Трилему масштабованості", щоб описати проблему, з якою стикаються блокчейни. Вона передбачає, що протоколи повинні йти на компроміс між масштабованістю, безпекою та децентралізацією. Вони дещо суперечать один одному – якщо зосередитися на двох властивостях, третя буде недостатньо розвинутою.
Що таке офчейн рішення для масштабування?
Офчейн масштабування (поза ланцюгом) відноситься до підходів, які дозволяють виконувати транзакції без роздування блокчейну. Протоколи, які підключаються до ланцюга, дозволяють користувачам надсилати та отримувати кошти, при цьому транзакції не з'являються в основному ланцюгу. Ми розглянемо два найбільш помітні досягнення у цій галузі: сайдчейни та платіжні канали.
Введення в сайдчейни
Що таке сайдчейн?
Сайдчейн – це окремий блокчейн. Однак це не окрема платформа, оскільки вона якимось чином прив'язана до основного ланцюга. Основний блокчейн та сайдчейн взаємодіють один з одним, що означає, що активи можуть вільно переміщатися між ними.
Як працює сайдчейн?
Припустимо, у нашої подруги Аліси п'ять Bitcoin. Вона хоче обміняти їх на п'ять еквівалентних одиниць на сайдчейні Bitcoin – назвемо їх cайдкоїнами. Сайдчейн використовує двосторонню прив'язку, що означає, що користувачі можуть переносити свої активи з основного ланцюга у сайдчейн і навпаки.
Тепер Аліса конвертувала свої монети в сайдкоїни, але вона завжди може скасувати процес, щоб повернути свої Bitcoin. Тепер, коли вона увійшла до сайдчейну, вона може здійснювати транзакції в цьому окремому блокчейні. Вона може відправляти сайдкоїни або отримувати їх від інших користувачів, як і в основному ланцюгу.
Вона могла, наприклад, заплатити Бобу 1 сайдкоїн за худі Binance. Коли вона захоче повернутися у Bitcoin, вона може відправити чотири сайдкоїни, що залишилися, на спеціальну адресу. Після підтвердження транзакції, чотири Bitcoin будуть розблоковані та доставлені на адресу, яку вона контролює в основному ланцюгу.
Чому використовуються сайдчейни?
Ви можете поставити питання, в чому сенс цього. Чому Аліса просто не використовує блокчейн Bitcoin?
Такий рівень безпеки, ймовірно, не потрібен для невеликих повсякденних платежів. Якщо Аліса платить за каву, вона не чекатиме на підтвердження транзакції. Вона стоятиме у черзі, і до моменту отримання її напій буде холодним.
Цікаво, що в сайдчейнах можуть бути навіть критичні помилки, нЯкі не вплинуть на ланцюг, що лежить в основі. Це дозволяє використовувати їх як платформи для експериментів і розгортання функцій, які в іншому випадку зажадали б консенсусу з боку більшої частини мережі.
За умови, що користувачі задоволені компромісами, сайдчейни можуть стати невід'ємним кроком на шляху ефективного масштабування. Ноди основного ланцюга не повинні зберігати кожну транзакцію із сайдчейну. Аліса могла увійти у сайдчейн за допомогою однієї транзакції Bitcoin, виконати сотні транзакцій із сайдкоїнами, а потім вийти із сайдчейну. Що стосується блокчейну Bitcoin, вона виконала лише два кроки – один для входу та один для виходу.
Введення у платіжні канали
Що таке платіжний канал?
Платіжні канали служать тій же меті, що і сайдчейни, з погляду масштабованості, але дуже відрізняються. Як і сайдчейни, вони "штовхають" транзакції з основного ланцюга, щоб запобігти роздуванню блокчейна. Однак, на відміну від сайдчейнів, для їхньої роботи не потрібен окремий блокчейн.
Як працює платіжний канал?
Допустимо, кожен із них депонує по 10 BTC на адресу, яка тепер містить 20 BTC. У блокчейні досить просто розглянути їхній початковий баланс та підтвердити, що у Аліси та Боба по 10 BTC. Якщо Аліса передасть Бобу одну монету, можна оновити баланс, щоб зрозуміти – Аліса має 9 BTC, Боб має 11 BTC. Їм не потрібно буде публікувати дані у блокчейні, оскільки загальний баланс на адресі залишиться тим самим.
Однак, може настати момент, коли Аліса матиме 5 BTC, а Боб – 15 BTC. Вони можуть легко створити транзакцію, яка розподілить правильні баланси на їхні особисті адреси після спільного підписання і передачі цієї транзакції у мережу.
Аліса та Боб могли створити на своєму балансі десять, сто чи тисячу транзакцій. Але на блокчейні вони зробили лише дві транзакції у ланцюгу: одну для початкового депозиту та одну після остаточного перерозподілу коштів між собою. За винятком цих двох, решта транзакцій безкоштовні та майже миттєві, оскільки відбуваються поза мережею. Немає жодної комісії для майнера та не потрібно чекати підтверджень блоку.
Маршрутизація платежів
Очевидно, що платіжні канали зручні для двох сторін, які очікують на великий об'єм транзакцій. Але за допомогою маршрутизації платежів їх функції стають ще кращими. Мережа цих каналів може бути розширена, що означає, що Аліса може здійснити оплату стороні, з якою вона не зв'язана напряму. Якщо у Боба відкритий канал із Керол, Аліса може заплатити їй за наявності достатнього об'єма. Для цього вона передає монети Бобу, який у свою чергу передасть їх Керол. Якщо Керол підключена до іншого учасника, наприклад Дена, вона може зробити те саме.
Така мережа перетворюється на розподілену топологію, в якій кожен підключається до декількох нод. У такій мережі найчастіше будуть присутні декілька маршрутів до місця призначення, і користувачі зможуть вибрати найбільш підходящий та ефективний.
Заключні думки
Ми обговорили два підходи до масштабованості, які дозволяють здійснювати транзакції без навантаження на базовий блокчейн. І сайдчейни, і технологія платіжних каналів ще не досягли зрілості, але вони все частіше використовуються користувачами, які хочуть оминути недоліки транзакцій базового рівня.
Згодом до мережі приєднаються більше користувачів, тому важливо підтримувати децентралізацію. Цього можна досягти лише встановивши обмеження на зростання блокчейну, щоб нові ноди могли легко приєднатися. Прихильники рішень масштабованості поза ланцюгом вважають, що з часом основний ланцюг буде використовуватися лише для розрахунків за транзакціями з високою вартістю або для прив'язки/виходу із сайдчейнів та відкриття/закриття каналів.