Чи ризикує Lightning Network для грошей? У цій статті пояснюються його принципи та методи лікування

Оригінал | Odaily Planet Daily

Автор | Нан Фен

! [Чи ризикує Lightning Network для коштів?] Поясніть його принцип і метод лікування] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-43da3a01e5-dd1a6f-69ad2a.webp)

Вступ

20 жовтня розробник ядра Bitcoin Core /dev/fd0 оголосив на платформі X, що припинить брати участь у розробці Lightning Network та її реалізації, включаючи координацію вирішення питань безпеки на рівні протоколу.

/dev/fd0 означає, що кожен вузол Bitcoin має власний пул пам'яті. Транзакції пересилаються вузлами. Якщо вузли Lightning Network використовуються для відкриття каналів і прийому переадресації HTLC, вони вразливі до атак циклічного заміни.

Що розробник називає «альтернативною петлевою атакою» і як її можна реалізувати, буде розкрито в цій статті.

Мережа Lightning

Мережа Bitcoin має TPS всього близько 7 і високі комісії, а Lightning Network була створена для вирішення потреб мікроплатежів.

Lightning Network — це рішення для масштабування рівня 2 для Bitcoin та інших криптовалют, призначене для вирішення проблеми масштабованості та швидкості транзакцій криптовалютних мереж.

Принцип реалізації можна спростити:

  1. Сторони транзакції A і B встановлюють «канал транзакцій» (фактично гаманець з мультипідписом)
  2. А і В доповнюємо А1 і В1 відповідно (цей крок на ланцюжку)
  3. A і B мають будь-яку транзакцію поза мережею, а A має чистий переказ X (наприклад, A переводить 1 юань в B 100 разів, B переводить 99 разів в A за 1 юань і, нарешті, A має чистий відтік в 1 юань)
  4. Оновлення транзакцій A1-X та B1+X у ланцюжку

За допомогою наведеного вище процесу, незалежно від того, скільки транзакцій A і B здійснюють поза мережею, їм потрібно сплатити лише дві ончейн-комісії та заощадити багато часу.

Контракт блокування хеш-часу (HTLC)

Описана вище форма обмежена прямим каналом транзакцій між A і B, і ретрансляційні вузли з'являються для крос-канальних платежів, ретрансляційні вузли передають транзакції між ними, щоб здійснювати платежі через канали, а ретрансляційні вузли можуть збирати чайові.

Але це стикається з проблемою: Потрібно переконатися, що кожен учасник у кожному каналі є чесним і заслуговує на довіру, і що він безпечний завдяки багатоканальним посиланням.

Звідси і поява HTLC (Hash Time-Lock Contract), платіжну операцію з HTLC можна спростити до:

  1. A готує секрет R і обчислює його хеш-значення H
  2. А встановлює ліміт часу Т
  3. A надсилає платіжну транзакцію з HTLC до B, і транзакція буде завершена лише за умови виконання наступних двох умов
  • B відповідає коду R (перевіряється H)
  • B відповіді в межах T (наприклад, відповідь протягом 10 блоків)
  1. Якщо Б не знає коду, або якщо відповідь тайм-аут, кошти повертаються А

Нормальний процес транзакції

При описаному вище HTLC плата за участю ретрансляційного вузла виглядає наступним чином:

  1. Кінцевий одержувач С надає код відправнику А
  2. A ініціює платіж HTLC з хешем H (зверніть увагу, що Кошти на даний момент не знаходяться на руках B)
  3. B отримує платіжну інформацію та ініціює платіж HTLC компанії C з хеш-значенням H
  4. C Для того, щоб отримати кошти, дайте відповідь на код, отримайте кошти. У цей час B також знає код
  5. B використовує код для отримання платежу, ініційованого А, отримує кошти, і транзакція завершена

! [Чи ризикує Lightning Network для коштів?] Стаття, що пояснює його принципи та методи лікування] (https://img-cdn.gateio.im/webp-social/moments-7f230462a9-db7ebe3106-dd1a6f-69ad2a.webp)

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

Якщо вузол ретрансляції не отримує код R** (наступний будинок не відповідає, про ліміт часу судить сам вузол реле)**, вузол реле може вибрати закриття каналу, ** якщо ланцюжок успішний, ** платіж, ініційований B, буде «анульований» і втрата коштів не відбудеться. **

Циклічні альтернативні атаки

Повертаючись до основного принципу HTLC, крім відповіді на код, ретрансляційний вузол повинен відповідати ще одній умові «ретрансляційний вузол відповідає в межах T», і зловмисник націлений на цю точку атаки:

  1. А і С зловмисно вступають у змову, а жертвою є ретрансляційний вузол В (В просить відповісти протягом 3 блоків)
  2. A ініціює платіж B (за умови, що висота блоку становить 1000 на даний момент) і запитує відповідь до блоку 1020
  3. B ініціює виплату C (висота блоку 1005)
  4. Коли висота блоку дорівнює 1008, B бачить, що C не відповідає і вирішує закрити канал, який вступить в силу в блоці 1009
  5. C ініціює транзакцію з високим газом (1) (блок 1008), що унеможливлює потрапляння транзакції, ініційованої B, до мемпулу
  6. C ініціює транзакцію з високим газом (2) (блок 1009), а B все одно не може увійти в мемпул
  7. C працює в нескінченному циклі до блоку 1020, дає секретний знак R і виводить кошти

У Б немає часу відповісти на платіж, ініційований А, кошти повертаються А, і платіж С встановлений, і, нарешті, реалізується «кругова атака заміщення». Крім того, A і C також можуть досягти подвійних витрат, вступивши в змову для циклічної атаки на завершальну транзакцію B.

Висновок

Незважаючи на те, що перераховані вище вектори атак існують, це не означає, що зловмисники можуть робити все, що їм заманеться, і красти кошти в Lightning Network, і автор також пропонує п'ять способів боротьби з цим, таких як моніторинг локального мемпулу та ретрансляції транзакцій, моніторинг мемпулу майнерів тощо.

Майбутнє яскраве, дорога звивиста, і в цьому році в мережі Bitcoin народилася низка нових речей, таких як Ordinals, BRC-20, Taproot Asset і так далі.

Список літератури

Переглянути оригінал
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
  • Нагородити
  • Прокоментувати
  • Поділіться
Прокоментувати
0/400
Немає коментарів
  • Закріпити