Безпека в Lightning Network. Наскільки безпечні транзакції в надбудові Біткоїна другого рівня Lightning Network? Як працює Lightning Network?
Ви дізнаєтесь відповіді на ці, та інші питання подивившись лекцію Андреаса Антонопулоса.
Напишіть в коментарях, що ви думаєте про Lightning Network та майбутнє цього впровадження?
Підпишіться на youtube канал Школи Біткоїн натиснувши кнопку
Питання Антонопулосу: “В Lightning Network, коли ми створюємо канал оплати, він так само безпечний, як блокчейн Біткоїна?”
Так, тому важливо розуміти, що транзакція на Lightning Network, якщо ви робите канал біткоїнів – це транзакція біткоїнів. Тепер уявіть, якщо б я створив транзакцію і замість того, щоб транслювати її на блокчейн Біткоїна, я підписую транзакцію, а потім даю її вам, і ви можете транслювати її, коли захочете, або просто зберігати її. В будь-який час, коли ви берете цю підписану транзакцію і транслюєте її, ви отримуєте результат цієї транзакції, тому що ми обмінялися підписаною транзакцією. Ми просто не транслювали її в мережу.
Саме так працює Lightning Network. Платіжні канали Lightning – це учасники, які обмінюються підписаними транзакціями біткоїнів і мають таку ж саму безпеку, аутентифікацію і авторизацію, ті ж самі гарантії безпеки, що і блокчейн Біткоїну, насправді Lightning Network саме тому і працює, бо йому потрібна безпека базового блокчейну Біткоїн. Lightning Network – це маршрутизація смарт-контрактів, попередньо підписаних транзакцій біткоїнів. Для цих смарт-контрактів потрібні попередньо підписані транзакції біткоїнів, щоб бути безпечними і дійсними на основному блокчейні.
Питання Антонопулосу: “Чому учасники мережі Lightning Network повинні бути в онлайні виконуючи транзакцію?”
Це не зовсім так. Вони повинні бути в онлайні, щоб почати транзакцію, наприклад, для того, щоб створити рахунок-фактуру для оплати і в певний час вони повинні бути в мережі, щоб контролювати канали. Але вони також можуть передавати моніторинг каналів третім сторонам. Майте на увазі, що Lightning Network призначена для швидких угод на невеликі суми біткоїнів. Транзакції на великі суми біткоїнів краще відправляти через блокчейн Біткоїна.
Питання Антонопулосу: “Що відбувається в Lightning Network Channel у випадку якщо одна зі сторін угоди не повертає біткоїни?”
В будь-якому сценарії Lightning Network, якщо одна із сторін не завершить зобов’язання по каналу, не оновлює свій стан або не закриває канал, коли отримує запит, тоді друга сторона може закрити канал, передавши один із попередніх станів. Єдиний спосіб, за яким баланс може просуватися вперед по каналу, полягає в тому, що сторони розділяють хеш-прообраз, який є ключем до розблокування таймінг-хеша. В цьому випадку сторона, яка відправила цей баланс, також може отримати цей же баланс з попередньої кінцевої точки каналу скориставшись ключем.
Вам не потрібно вірити, що будь-яка із сторін, що бере участь в мережі Lightning Network, буде поводити себе так, як очікувалось. Фактично, ви робите транзакції з людьми, які не повинні поводити себе якимось певним чином. Вони можуть зникнути. Вони можуть перестати відповідати на запити каналу. Вони можуть відмовитися від закриття каналу і передачі хеш-тайм-контракту. Вони можуть робити все, що захочуть. Це не має значення. Не потрібно довіряти їм. Тому, що на кожному кроці у вас є підпис біткоїн транзакції, що дозволяє вам відновлювати свої кошти, і в цьому весь сенс. Сама мережа не потребує довіри між учасниками.
Запитання Антонопулосу: “Як Lightning Network впорається з атаками типу DoS?”
Відповідь залежить від того, про який тип DoS атак ми говоримо. Щоб створити канал оплати Lightning Network, вам необхідно виділити кошти, і це робить атаки зловмисника дорогими.
По-друге, для поширення платежів по каналам платежів зазвичай стягується невелика плата – комісії. Час покаже, чи призведе це до поширення DoS атак.
Ще один захист від атак полягає в тому, що вузли мережі Lightning Network, так само, як і Біткоїн-ноди можуть контролювати тип інформації, яку вони отримують від сусідніх вузлів, і якщо вони бачать, що інформація, яку вони отримують невірна або недійсна, вони обмежать з’єднання або, можливо, навіть, заборонять вузли, які порушують правила.
Всі peer-to-peer мережі повинні мати механізм захисту себе від невірних учасників, і найбільш поширений спосіб зробити це – або загальмувати, або заблокувати поганий вузол протягом деякого періоду часу. Таким чином, Lightning Network буде боротися з DoS атаками, як і будь-яка peer-to-peer мережа, і це безперервний процес, оскільки, зловмисники вигадують нові способи атак і адаптуються, що також змушує мережу адаптуватися і поступово розвивати систему, щоб вона ставала більш стійкою до DoS-атак.
Сам Біткоїн весь час знаходиться під DoS атаками. І поступово він розвинувся, щоб стати досить сильним і стійким до DoS атак. Це не означає, що вони неможливі. Вони просто не дуже ефективні і коштують великих грошей, і насправді мало чим можуть зашкодити Біткоїну. Те ж саме з Інтернетом: tcp/ip, DNS, HTTP, багато інших протоколів та інфраструктур в Інтернеті поступово розвиваються, щоб справлятися з великими розподіленими DoS-атакам і стають більш стійкими.
Питання Антонопулосу: “Хто забороняє вузол-порушник і як працює заборона такого вузла?
Lightning Network це децентралізована peer-to-peer мережа. Це означає, що ваш власний вузол Lightning Network з’єднується з десятьма або п’ятнадцятьма іншими вузлами утворюючи мережу. Ваш вузол вирішує, до яких вузлів підключатися, і чи потрібно йому заборонити одного зі своїх сусідів за порушення правил Lightning Network.
Отже питання, хто забороняє вузли? Відповідь: вузли блокують вузли, якщо вони порушують правила. Кожен вузол, який стикається з порушенням правил, забороняє для себе вузли-порушники, і в результаті вузли порушники не зможуть підключитися до мережі Lightning Network взагалі.
Bitcoin та Lightning Network не мають централізованої влади, кожен вузол системи сам вирішує, чи забороняти зв’язок з сусіднім вузлом чи ні.