Национальный цифровой ресурс Руконт - межотраслевая электронная библиотека (ЭБС) на базе технологии Контекстум (всего произведений: 638282)
Контекстум
Электро-2024

Освоение Lightning Network. Протокол второслойной блочной цепи для мгновенных Bitcoin-платежей (5000,00 руб.)

0   0
Первый авторАнтонопулос
АвторыПикхард Р.
ИздательствоМ.: ДМК Пресс
Страниц452
ID836406
АннотацияLightning — маршрутизируемая сеть платежных каналов, которая предоставляет безопасные, дешевые, быстрые платежи Bitcoin с высокой степенью приватности, даже когда дело касается малых сумм. В этой книге приводится обзорсети Lightning, базовых концепций, которые легли в ее основу, и принципов ее работы. Примеры проиллюстрированы на языках Go, C++, Python и с использованием командной строки Unix-подобной операционной системы. Книга адресована программистам, имеющим представление об основах системы Bitcoin, однако ряд глав доступен широкому кругу читателей, интересующихся блочными цепями.
ISBN978-5-93700-144-3
Антонопулос, А.Н. Освоение Lightning Network. Протокол второслойной блочной цепи для мгновенных Bitcoin-платежей / Р. Пикхард; А.Н. Антонопулос .— Москва : ДМК Пресс, 2023 .— 452 с. — ISBN 978-5-93700-144-3 .— URL: https://rucont.ru/efd/836406 (дата обращения: 08.06.2024)

Предпросмотр (выдержки из произведения)

