В этом специальном выпуске информационного бюллетеня Optech суммируются заметные события Биткойна за 2023 год. Это продолжение наших обзоров за 2018, 2019, 2020, 2021 и 2022 годы.
январь
Энтони Таунс объявил о запуске Bitcoin Inquisition, программного форка Bitcoin Core, предназначенного для тестирования подписей по умолчанию для предлагаемых софт-форков и других крупных изменений протокола. К концу года она включила поддержку нескольких предложений: SIGHASH_ANYPREVOUT, OP_CHECKTEMPLATEVERIFY и базовых временных привязок, открыла в своем репозитории пул-реквест для добавления поддержки OP_CAT, OP_VAULT и ограничения на 64-байтовые транзакции.
ZmnSCPxj и Джесси Познер предложили swap-in-potentiam — неинтерактивный метод открытия каналов Lightning Network, который решает проблемы часто отключающихся кошельков на мобильных устройствах. Клиенты могут получать средства в ходе транзакций в сети, находясь в автономном режиме. Когда клиент снова подключается к сети, транзакция может получить достаточно подтверждений, чтобы немедленно и безопасно открыть канал с заранее выбранным узлом без какого-либо доверия к этому узлу. Через несколько месяцев после этого предложения по крайней мере один популярный кошелек Lightning Network использовал реализацию этой идеи.
Стандартный формат экспорта и импорта тегов кошелька обозначается идентификатором BIP329. Этот стандарт не только упрощает резервное копирование важных данных кошелька, которые невозможно восстановить из начального числа BIP32, но также упрощает копирование метаданных транзакций в программы, не связанные с кошельком, такие как бухгалтерское программное обеспечение. К концу года несколько кошельков реализовали вывод BIP329.
февраль
Обсуждения порядковых номеров и надписей, двух связанных протоколов для связывания значений и данных с выходными данными транзакций, начались в феврале и будут продолжаться до конца года. Эндрю Поэльстра резюмирует позицию многих разработчиков протоколов: «Не существует разумного способа запретить людям хранить произвольные данные в свидетелях, не стимулируя при этом худшее поведение и/или не нарушая законные варианты использования, учитывая, что подход, используемый Inscriptions, позволяет хранить большие объемы». Кристофер Аллен предложил увеличить лимит в 83 байта для Bitcoin Core, чтобы хранить данные с префиксом OP_RETURN в выходных данных. Позже в том же году Питер Тодд также предложил эту идею.
BitcoinSearch.xyz был запущен ранее в этом году для предоставления поисковой системы для технической документации и обсуждения Биткойна. К концу года на сайте появился интерфейс чата и сводка недавних обсуждений.
В Core Lightning добавлена экспериментальная поддержка резервных копий одноранговых хранилищ, позволяющая узлам хранить небольшой зашифрованный файл резервной копии для своих одноранговых узлов. Если узлу потребуется повторно подключиться позже, возможно, после потери данных, он может запросить файл резервной копии. Узел может расшифровать файл, используя ключ, полученный из его кошелька, и использовать содержимое файла для восстановления последнего состояния всех своих каналов.
Йост Ягер предложил установить для каналов Lightning Network флаг «высокой доступности», позволяющий каналу сигнализировать о том, что он обеспечивает надежную пересылку платежей. Кристиан Декер указал на проблемы при создании системы репутации, такие как нечастая частота встреч узлов. Также упоминается другой ранее предложенный подход: переплаты с возмещением (ранее известные как бумеранг или возмещаемые переплаты), при которых платежи разделяются и отправляются по нескольким маршрутам, что снижает зависимость от каналов с высокой доступностью.
Идеи из статьи, опубликованной в прошлом году, стали предметом особого внимания в 2023 году по снижению помех в каналах сети Lightning. В феврале Карла Кирк-Коэн и Клара Шихельман, соавтор статьи, начали собирать отзывы о предлагаемых параметрах, которые следует использовать при реализации одобрения HTLC, что является одной из идей в документе. В апреле этого года они опубликовали проект спецификации плана испытаний. Идея и предложение обсуждались на конференции по развитию Lightning Network в июле, что привело к некоторым обсуждениям в списках рассылки, в которых обсуждался альтернативный подход, при котором затраты, уплачиваемые как злоумышленниками, так и честными пользователями, отражают потенциальные затраты операторов узлов, которые платят за предоставление услуги, например что операторы узлов, которые предоставляют услуги честным пользователям и получают разумное вознаграждение, продолжат получать разумное вознаграждение, если злоумышленники начнут использовать эти услуги. В августе этого года разработчики, связанные с Eclair, Core Lightning и LND, объявили, что все они внедряют части протокола одобрения HTLC, чтобы начать сбор связанных с ним данных.
Рассел О'Коннор и Эндрю Поэльстра предложили новый BIP для резервного копирования и восстановления мнемоники BIP32, названный codex32. Подобно SLIP39, он позволяет создавать несколько общих ресурсов, используя схему совместного использования секретов Шамира с настраиваемыми пороговыми требованиями. Если злоумышленник получит меньше порогового количества акций, то он ничего не узнает о мнемонической фразе. В отличие от других кодов восстановления, использующих списки слов, codex32 использует тот же алфавит, что и адреса bech32. Основным преимуществом codex32 по сравнению с существующими решениями является его способность выполнять все операции вручную с помощью ручки, бумаги, инструкций и вырезов, включая создание мнемоники кодирования (с использованием игральных костей), защиту мнемоники с помощью контрольных сумм, создание контрольных сумм и обмен ими, проверку контрольных сумм и восстановление мнемоники. . Это позволяет пользователям периодически проверять целостность отдельных общих ресурсов, не полагаясь на доверенное вычислительное устройство.
Маршировать
В марте этого года анонимный разработчик Джон Лоу опубликовал статью, описывающую метод создания иерархии каналов для нескольких пользователей, совершающих транзакции в одной цепочке. Проект может позволить всем онлайн-пользователям тратить свои средства, в то время как некоторые из их контрагентов по каналу находятся в автономном режиме, что в настоящее время невозможно в сети Lightning. Эта оптимизация позволит постоянно активным пользователям более эффективно использовать свои средства, потенциально снижая затраты для других пользователей сети Lightning. Это предложение основано на Соглашении Ло о регулируемых штрафах, по которому не было разработано общедоступное программное обеспечение с тех пор, как оно было предложено в 2022 году.
Краткое изложение предложений по софтфорку на 2023 год
Джеймс О'Бейрн опубликовал предложение по новому коду операции OP_VAULT в январе, а в феврале последовал проект BIP для реализации Bitcoin Survey. Несколько недель спустя Грегори Сандерс предложил альтернативный дизайн OP_VAULT.
Предложение «Объединить все вместе» (MATT), впервые предложенное в прошлом году, вновь появилось в этом году. Сальваторе Ингала показывает, как он обеспечивает большую часть функциональности предлагаемого кода операции OP_VAULT. Йохан Торос Халсет далее продемонстрировал, как код операции в предложении MATT повторяет ключевые функции предложенного кода операции OP_CHECKTEMPLATEVERIFY, хотя версия MATT менее эффективна по пространству. Хэлсет также воспользовался возможностью познакомить читателей с Tapsim, разработанным им инструментом, который позволяет отлаживать транзакции биткойнов и Tapscript.
В июне Робин Линус описал, как пользователи могут заблокировать средства сегодня, использовать их в сайдчейне в течение длительного периода времени, а затем позволить получателю средств в сайдчейне эффективно вывести их в Биткойн в более поздний момент времени, но Предполагается, что пользователи Биткойна в конечном итоге решат каким-то образом изменить правила консенсуса. Это позволяет пользователям, готовым пойти на финансовый риск, немедленно начать использовать свои средства и получить доступ к новым функциям консенсуса, которые им нужны, одновременно предоставляя возможность этим средствам вернуться в основную сеть Биткойн позже.
В августе Брэндон Блэк предложил версию OP_TXHASH в сочетании с OP_CHECKSIGFROMSTACK, которая обеспечит большую часть функциональности OP_CHECKTEMPLATEVERIFY (CTV) и SIGHASH_ANYPREVOUT (APO) без слишком больших затрат на цепочку, чем эти отдельные предложения.
В сентябре этого года Джон Лоу предложил использовать контракты для повышения масштабируемости сети Lightning. Он использует структуру, подобную фабрике каналов, и предложенный протокол Ark для потенциального финансирования миллионов оффчейн-каналов, которые могут быть повторно использованы спонсорами фабрики по истечении срока действия, а пользователи могут заранее вывести средства через сеть Lightning. Модель позволяет переводить средства между фабриками без взаимодействия с пользователем, снижая риск перегрузки сети в последнюю минуту и комиссий за транзакции. Энтони Таунс выразил обеспокоенность по поводу принудительного истечения срока действия, когда сбой крупного пользователя может вызвать одновременное выполнение множества чувствительных ко времени внутрисетевых транзакций. Ло ответил, что работает над решениями, позволяющими отсрочить истечение срока действия в периоды высоких комиссий за транзакции.
Начиная с октября Стивен Руз опубликовал черновик нового кода операции OP_TXHASH. Идея опкодов уже обсуждалась ранее, но это первая спецификация идеи. Помимо описания того, как именно работает код операции, в этой статье также рассматриваются некоторые недостатки, такие как тот факт, что полному узлу может потребоваться хешировать до нескольких мегабайт данных каждый раз, когда вызывается код операции. Черновой вариант BIP включает пример реализации кода операции.
Также в октябре Расти Рассел рассмотрел универсальные контракты, внося минимальные изменения в язык сценариев Биткойна, а Итан Хейлман опубликовал черновой вариант BIP, в который добавлен код операции OP_CAT, который может соединять два элемента в стеке. Обсуждения этих двух тем продолжатся до ноября.
До конца года Йохан Торос Халсет также предположил, что софт-форк в стиле контракта может позволить объединить несколько HTLC в один результат, что позволит одной стороне потратить все сразу, если она знает все прообразы. Если одной стороне известны только некоторые изображения, она может запросить только эти изображения, а затем вернуть оставшуюся сумму другой стороне. Это будет более эффективно в цепочке и может затруднить выполнение определенных типов атак с глушением каналов.
апрель
Серджи Дельгадо Сегура предлагает механизм ответственности сторожевых вышек для тех, кто не реагирует на нарушения протокола, которые они могут обнаружить. Например, Алиса предоставляет сторожевой башне данные для обнаружения и реагирования на подтверждения старого статуса канала Lightning. Позже статус подтвердился, но сторожевая вышка не отвечала. Алиса надеется, что сможет привлечь оператора сторожевой вышки к ответственности, публично продемонстрировав, что он не отреагировал должным образом. Дельгадо предлагает механизм на основе криптографического аккумулятора, который наблюдательные вышки могут использовать для создания обязательств, которые пользователи могут использовать для получения доказательств ответственности в случае последующего взлома.
Маршрутизирующие жалюзи, впервые описанные три года назад, были добавлены в спецификацию Lightning Network в апреле этого года. Это позволяет получателю предоставить отправителю идентификатор конкретного узла пересылки и путь с луковым шифрованием от этого узла до собственного узла получателя. Отправитель пересылает платеж и зашифрованную информацию о пути выбранному узлу пересылки, который расшифровывает информацию для следующего перехода, который расшифровывает переход после него, и так далее, пока платеж не достигнет узла получателя, и отправитель И ни один узел пересылки не сможет ( определенно) знать, какой узел принадлежит получателю. Это существенно повышает конфиденциальность получения средств с помощью Lightning Network.
BIP327 был назначен протоколу MuSig2 в апреле для создания мультиподписей без сценариев. Протокол будет реализован в нескольких проектах и системах в течение года, включая Signrpc RPC LND, сервис Loop Lightning Lab, сервис мультиподписей BitGo, экспериментальный простой канал Taproot LND и проект BIP для расширения PSBT.
Максим Орловский объявил о выпуске RGB v0.10 в апреле — новой версии протокола, которая позволяет (помимо прочего) создавать и передавать токены с использованием контрактов, определенных и проверяемых вне сети. Изменения состояния контракта (например, переводы) связаны с транзакциями в цепочке таким образом, что не используется дополнительное пространство блока для типичных транзакций и сохраняется вся информация о состоянии контракта (включая его существование) в полной секретности от третьих сторон. Позже в этом году протокол Taproot Asset, частично основанный на RGB, выпускает спецификацию, которая призвана стать BIP.
В апреле также состоялось серьезное обсуждение предлагаемого протокола сплайсинга, который позволит узлам продолжать использовать канал по мере добавления или удаления средств из канала. Это особенно полезно для хранения средств в канале, при этом позволяя осуществлять мгновенные внутрисетевые платежи с этого баланса, позволяя пользовательскому интерфейсу кошелька показывать пользователям единый баланс, с которого они могут совершать внутрисетевые или внесетевые платежи. К концу года и Core Lightning, и Eclair будут поддерживать сшивку.
Может
Предварительный набор спецификаций поставщика услуг Lightning (LSP) был выпущен в мае. Этот стандарт упрощает для клиентов подключение к нескольким LSP, что предотвращает привязку к поставщику и повышает конфиденциальность. Первая выпущенная спецификация описывает API, который позволяет клиентам приобретать каналы у LSP, реализуя функциональность, аналогичную рекламе ликвидности. В части 2 описывается API для настройки и управления каналами JIT (точно в срок).
Дэн Гулд провел большую часть года, работая над усовершенствованием протокола Payjoin, технологии повышения конфиденциальности, которая затрудняет третьим лицам надежную связь входных и выходных данных в транзакции с плательщиком или получателем. В феврале он предложил бессерверный протокол оплаты, который можно использовать, даже если у получателя нет постоянно работающего HTTPS-сервера, работающего на интерфейсе общедоступной сети. В мае он обсудил несколько продвинутых приложений, использующих Payjoin, включая различные способы прохождения платежей, например, вместо того, чтобы Алиса платила Бобу, Алиса платит поставщику Боба (Кэрол), тем самым уменьшая долг, который Боб ей должен (или заранее оплачивать ожидаемые будущие счета). Это экономит место в блоке и еще больше повышает конфиденциальность по сравнению со стандартными платежными соединениями. В августе он опубликовал проект BIP для бессерверных платежей, который не требует, чтобы плательщики и получатели были онлайн одновременно (хотя каждый из них должен быть онлайн хотя бы один раз после инициации транзакции, прежде чем ее можно будет транслировать). В течение года он внес основной вклад в разработку Payjoin Development Kit (PDK), а также в проект Payjoin-cli, который предоставляет надстройку для создания Payjoin с Bitcoin Core.
Бурак Кеджели предложил новый протокол в стиле федеративного пула под названием Ark, в котором владельцы биткойнов могут использовать контрагента в качестве соподписателя во всех транзакциях в течение определенного периода времени. Владелец может вывести Биткойн из сети после истечения срока блокировки или передать Биткойн контрагенту вне сети непосредственно до истечения срока блокировки. Протокол обеспечивает не требующий доверия однопереходный односторонний протокол атомарной передачи от владельца к контрагенту для различных целей, включая смешивание монет, выполнение внутренних переводов и оплату счетов Lightning Network. По сравнению с Lightning Network, существуют повышенные опасения по поводу большого объема сети и необходимости для операторов хранить большие суммы средств в горячих кошельках. Тем не менее, некоторые разработчики по-прежнему с энтузиазмом относятся к предлагаемому протоколу и его потенциалу предоставить пользователям простой и не требующий доверия опыт.
Июнь
Джози Бейкер и Рубен Сомсен выпустили проект BIP для тихих платежей — многоразового платежного кода, который генерирует уникальный адрес в цепочке при каждом использовании, предотвращая исходящие ссылки. Исходящие ссылки могут существенно снизить конфиденциальность пользователей, в том числе тех, кто непосредственно не участвует в транзакции. В проекте подробно описаны преимущества предложения, его плюсы и минусы, а также то, как программное обеспечение может его эффективно использовать. На заседании Клуба обзора PR Bitcoin Core также обсуждалась текущая работа по внедрению бесшумных платежей для Bitcoin Core.
Сводная информация о безопасности за 2023 г.
Optech сообщила о трёх основных уязвимостях безопасности в этом году:
●Уязвимость Milk Sad в Libbitcoin bx. Отсутствие энтропии в команде создания кошелька было широко недокументированной уязвимостью, которая в конечном итоге привела к краже большого количества биткойнов из нескольких кошельков.
● Фейковые фонды отказа в обслуживании, нацеленные на узлы сети Lightning: Мэтт Морхаус в частном порядке обнаружил и ответственно раскрыл атаку типа «отказ в обслуживании». Все затронутые узлы смогли обновиться, и на момент написания мы не знали, что уязвимость используется.
● Цикл замены против HTLC: Атака с целью хищения средств против HTLC, используемого в сети Lightning Network и других протоколах, была обнаружена в частном порядке и ответственно раскрыта Антуаном Риаром. Во всех реализациях Lightning Network, отслеживаемых Optech, внедрены меры по снижению риска, хотя эффективность этих мер по снижению риска является предметом обсуждения, и были предложены дополнительные меры по снижению риска.
Июль
Проект Verified Lightning Signer (VLS) выпустил свою первую бета-версию в июле. Проект позволяет отделить узлы Lightning Network от ключей, контролирующих их средства. Узел Lightning Network, на котором работает VLS, будет направлять запросы на подпись на удаленное подписывающее устройство вместо локального ключа. Бета-версия поддерживает CLN и LDK, правила проверки первого и второго уровня, функции резервного копирования и восстановления, а также предоставляет эталонную реализацию.
На июльской конференции разработчиков Lightning обсуждались различные темы, в том числе надежные подтверждения транзакций на базовом уровне, каналы Taproot и MuSig2, анонсы обновленных каналов, PTLC и избыточные переплаты, рекомендации по уменьшению помех в каналах, оптимизированные обязательства и процессы спецификации. Другие обсуждения Lightning Network примерно в то же время включали очистку спецификации Lightning Network для удаления неиспользуемых устаревших функций и упрощенный протокол для закрытия каналов.
Август
В августе в спецификацию Lightning Network была добавлена поддержка луковых сообщений. Луковые сообщения позволяют отправлять односторонние сообщения по сети. Как и в случае с платежами (html), сообщения шифруются с использованием лука, поэтому каждый узел пересылки знает только от какого узла он получил сообщение и от следующего узла он должен получить сообщение. Полезная нагрузка сообщения также зашифрована, поэтому его может прочитать только конечный получатель. Луковые сообщения используют слепые пути, которые были добавлены в спецификацию Lightning Network в апреле и сами используются предлагаемым протоколом котировок.
Томас Фогтлин предложил протокол, который позволит наказывать провайдеров, предоставляющих пользователям устаревший статус резервного копирования. Служба включает в себя простой механизм, при котором пользователь Алиса создает резервную копию данных Бобу с номером версии и подписью. Боб добавляет одноразовый номер и отправляет полные данные с подписью временной метки. Если Боб предоставит данные с истекшим сроком действия, Алиса может создать доказательство мошенничества, доказывающее, что Боб ранее подписал более высокий номер версии. Этот механизм не является специфичным для Биткойна, но в сочетании с определенными кодами операций Биткойна может сделать его пригодным для использования в цепочке. В канале Lightning Network (LN), если Боб предоставит устаревшую резервную копию, это позволит Алисе потребовать все средства канала, тем самым снижая риск того, что Боб обманет Алису и украдет ее баланс. Предложение вызвало бурные дебаты. Питер Тодд отметил его универсальность за пределами Lightning Network и предложил более простой механизм, не требующий доказательств мошенничества, а Ghost43 подчеркнул важность таких доказательств при работе с анонимными узлами.
LND добавила экспериментальную поддержку «Simple Taproot Channels», позволяющую финансировать и коммитировать транзакции Lightning Network для поддержки подписей с несколькими подписями без сценариев в стиле musig2 с использованием P2TR при сотрудничестве обеих сторон. Это снижает вес транзакций и повышает конфиденциальность, когда канал совместной работы закрыт. LND продолжает использовать исключительно HTLC, позволяя продолжать пересылать платежи, начиная с основного корневого канала, через другие узлы Lightning Network, которые не поддерживают основные корневые каналы.
Сентябрь
В сентябре этого года Том Брайар опубликовал проект спецификации и реализации сжатых транзакций биткойнов. Это предложение решает проблему сжатия равномерно распределенных данных в транзакциях Биткойн путем замены целочисленных представлений целыми числами переменной длины, использования высоты и положения блока для ссылки на транзакции вместо их выходной точки txid и исключения открытых ключей из транзакций P2WPKH. Хотя сжатый формат экономит место, преобразование его обратно в пригодный для использования формат требует больше ресурсов ЦП, памяти и операций ввода-вывода, чем обработка обычных сериализованных транзакций, что приемлемо в таких ситуациях, как спутниковое вещание или компрометация стеганографической передачи.
Подведение итогов основных инфраструктурных проектов за 2023 год
●В Eclair 0.8.0 добавлена поддержка каналов с нулевой конфигурацией и псевдонимов с коротким идентификатором канала (SCID).
●В HWI 2.2.0 добавлена поддержка расходования ключей P2TR с использованием аппаратных устройств подписи BitBox02.
●В Core Lightning 23.02 добавлена экспериментальная поддержка однорангового хранения данных резервного копирования и обновлена экспериментальная поддержка двойного финансирования и ценообразования.
●Rust Bitcoin 0.30.0 содержит множество изменений API, а также анонсирует новый веб-сайт.
●LND v0.16.0-beta представляет новую основную версию этой популярной реализации LND.
● Libsecp256k1 0.3.1 устраняет проблему, связанную с кодом, который должен выполняться за постоянное время, но не выполняется при компиляции в Clang версии 14 или выше.
●LDK 0.0.115 включает дополнительную поддержку экспериментально предоставляемых протоколов и повышает безопасность и конфиденциальность.
●Core Lightning 23.05 включает поддержку слепых платежей, PSBT версии 2 и более гибкого управления альянсами.
●Bitcoin Core 25.0 добавляет новый RPC для блоков сканирования, упрощает использование Bitcoin -cli, добавляет поддержку мини-скриптов для RPC Finalizepsbt, уменьшает использование памяти по умолчанию с помощью параметра конфигурации «только блоки» и ускоряет работу кошельков при включении фильтра компактных блоков. Повторное сканирование.
●Eclair v0.9.0 — это выпуск, который «содержит подготовку ко многим важным (и сложным) функциям Lightning: двойное финансирование, объединение и обеспечение BOLT12».
● В HWI 2.3.0 добавлена поддержка самодельных устройств Jade, а также двоичные файлы для запуска основной программы HWI на оборудовании Apple Silicon в MacOS 12.0+.
●LDK 0.0.116 включает поддержку вывода привязки и многопутевых платежей с отправкой ключей.
●BTCPay Сервер 1.11. X включает улучшения в отчетности по счетам, дополнительные обновления процесса оформления заказа и новые функции для торговых терминалов.
●BDK 0.28.1 добавляет шаблоны для использования производных путей BIP86 в дескрипторах.
Core Lightning 23.08 включает в себя возможность изменять настройки конфигурации нескольких узлов без перезапуска узла, поддержку торрент-резервного копирования и восстановления в формате codex32, новый экспериментальный плагин для улучшения поиска пути оплаты, экспериментальную поддержку объединения и возможность оплаты локально созданных счетов. способность.
● В Libsecp256k1 0.4.0 добавлен модуль, реализующий кодирование ElligatorSwift, которое позже использовалось для транспортного протокола P2P v2.
●LND v0.17.0-beta включает экспериментальную поддержку «Простых прямых каналов», позволяющую использовать необъявленные каналы в цепочке с использованием выходов P2TR. Это первый шаг в добавлении дополнительных функций к каналам LND, таких как поддержка Taproot Assets и PTLC. Этот выпуск также обеспечивает значительные улучшения производительности для пользователей серверной части Neutrino, использует компактные блочные фильтры и улучшает встроенные функции сторожевой башни LND.
●LDK 0.0.117 содержит исправления ошибок безопасности, связанные с функцией экспорта привязки, включенной в предыдущие выпуски. В этом выпуске также улучшен поиск пути, улучшена поддержка сторожевой башни и открыты новые каналы для массового финансирования.
●LDK 0.0.118 включает частичную экспериментальную поддержку протокола предложений.
●Core Lightning 23.11 обеспечивает дополнительную гибкость механизма аутентификации с помощью рун, улучшенную проверку резервных копий и новые функции для подключаемых модулей.
● Bitcoin Core 26.0 включает экспериментальную поддержку транспортного протокола версии 2, поддержку Taproot, новый RPC для обработки состояния предположенияUTXO и экспериментальный RPC для отправки пакетов транзакций в мемпул локального узла.
Октябрь
Гийс ван Дам опубликовал результаты исследования и правила разделения и переключения платежей (PSS). Его код позволяет узлам разделять входящие платежи на несколько частей, которые могут идти разными маршрутами, прежде чем достигнут конечного получателя. Например, платеж от Алисы Бобу может быть частично перенаправлен через Кэрол. Этот метод значительно затрудняет атаки по обнаружению баланса, при которых злоумышленники отслеживают платежи по сети, проверяя балансы каналов. Исследование Ван Дама показывает, что злоумышленники получают на 62% меньше информации, используя PSS. Кроме того, PSS обеспечивает более высокую пропускную способность сети Lightning и может помочь смягчить атаки с помехами в канале.
Разработчик ZmnSCPxj предложил концепцию под названием «сторонние пулы», целью которой является улучшение управления ликвидностью сети Lightning. Боковые пулы включают в себя несколько узлов пересылки, вносящих средства в многосторонние государственные контракты вне цепочки, аналогично каналам Lightning Network. Это позволяет перераспределять средства между участниками вне блокчейна. Например, если у Алисы, Боба и Кэрол есть по 1 BTC, статус можно обновить так, чтобы у Алисы было 2 BTC, у Боба — 0 BTC, а у Кэрол — 1 BTC. Участники по-прежнему будут использовать и рекламировать обычные каналы Lightning Network, и если эти каналы станут несбалансированными, их можно будет перебалансировать посредством одноранговых оффчейновых обменов в рамках государственного контракта. Этот подход является частным для участников, требует меньше места в цепочке и потенциально исключает комиссию за ребалансировку вне цепочки, тем самым увеличивая потенциальный доход узлов пересылки и надежность платежей в сети Lightning Network. Однако для этого требуется многосторонний государственный контракт, который не опробован в производстве. ZmnSCPxj рекомендует создавать каналы оплаты LN-Symmetry или Duplex, оба имеют свои преимущества и недостатки.
В октябре мы завершили первую фазу проекта предположенияUTXO, которая включала все оставшиеся изменения, необходимые для создания моментального снимка состояния цепочки с помощью Предполагаемой проверки и выполнения полной синхронизации проверки в фоновом режиме. Он позволяет загружать снимки UTXO через RPC. Хотя этот набор функций пока недоступен для неопытных пользователей, слияние знаменует собой кульминацию многолетней работы. Проект, предложенный в 2018 году и официально оформленный в 2019 году, значительно улучшит пользовательский опыт для новых полных узлов, впервые входящих в сеть.
В октябре проект Bitcoin Core также завершил поддержку зашифрованных P2P-переводов версии 2, указанных в BIP324. Эта функция в настоящее время отключена по умолчанию, но ее можно включить с помощью опции -v2transport. Зашифрованные передачи помогают улучшить конфиденциальность пользователей Биткойн, не позволяя пассивным наблюдателям (например, интернет-провайдерам) напрямую определять, какие узлы транзакций перенаправляются своим узлам. Зашифрованные передачи также могут использоваться для обнаружения активных наблюдателей-посредников путем сравнения идентификаторов сеансов. В будущем могут быть добавлены дополнительные функции, которые упростят для облегченных клиентов безопасное подключение к доверенным узлам через зашифрованные соединения P2P.
За последний год поддержка Bitcoin Core мини-дескрипторов претерпела некоторые дополнительные улучшения. Мы увидели возможность создавать небольшие дескрипторы сценариев для выходных сценариев P2WSH еще в феврале. В октябре мы обновили поддержку скриптлетов для поддержки Taproot, включая дескриптор скриптлета Tapscript.
В мае Робин Лайнус и Лукас Джордж описали метод сжатия состояния Биткойна с использованием доказательств достоверности с нулевым разглашением. Это значительно уменьшает объем состояния, который клиент должен загрузить для надежной проверки будущих операций в системе, например, запуска нового полного узла с относительно небольшим доказательством достоверности вместо проверки каждой существующей подтвержденной транзакции. В октябре прошлого года Робин Линус запустил BitVM — метод распределения биткойнов, основанный на успешном выполнении любой программы без необходимости внесения консенсусных изменений в биткойн. BitVM требует большого объема автономного обмена данными, но только одной транзакции в цепочке для достижения соглашения или небольшого количества транзакций в цепочке в случае возникновения спора. BitVM может реализовывать сложные контракты, не требующие доверия, даже в состязательных ситуациях, что привлекло внимание некоторых разработчиков.
ноябрь
В этом году был достигнут значительный прогресс в разработке основанных на них протоколов предложений, с окончательной спецификацией слепых путей и луковичных сообщений, а также их реализации на нескольких популярных узлах Lightning Network. Предложения позволяют кошельку получателя генерировать короткое предложение, которым можно поделиться с кошельком потребителя. Кошелек плательщика может использовать это предложение для связи с кошельком получателя по протоколу Lightning Network, запрашивая конкретный счет, который затем можно оплатить обычным способом. Это позволяет создавать многократно используемые предложения, каждое из которых может привести к выставлению отдельного счета, счет может быть обновлен текущей информацией (например, курсом обмена) за несколько секунд до оплаты, а предложения (например, подписки) можно оплачивать несколько раз из одного и того же счета. кошелек и другие функции. Существующие экспериментальные реализации кавычек в Core Lightning и Eclair были обновлены в течение года, а в LDK была добавлена поддержка кавычек. Кроме того, в ноябре обсуждалось создание обновленной версии адресов Lightning, совместимых с котировками.
В ноябре также было обновлено описание рекламы ликвидности, позволяющее узлам заявлять о своей готовности внести часть своих средств в новый канал двойного финансирования в обмен на комиссию, что позволяет запрашивающим узлам быстро начать получать входящие платежи Lightning. Эти обновления были в основном незначительными, хотя в декабре продолжались дискуссии о том, должны ли каналы, созданные на основе мобильной рекламы, включать временную блокировку. Временные блокировки могут дать покупателям основанную на стимулах гарантию того, что они действительно получат ликвидность, за которую заплатили, но временные блокировки также могут использоваться злонамеренными или невнимательными покупателями для блокировки избыточного капитала поставщика.
Итоги за 2023 год. Обзор Bitcoin Optech
На шестом году существования Optech мы опубликовали 51 еженедельный информационный бюллетень, опубликовали серию из 10 частей о политике мемпулов и добавили 15 новых страниц в наш предметный указатель. В этом году Optech опубликовала в общей сложности более 86 000 английских слов о разработке программного обеспечения для Биткойн, что примерно эквивалентно 250-страничной книге.
Кроме того, каждый информационный бюллетень в этом году сопровождается подкастом общей продолжительностью более 50 часов аудиозаписи и 450 000 слов стенограммы. Многие из ведущих участников Биткойна были гостями шоу, некоторые появлялись более чем в одном эпизоде, всего в 2023 году их было 62 разных уникальных гостя:
Optech также опубликовала два текущих отчета от бизнес-сообщества: один от Брэндона Блэка из BitGo о внедрении MuSig2 для снижения комиссий и улучшения конфиденциальности, а другой от Антуана Пуансо из Wizardsardine об использовании минискрипта для создания программного обеспечения.
декабрь
Некоторые разработчики Bitcoin Core начали работать над новой конструкцией кластерного мемпула, чтобы упростить операции с мемпулом, сохраняя при этом необходимый порядок транзакций, при котором родительские транзакции должны быть подтверждены раньше, чем их дочерние. Транзакции группируются в кластеры, а затем разбиваются на блоки, упорядоченные по скорости, гарантируя, что блоки с более высокими ставками будут подтверждены в первую очередь. Это позволяет создавать шаблоны блоков, просто выбирая самый высокий блок объединения в мемпуле, а транзакции удалять, удаляя самый низкий блок объединения. Это исправляет некоторые существующие некорректные действия (например, майнеры могут потерять доход от комиссий из-за неоптимальных выселений) и может позволить улучшить другие аспекты управления мемпулом и ретрансляции транзакций в будущем. Обсуждаемое ими досье было опубликовано в начале декабря.
В декабре также был публично анонсирован новый инструмент для запуска большого количества узлов Биткойн и установления определенного набора соединений между ними (обычно в тестовой сети). Это можно использовать для проверки поведения, которое сложно воспроизвести с использованием небольшого количества узлов или которое может вызвать проблемы в общедоступной сети, например известные атаки и распространение сплетен. Одним из общедоступных примеров использования инструмента является измерение потребления памяти Bitcoin Core до и после предложенных изменений.
Мы благодарим всех участников Биткойна, упомянутых выше, а также многих других, чья работа не менее важна, за еще один невероятный год роста Биткойна. Информационный бюллетень Optech возобновит свой обычный график публикации по средам 3 января.