117 / 691ECL

Eclipse attack

Атака eclipse захоплює з’єднання вузла Bitcoin з мережею. Жертва залишається підключеною до нападника, але втрачає незалежний доступ до чесних сусідів і бачить вибрану ним історію.

Eclipse — мережева ізоляція, а не обхід правил консенсусу. Full Node далі відкидає недійсні дані, але може зазнавати затримок, цензури або залишатися на старішій дійсній гілці.

Нападник має захопити відповідні мережеві шляхи жертви, а не просто встановити одне з’єднання. Робочий зв’язок із чесним сусідом може порушити повний контроль. [Heilman et al. — Eclipse Attacks on Bitcoin] [Bitcoin Optech — Eclipse attacks]

Дослідження Heilman і співавторів 2015 року вивчало заповнення адресних таблиць і захоплення повторного підключення. Результат залежить від ресурсів і реалізації; історичний експеримент не перевіряє сучасну версію. [Heilman et al. — Eclipse Attacks on Bitcoin] [Bitcoin Core v29.0 — addrman]

Нападник вибирає, які блоки й транзакції пропускати всередину чи назовні. Він може затримувати повідомлення й спостерігати походження транзакцій навіть без більшості хешрейту. [Heilman et al. — Eclipse Attacks on Bitcoin] [Bitcoin Optech — Eclipse attacks]

Full Node далі перевіряє підписи, скрипти й емісію. Ізоляція не робить недійсний блок дійсним, але перевірка не виявить дійсний блок, який ніколи не надійшов. [Bitcoin Developer Guide — Block Chain]

Без нових чесних блоків вузол може залишитися на старій вершині; ізольований майнер — марнувати роботу на покинутій рештою мережі гілці. Доступність і актуальність відрізняються від дійсності. [Heilman et al. — Eclipse Attacks on Bitcoin] [Bitcoin Optech — Eclipse attacks]

Одержувач може бачити підтвердження в дійсній гілці нападника, а після відновлення зв’язку — її реорганізацію. Ця гілка все одно потребує Proof of Work; вигадана кількість підтверджень сама не обдурить Full Node. [Heilman et al. — Eclipse Attacks on Bitcoin] [Bitcoin Developer Guide — Block Chain] [Bitcoin Optech — Eclipse attacks]

Групування адрес і різноманітні вихідні шляхи знижують концентрацію. Різні адреси можуть належати одному противнику; різноманітність не гарантує незалежності. [Bitcoin Core v29.0 — addrman] [Bitcoin Core v29.0 — Peer connections]

Bitcoin Core використовує пробні з’єднання feeler і додаткові з’єднання передавання блоків для пошуку інших шляхів. Перші випробовують адреси, другі можуть приносити нові заголовки; жодні самі не гарантують кінця ізоляції. [Bitcoin Core v29.0 — Peer connections]

Відомий сусід, заданий вручну, може додати шлях, але вимагає довіри до доступності й мережевого зв’язку. Більше з’єднань через одного провайдера не обов’язково означає незалежні шляхи. [Bitcoin Developer Guide — P2P Network] [Bitcoin Optech — Eclipse attacks]

Eclipse націлена на вузол чи вибрану групу, а ширше розділення мережі відокремлює цілі її частини. Захист оцінює шляхи й модель противника, не лише число відкритих з’єднань. [Heilman et al. — Eclipse Attacks on Bitcoin] [Bitcoin Optech — Eclipse attacks]

Для повної картини прочитайте також Sybil attack, Block propagation, Compact block relay, Nakamoto consensus. На цю статтю також посилаються Подвійна витрата, Sybil attack, Neutrino.

DOC · 001Heilman et al. — Eclipse Attacks on BitcoinПервинне джерело ↗DOC · 002Bitcoin Developer Guide — P2P NetworkДокументація ↗DOC · 003Bitcoin Core v29.0 — addrmanДокументація ↗DOC · 004Bitcoin Core v29.0 — Peer connectionsДокументація ↗DOC · 005Bitcoin Developer Guide — Block ChainДокументація ↗DOC · 006Bitcoin Optech — Eclipse attacksДокументація ↗
Спочатку джерела · Не інвестиційна порада