Освоение_Lightning_Network._Протокол_второслойной_блочной_цепи_для_мгновенных_Bitcoin-платежей.pdf
Стр.5
Стр.6
Стр.7
Стр.8
Стр.9
Стр.10
Стр.11
Стр.12
Стр.13
Стр.14
Стр.15
Стр.16
Стр.17
Стр.18
Освоение_Lightning_Network._Протокол_второслойной_блочной_цепи_для_мгновенных_Bitcoin-платежей.pdf
УДК 004.04, 336.74 ББК 32.372 А72 Андреас Н. Антонопулос, Олаулува Осунтокун и Рене Пикхардт. А72 Освоение Lightning Network: Протокол второслойной блочной цепи для мгновенных Bitcoin-платежей / пер. с англ. А. В. Логунова. – М.: ДМК Пресс, 2023. – 450 с.: ил. ISBN 978-5-93700-144-3 Lightning – маршрутизируемая сеть платежных каналов, которая предоставляет безопасные, дешевые, быстрые платежи Bitcoin с высокой степенью приватности, даже когда дело касается малых сумм. В этой книге приводится обзор сети Lightning, базовых концепций, которые легли в ее основу, и принципов ее работы. Примеры проиллюстрированы на языках Go, C++, Python и с использованием командной строки Unix-подобной операционной системы. Книга адресована программистам, имеющим представление об основах системы Bitcoin, однако ряд глав доступен широкому кругу читателей, интересующихся блочными цепями. УДК 004.04, 336.74 ББК 32.372 ISBN 978-1-492-05486-3 Все права защищены. Любая часть этой книги не может быть воспроизведена в какой Copyright©2022 DMK Press Authorized Russian translation of the English edition of Mastering the Lightning Network бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. ISBN (анг.) 978-1-49205-486-3 ISBN (рус.) 978-5-93700-144-3 © 2022 Andreas M. Antonopoulos, Olaoluwa Osuntokun, and René Pickhardt. © Оформление, издание, перевод, ДМК Пресс, 2022
Стр.5
Оглавление Предисловие ...................................................................................... 18 Целевая аудитория ...........................................................................................18 Условные обозначения в книге ........................................................................18 Примеры исходного кода .................................................................................19 Использование примеров исходного кода .....................................................20 Ссылки на компании и продукты ....................................................................20 Адреса и транзакции в этой книге ..................................................................20 Как с нами связаться ........................................................................................20 Связь с Андреасом ........................................................................................20 Связь с Рене ...................................................................................................21 Связь с Олаолувой Осунтокун ......................................................................21 Признательности от Андреаса .........................................................................21 Признательности от Рене .................................................................................21 Признательности от Олаолувы Осунтокун .....................................................22 Участники проекта ...........................................................................................22 Источники .........................................................................................................23 Об авторах ......................................................................................... 24 Об иллюстрации на обложке (Колофон) ...................................... 25 ЧАСТЬ I. ПОНИМАНИЕ СЕТИ LIGHTNING ........................ 27 Глава 1. Введение .............................................................................. 28 Базовые понятия сети Lightning ......................................................................28 Доверие в децентрализованных сетях ............................................................30 Справедливость без центральной власти .......................................................31 Доверительные протоколы без посредников .............................................32 Протокол справедливости в действии ........................................................33 Примитивы безопасности как строительные блоки ..................................34 Пример протокола справедливости ............................................................35 Мотивация для сети Lightning .........................................................................36 Масштабирование блочных цепей ..............................................................36 Определяющие признаки сети Lightning ........................................................38 Примеры использования сети Lightning, пользователи и их истории ..............................................................................39 Вывод .................................................................................................................40
Стр.6
6  Оглавление Глава 2. Приступаем к работе ......................................................... 41 Первый кошелек Lightning Алисы ..................................................................41 Узлы Lightning ...................................................................................................42 Проводники Lightning ......................................................................................42 Кошельки Lightning ..........................................................................................43 Тестовая сеть Bitcoin .....................................................................................46 Уравновешивание сложности и контроля ......................................................47 Скачивание и инсталляция кошелька Lightning ............................................48 Создание нового кошелька ..............................................................................49 Ответственность за хранение ключей ........................................................49 Мнемонические слова ..................................................................................49 Безопасное хранение мнемоники ...............................................................50 Загрузка биткойна в кошелек ..........................................................................51 Приобретение биткойна ..............................................................................51 Получение биткойна ....................................................................................52 Из системы Bitcoin в сеть Lightning .................................................................56 Каналы сети Lightning ..................................................................................56 Открытие канала Lightning ..........................................................................58 Покупка чашки кофе с помощью сети Lightning ............................................61 Кофейня Боба ................................................................................................61 Счет Lightning ...............................................................................................62 Вывод .................................................................................................................64 Глава 3. Как работает сеть Lightning ............................................. 65 Что такое платежный канал? ...........................................................................66 Основы платежного канала .............................................................................66 Маршрутизирование платежей по каналам ...................................................67 Платежные каналы ...........................................................................................68 Мультиподписной адрес ..............................................................................69 Финансовая транзакция ...............................................................................69 Пример плохой процедуры открытия канала ........................................70 Фиксационная транзакция ..........................................................................70 Обман с предыдущим состоянием ..............................................................72 Объявление канала .......................................................................................75 Закрытие канала ...........................................................................................75 Взаимное закрытие (хороший путь) .......................................................76 Принудительное закрытие (плохой путь) ..............................................77 Нарушение протокола (уродливый путь) ...............................................78 Счета ..................................................................................................................79 Платежный хеш и прообраз .........................................................................80 Дополнительные метаданные .....................................................................81 Доставка платежа..............................................................................................82 Эпидемический протокол обмена сообщениями между одноранговыми узлами ....................................................................82 Отыскание пути и маршрутизация .............................................................83 Отыскание пути на основе источника ............................................................84 Луковичная маршрутизация .......................................................................85 Алгоритм пересылки платежей ...................................................................87
Стр.7
Оглавление  7 Шифрование однорангового обмена сообщениями ......................................88 Мысли о доверии ..............................................................................................89 Сравнение с системой Bitcoin ..........................................................................89 Адреса против счетов, транзакции против платежей ................................89 Выбор выходов против отыскания пути .....................................................90 Выходы со сдачей в Bitcoin против отсутствия сдачи в Lightning ............91 Майнинговые комиссионные против маршрутизационных комиссионных ..............................................................................................91 Комиссионные, варьирующиеся в зависимости от трафика, против объявленных комиссионных ..........................................................91 Публичные Bitcoin-транзакции против приватных платежей Lightning .... 92 Ожидание подтверждений против денежного расчета Lightning .............93 Отправка произвольных сумм против ограничений по емкости .............93 Стимулы для крупных платежей против малых платежей ........................94 Использование блочной цепи в качестве реестра против судебной системы .........................................................................................94 Офлайн против онлайн, асинхронность против синхронности ...............94 Сатоши против миллисатоши .....................................................................95 Общие черты сетей Bitcoin и Lightning ...........................................................95 Денежная единица........................................................................................95 Необратимость и окончательность платежей ............................................96 Доверие и риск контрагента ........................................................................96 Безразрешительная работа ..........................................................................96 Открытый исходный код и открытая система ...........................................96 Вывод .................................................................................................................96 Глава 4. Программное обеспечение узла Lightning .................... 97 Среда разработки Lightning .............................................................................98 Использование командной строки .............................................................98 Скачивание репозитория книги ..................................................................99 Docker-контейнеры ...................................................................................100 Bitcoin Core и regtest .......................................................................................102 Сборка контейнера Bitcoin Core ................................................................102 Взаимодействие с контейнером bitcoin core ........................................103 Проект c-lightning узла Lightning .................................................................105 Сборка c-lightning в качестве Docker-контейнера ..................................105 Настройка сети Docker ...............................................................................106 Оперирование контейнерами bitcoind и c-lightning ...............................107 Инсталлирование c-lightning из исходного кода .....................................108 Инсталлирование необходимых библиотек и пакетов ............................108 Копирование исходного кода c-lightning ..................................................109 Компилирование исходного кода c-lightning ...........................................109 Проект демона узла сети Lightning ..............................................................111 Docker-контейнер LND ..............................................................................111 Оперирование контейнерами bitcoind и LND ..........................................112 Инсталлирование LND из исходного кода ................................................114 Копирование исходного кода LND ............................................................115 Компилирование исходного кода LND......................................................115
Стр.8
8  Оглавление Проект узла Lightning Eclair ...........................................................................116 Docker-контейнер Eclair .............................................................................116 Оперирование контейнерами bitcoind и Eclair ........................................117 Инсталлирование Eclair из исходного кода ..............................................118 Копирование исходного кода Eclair ..........................................................119 Компилирование исходного кода Eclair ....................................................119 Сборка полной сети из разнообразных узлов Lightning ..............................120 Использование docker-compose для оркестрирования Dockerконтейнеров ...............................................................................................120 Конфигурация docker-compose ..................................................................121 Запуск образца сети Lightning ...................................................................121 Открытие каналов и маршрутизирование платежа ................................122 Вывод ...............................................................................................................124 Глава 5. Оперирование узлом сети Lightning .............................125 Выбор своей платформы ................................................................................126 Почему для оперирования узлом Lightning важна надежность? ............126 Типы аппаратных узлов Lightning ............................................................127 Оперирование в «облаке» ..........................................................................127 Оперирование узлом дома ........................................................................128 Какое оборудование требуется для работы узла Lightning? ........................................................................129 Переключение серверной конфигурации в облаке ..................................130 Постоянное хранилище данных (накопитель) .....................................131 Использование инсталлятора или помощника ............................................131 RaspiBlitz .....................................................................................................131 myNode ........................................................................................................133 Umbrel ..........................................................................................................133 BTCPay Server ..............................................................................................134 Узел Bitcoin или облегченный узел Lightning ...........................................135 Выбор операционной системы ..................................................................136 Выбор имплементации узла Lightning ..........................................................136 Инсталлирование узла Bitcoin или Lightning ..............................................137 Фоновые службы .........................................................................................138 Изоляция процесса .....................................................................................138 Запуск узла ..................................................................................................139 Конфигурирование узла .............................................................................140 Конфигурирование сети.............................................................................141 Это просто работает! ..............................................................................142 Автоматическая переадресация портов с использованием UPnP ......143 Использование Tor для входящих соединений ....................................144 Ручная переадресация портов ...............................................................145 Безопасность вашего узла ..............................................................................146 Безопасность операционной системы ......................................................146 Доступ к узлу ...............................................................................................147 Резервное копирование узла и каналов ........................................................148 Риск со стороны горячего кошелька .........................................................150
Стр.9
Оглавление  9 Зачистка средств .........................................................................................150 Внутрицепная зачистка .........................................................................151 Внецепная зачистка ...............................................................................151 Зачистка на основе подводного свопа ..................................................151 Подводные свопы с помощью петли.....................................................152 Время безотказной работы и доступность узла Lightning ...........................153 Допускайте неисправности и автоматизируйте ......................................154 Мониторинг доступности узла ..................................................................154 Сторожевые вышки ....................................................................................155 Управление каналами ....................................................................................156 Открытие исходящих каналов ...................................................................157 Автопилот ...............................................................................................157 Получение входящей ликвидности ...........................................................160 Закрытие каналов .......................................................................................161 Перебалансировка каналов ........................................................................161 Комиссионные за маршрутизацию ...............................................................162 Управление узлом ...........................................................................................164 Ride The Lightning ......................................................................................164 lndmon ........................................................................................................164 ThunderHub .................................................................................................165 Вывод ...............................................................................................................165 ЧАСТЬ II. СЕТЬ LIGHTNING В ДЕТАЛЯХ ......................... 167 Глава 6. Архитектура сети Lightning ............................................168 Комплект протоколов сети Lightning ............................................................168 Lightning в деталях .........................................................................................169 Глава 7. Платежные каналы ...........................................................171 Другой способ использования системы Bitcoin ...........................................172 Владение биткойном и контроль над ним ....................................................173 Разнообразие форм (независимого) владения и мультиподпись ...........174 Совместное владение без независимого контроля ..................................174 Предотвращение «привязанности» и нерасходуемости биткойна .........174 Строительство платежного канала ................................................................175 Приватный и публичный ключи узла .......................................................175 Сетевой адрес узла .....................................................................................175 Идентификаторы узлов ..............................................................................176 Соединение узлов в качестве прямых одноранговых участников сети ..... 176 Строительство канала ....................................................................................177 Одноранговый протокол для управления каналами ...............................177 Поток сообщений об установлении канала ..............................................177 Сообщение open_channel ...........................................................................179 Сообщение accept_channel .........................................................................180 Финансовая транзакция .............................................................................181 Генерирование мультиподписного адреса ...............................................181 Сборка финансовой транзакции ...............................................................181
Стр.10
10  Оглавление Удерживание подписанных транзакций без широковещательной передачи ...........................................................182 Возврат средств до финансирования ........................................................182 Сборка предварительно подписанной возвратной транзакции .............183 Выстраивание транзакций в цепь без широковещательной передачи ..... 183 Решение проблемы деформируемости (сегрегированный свидетель) ...... 184 Сообщение funding_created ...................................................................185 Сообщение funding_signed .....................................................................186 Широковещательная передача финансовой транзакции ........................186 Сообщение funding_locked .....................................................................187 Отправка платежей по каналу .......................................................................187 Разделение остатка ....................................................................................187 Конкурирующие фиксации ........................................................................188 Обман со старыми фиксационными транзакциями ................................189 Отзыв старых фиксационных транзакций ...............................................189 Асимметричные фиксационные транзакции ..........................................190 Задержанное (привязанное ко времени) расходование выхода to_self ..... 191 Отзывные ключи ........................................................................................192 Фиксационная транзакция ...........................................................................193 Продвижение состояния канала вперед .......................................................195 Сообщение committement_signed ..............................................................196 Сообщение об отзыве и возврате ..............................................................196 Отзыв и рефиксация ..................................................................................197 Обман и наказание на практике ...............................................................197 Резерв канала: обеспечение личной заинтересованности ......................200 Закрытие канала (кооперативное закрытие) ...............................................200 Сообщение shutdown ..................................................................................201 Сообщение closing_signed ..........................................................................202 Транзакция кооперативного закрытия.....................................................202 Вывод ...............................................................................................................203 Глава 8. Маршрутизация в сети платежных каналов ................205 Маршрутизирование платежа .......................................................................205 Маршрутизация против отыскания пути .....................................................207 Создание сети платежных каналов ...............................................................207 Физический пример «маршрутизирования» ................................................208 Протокол справедливости ..............................................................................214 Имплементирование атомарных бездоверительных многопереходных платежей ......................................................................214 Возвращаясь к примеру с донатами ..............................................................215 Внутрицепное и внецепное улаживание HTLC-контрактов ...................216 Контракты с привязкой к хешу и времени ...................................................216 HTLC-контракты на Bitcoin Script..............................................................217 Платежный прообраз и верификация хеша .............................................218 Распространение HTLC-контрактов от Алисы к Дины ............................219 Обратное распространение секрета ..........................................................220 Привязка подписи: предотвращение кражи HTLC-контрактов ..............222
Стр.11
Оглавление  11 Оптимизация хеша .....................................................................................223 Кооперативный отказ и отказ тайм-аута по HTLC-контракту ................225 Декрементирование привязок ко времени ..............................................226 Вывод ...............................................................................................................227 Глава 9. Работа канала и пересылка платежей ..........................228 Локальный (один) канал против маршрутизируемых (многочисленных) каналов ............................................................................229 Пересылка платежей и обновление фиксаций с помощью HTLC-контрактов ........................................................................229 HTLC-контракт и поток фиксационных сообщений ................................230 Пересылка платежей с помощью HTLC-контрактов ....................................230 Добавление HTLC-контракта .....................................................................231 Сообщение update_add_HTLC .....................................................................231 HTLC-контракт в фиксационных транзакциях ........................................232 Новая фиксация с выходом из HTLC-контракта ......................................233 Алиса фиксирует .........................................................................................234 Боб признает новую фиксацию и отзывает старую .................................235 Боб фиксирует .............................................................................................238 Несколько HTLC-контрактов .........................................................................239 Исполнение HTLC-контракта ........................................................................240 Распространение HTLC-контракта ................................................................240 Дина исполняет HTLC-контракт с Чаном .................................................240 Боб улаживает HTLC-контракт с Алисой ...................................................241 Удаление HTLC-контракта из-за ошибки или истечения срока .................244 Осуществление локального платежа .............................................................245 Вывод ...............................................................................................................245 Глава 10. Луковичная маршрутизация ........................................246 Физический пример, иллюстрирующий луковичную маршрутизацию .....247 Выбор пути ..................................................................................................247 Сборка слоев ...............................................................................................248 Отслаивание слоев .....................................................................................250 Введение в луковичную маршрутизацию на основе HTLC-контрактов .....251 Алиса выбирает путь ..................................................................................251 Алиса конструирует полезные грузы ........................................................253 Полезный груз для Дины в заключительном узле ..............................253 Переходный полезный груз для Чана ...................................................254 Переходный полезный груз для Боба....................................................255 Окончательные полезные грузы переходов .........................................256 Генерация ключей ......................................................................................256 Сеансовый ключ Алисы ..........................................................................257 Детали генерации ключей .....................................................................258 Генерация совместных секретов ...........................................................258 Обертывание луковичных слоев ...................................................................260 Луковицы фиксированной длины .............................................................260 Обертывание луковицы (в общих чертах) ................................................261
Стр.12
12  Оглавление Обертывание переходного полезного груза Дины ..................................262 Луковично-маршрутизационная защита от повторного воспроизведения и его обнаружение ...................................................265 Обертывание переходного полезного груза Чана ....................................266 Обертывание переходного полезного груза Боба ....................................267 Заключительный луковичный пакет .........................................................268 Отправка луковицы ........................................................................................269 Сообщение update_add_htlc .......................................................................269 Алиса отправляет луковицу Бобу ..............................................................269 Боб проверяет луковицу .............................................................................270 Боб генерирует заполнитель ......................................................................270 Боб распутывает свой переходный полезный груз ..................................271 Боб извлекает внешний HMAC для следующего перехода ......................272 Боб удаляет свой полезный груз и сдвигает луковицу влево ..................272 Боб конструирует новый луковичный пакет ............................................273 Боб верифицирует детали HTLC-контракта .............................................273 Боб отправляет update_add_htlc Чану ........................................................274 Чан пересылает луковицу ..........................................................................274 Дина получает заключительный полезный груз ......................................275 Возвращение ошибок .....................................................................................275 Сообщения о сбоях .....................................................................................276 Застрявшие платежи ..............................................................................278 Спонтанные платежи keysend........................................................................279 Конкретно-прикладные луковичные TLV-записи ...................................279 Отправка и получение платежей keysend .................................................280 Платеж keysend и конкретно-прикладные записи в приложениях Lightning ......................................................................................................280 Вывод ...............................................................................................................280 Глава 11. Сплетни и канальный граф...........................................281 Обнаружение одноранговых узлов ...............................................................283 Самозагрузка P2P-узлов .............................................................................284 Самозагрузка адресов DNS-серверов ........................................................284 Рабочий поток самозагрузки нового однорангового узла ..................285 Опции SRV-запроса ...................................................................................288 Канальный граф ..............................................................................................289 Ориентированный граф .............................................................................289 Сообщения эпидемического протокола ......................................................290 Сообщение node_announcement ................................................................291 Структура сообщения node_announcement ..........................................291 Валидация объявлений узла ..................................................................292 Сообщение channel_announcement ...........................................................292 Необъявленные (приватные) каналы....................................................293 Локализация канала в блочной цепи Bitcoin ........................................293 Короткий ИД канала ...............................................................................294 Структура сообщения channel_announcement ......................................294 Валидация объявления канала ..............................................................296 Сообщение channel_update ........................................................................296
Стр.13
Оглавление  13 Текущее сопровождение канального графа .................................................297 Вывод ...............................................................................................................298 Глава 12. Отыскание пути и доставка платежа ..........................299 Отыскание пути в рамках комплекта протоколов Lightning .......................299 Где же BOLT? ...............................................................................................300 Отыскание пути: какую задачу мы решаем? ................................................300 Выбор наилучшего пути .............................................................................301 Отыскание путей в математике и информатике .....................................302 Емкость, остаток, ликвидность ..................................................................302 Неопределенность остатков ......................................................................303 Сложность отыскания пути ........................................................................304 Без лишних сложностей .............................................................................304 Отыскание пути и процесс доставки платежа ..............................................305 Построение канального графа .......................................................................305 Неопределенность в канальном графе .................................................308 Неопределенность ликвидности и вероятность .......................................309 Комиссионные и другие метрики канала .................................................310 Отыскание кандидатных путей .....................................................................312 Доставка платежа (цикл проб и ошибок) ......................................................312 Первая попытка (путь №1) ........................................................................313 Учеба на ошибках ...................................................................................313 Вторая попытка (путь № 4) ........................................................................313 Учеба на успехах .....................................................................................314 Застоявшиеся знания? ...........................................................................314 Многокомпонентные платежи ......................................................................314 Использование MPP ...................................................................................315 Разбивка платежей .................................................................................315 Метод проб и ошибок в течение нескольких «раундов» ..........................316 Вывод ...............................................................................................................318 Глава 13. Проводной протокол: фреймирование и расширяемость.............................................................................319 Слой обмена сообщениями в рамках комплекта протоколов Lightning .......319 Проводное фреймирование ...........................................................................320 Высокоуровневое фреймирование............................................................320 Кодировка типа ...........................................................................................321 Расширения «Тип–длина–значение для сообщений» .................................322 Протокол буферизует формат сообщения ................................................322 Прямая и обратная совместимости ...........................................................323 Формат «Тип–длина–значение» ...................................................................323 Целочисленная кодировка BigSize ............................................................324 Ограничения TLV-кодирования ................................................................325 Каноническое TLV-кодирование ..............................................................325 Биты функциональностей и расширяемость протокола .............................325 Биты функциональностей как механизм обеспечения обнаруживаемости модернизаций ...........................................................326
Стр.14
14  Оглавление TLV для прямой и обратной совместимостей ...........................................327 Таксономия механизмов модернизации ..................................................328 Модернизации внутренней сети ...........................................................328 Сквозные модернизации .......................................................................328 Модернизации уровня строительства канала ..........................................329 Вывод ...............................................................................................................329 Глава 14. Шифрованный транспорт сообщений Lightning ......330 Шифрованный транспорт в рамках комплекта протоколов Lightning .......330 Введение ..........................................................................................................330 Канальный граф как децентрализованная инфраструктура публичных ключей .........................................................................................331 Почему не TLS? ...............................................................................................332 Каркас криптосвязи на основе протокола Noise ..........................................333 Шифрованный транспорт Lightning в деталях .............................................333 Noise_XK: рукопожатие Noise в сети Lightning .........................................333 Нотация рукопожатия и поток протокола ................................................334 Высокоуровневый обзор ............................................................................334 Рукопожатие в трех действиях ..................................................................335 Инициализация состояния сеанса рукопожатия .................................337 Акты рукопожатия ..................................................................................337 Акт первый ..............................................................................................338 Акт второй ...............................................................................................339 Акт третий ...............................................................................................340 Шифрование транспортных сообщений ...............................................342 Ротация ключей сообщений Lightning ..................................................343 Вывод ...............................................................................................................343 Глава 15. Платежные запросы Lightning .....................................345 Счета в комплекте протоколов Lightning .....................................................345 Введение ..........................................................................................................345 Платежные запросы Lightning против Bitcoin-адресов ...............................346 BOLT #11: сериализация и интерпретация платежных запросов Lightning ..........................................................................................347 Кодирование платежного запроса на практике .......................................347 Человекочитаемый префикс ......................................................................347 bech32 и сегмент данных ...........................................................................348 Тегированные поля счета .......................................................................349 Вывод ...........................................................................................................350 Глава 16. Безопасность и конфиденциальность сети Lightning ..................................................................................351 Почему важна конфиденциальность? ...........................................................351 Определения конфиденциальности..............................................................351 Процесс оценивания конфиденциальности .................................................352 Анонимностное множество ...........................................................................353
Стр.15
Оглавление  15 Различия между сетями Lightning и Bitcoin с точки зрения конфиденциальности .......................................................354 Атаки на Lightning ..........................................................................................356 Наблюдение за суммами платежей ...........................................................356 Связывание отправителей и получателей ................................................356 Раскрытие остатков каналов (прощупывание) ........................................358 Отказ в обслуживании ................................................................................360 DoS в Bitcoin ............................................................................................360 DoS в Lightning ........................................................................................361 Известные DoS-атаки .............................................................................361 Заклинивание фиксаций ............................................................................362 Запирание ликвидности канала ................................................................362 Межслоевая деанонимизация........................................................................362 Внутрицепная кластеризация Bitcoin-сущностей ...................................363 Контрмеры ..............................................................................................364 Внецепная кластеризация узлов Lightning ...............................................364 Контрмеры ..............................................................................................364 Межслоевое связывание: узлы Lightning и Bitcoin-сущности .................365 Граф Lightning .................................................................................................365 Как выглядит граф Lightning в реальности? .............................................365 Граф Lightning сегодня ...........................................................................366 Атаки на основе топологии ....................................................................366 Темпоральность сети Lightning .............................................................367 Централизация в сети Lightning ....................................................................368 Экономические стимулы и графовая структура ...........................................368 Практические советы пользователям по защите их конфиденциальности ................................................................................369 Необъявленные каналы ..................................................................................369 Соображения по маршрутизации ..................................................................370 Принятие каналов ......................................................................................371 Вывод ...............................................................................................................372 Справочные материалы и дальнейшее чтение ............................................372 Конфиденциальность и атаки прощупыванием ..................................372 Атаки переполнением ............................................................................372 Соображения по маршрутизации..........................................................372 Глава 17. Заключение .....................................................................373 Децентрализованные и асинхронные инновации .......................................373 Инновации в Bitcoin-протоколе и в Bitcoin Script ....................................374 Инновация в протоколе Lightning .............................................................374 Расширяемость TLV ....................................................................................375 Строительство платежного канала ............................................................375 Сквозные функциональности в порядке выбора .....................................375 Lightning-приложения (LApps) ......................................................................376 На старт, внимание, марш! ............................................................................377
Стр.16
16  Оглавление Приложение A. Обзор основных принципов системы Bitcoin ...............................................................................378 Ключи и цифровые подписи ..........................................................................378 Приватные и публичные ключи ................................................................379 Хеши ............................................................................................................380 Цифровые подписи ....................................................................................382 Типы подписей ...........................................................................................383 Транзакции Bitcoin .........................................................................................383 Входы и выходы ..........................................................................................383 Транзакционные цепочки .........................................................................385 TxID: идентификаторы транзакций ..........................................................386 Выходные точки: выходные идентификаторы ........................................387 Bitcoin Script ....................................................................................................388 Работа языка Bitcoin Script .........................................................................388 Привязывающие и отвязывающие скрипты ............................................390 Привязывание к публичному ключу (подписи) .......................................390 Привязывание к хешу (секрету) ................................................................391 Мультиподписные скрипты .......................................................................392 Скрипты привязки ко времени .................................................................393 Скрипты с несколькими условиями ..........................................................394 Использование управления потоком в скриптах .....................................395 Приложение B. Базовая инсталляция и использование Docker ................................................................ 397 Инсталляция Docker .......................................................................................397 Базовые команды Docker ...............................................................................398 Сборка контейнера .....................................................................................398 Оперирование контейнером .....................................................................398 Исполнение команды в контейнере .........................................................398 Остановка и запуск контейнера ................................................................398 Удаление контейнера по имени ................................................................399 Выведение списка оперируемых контейнеров ............................................399 Выведение списка Docker-образов ...............................................................399 Вывод ...............................................................................................................399 Приложение C. Сообщения проводного протокола ..................400 Типы сообщений.............................................................................................400 Структура сообщения .....................................................................................402 Сообщения об установлении соединения ................................................402 Сообщение init ........................................................................................402 Сообщения об ошибке ................................................................................403 Сообщение error .....................................................................................403 Оживленность соединения ........................................................................404 Сообщение ping ......................................................................................404 Сообщение pong .....................................................................................404
Стр.17
Оглавление  17 Финансирование канала ............................................................................405 Сообщение open_channel .......................................................................405 Сообщение accept_channel .....................................................................406 Сообщение funding_created ...................................................................406 Сообщение funding_signed .....................................................................407 Сообщение funding_locked .....................................................................407 Закрытие канала .........................................................................................407 Сообщение shutdown ..............................................................................408 Сообщение closing_signed ......................................................................408 Операция канала ........................................................................................408 Сообщение update_add_htlc ...................................................................408 Сообщение update_fulfill_hltc.................................................................409 Сообщение update_fail_htlc ....................................................................409 Сообщение committement_signed ..........................................................409 Сообщение revoke_and_ack .....................................................................410 Сообщение update_fee ............................................................................410 Сообщение update_fail_malformed_htlc .................................................410 Объявление канала .....................................................................................411 Сообщение channel_announcement .......................................................411 Сообщение node_announcement ............................................................411 Сообщение channel_update ....................................................................412 Сообщение announce_signatures ............................................................412 Синхронизация канального графа ............................................................413 Сообщение query_short_chan_ids ...........................................................413 Сообщение reply_short_chan_ids_end .....................................................413 Сообщение query_channel_range ............................................................413 Сообщение reply_channel_range .............................................................414 Сообщение gossip_timestamp_range ......................................................414 Приложение D. Источники и уведомления о лицензиях ..........415 Источники .......................................................................................................415 Сервер BTCPay Server .....................................................................................416 Lamassu Industries AG .....................................................................................416 Глоссарий .......................................................................................... 417 Предметный указатель ..................................................................436
Стр.18

Облако ключевых слов *


* - вычисляется автоматически
Периодика по подписке
Антиплагиат система Руконтекст