Author

Topic: Информационный бюллетень Bitcoin Optech #78 (Read 236 times)

sr. member
Activity: 318
Merit: 331
Спасибо за перевод. Надеюсь здесь появятся и другие переводы из этого блога!
Но хотел бы отметить и ошибку в переводе не Питер Уил а Питер Вулле.

Верно, Питер Вулле.

Постараюсь перевести, если будут еще задания из этого блога.

Спасибо за оценку!
sr. member
Activity: 938
Merit: 466
~[f#
Спасибо за перевод. Надеюсь здесь появятся и другие переводы из этого блога!
Но хотел бы отметить и ошибку в переводе не Питер Уил а Питер Вулле.
sr. member
Activity: 318
Merit: 331
2019 Итоги
Биткоин Optech

В течение второго года работы Optech, мы зарегистрировали шесть новых компаний-членов, провели брифинг для руководителей в Нью-Йорке на «недели блокчейна», опубликовали 24-недельный цикл, посвященный продвижению поддержки отправки bech32, добавили матрицу совместимости кошельков и услуг на наш веб-сайт, опубликовали 51 еженедельную рассылку, выпустили несколько наших новостных рассылок и постов в блогах, переведенных на японский и испанский, создали индекс тем, добавили главу в нашу Scalability Workbook (книга по масштабируемости), провели два семинара по schnorr / taproot  с jupyter notebooks ( блокнотами jupyter), которые есть в свободном доступе, и опубликовали отчеты от BTSE и BRD.

У нас большие планы на 2020 год, поэтому мы надеемся, что вы продолжите просматривать наш Twitter, подписываться на нашу еженедельную рассылку или отслеживать нашу RSS-ленту.



Сентябрь

Адам Гибсон предложил новую форму не интерактивного Coinjoin для существующей системы Биткоин. Протокол, называемый SNICKER, затрагивает пользователя, выбирающего один из своих UTXO и случайно выбранный UTXO из глобального UTXO, установленный на тот и другой, будет потрачен в одной и той же транзакции. Предлагающий пользователь подписывает свою часть этой транзакции и выгружает ее в формате частично подписанной Биткоин транзакции (PSBT) на общедоступный сервер. Если другой пользователь проверив сервер увидит PSBT, он может загрузить его, подписать и передать в эфир - завершая coinjoin при этом оба пользователя не должны быть онлайн одновременно. Предлагающий пользователь может создавать и загружать столько PSBT, сколько он хочет, используя свой UTXO, пока какой-либо другой пользователь не примет участие в соревновании.

Основными преимуществами SNICKER по сравнению с другими подходами CoinJoin является то, что он не требует одновременного подключения пользователей к сети, а значит легко добавить поддержку для него в любой кошелек, который уже имеет поддержку BIP174 PSBT, что увеличивает число кошельков.

Также в сентябре разработчики C-Lightning, Eclair и LND сообщили об уязвимости, которая затронула предыдущие версии их программного обеспечения. Оказалось, что в некоторых случаях каждая из реализаций не могла подтвердить, что канал финансирования транзакции выполнил правильный скрипт и отправил верную сумму. На практике это может привести к тому, что платежи по каналам не подтвердятся в блокчейне, что приведет к потери денег в нодах, при передачи платежей из недействительного канала в действительный. Optech не известно ни об одном пользователе, который потерял бы деньги до момента первых публичных объявлений об этой уязвимости. Спецификация LN была обновлена, чтобы помочь будущим разработчикам избежать этой проблемы, и ожидается, что другие заявленные изменения протокола связи LN помогут избежать других сбоев этого типа.


Октябрь

Разработчики LN достигли значительных успехов в октябре и ноябре в решении давней проблемы обеспечения условий при которых пользователи всегда могли бы закрыть свои каналы без больших  задержек. Если пользователь решил, что он хочет закрыть один из своих каналов, и они не могут связаться со своим удаленным одноранговым узлом, тогда они транслируют последнюю транзакцию обязательства для этого канала - предварительно подписанную транзакцию, которая переводит средства канала в блокчейн для каждой стороны в соответствии с последний версией их  off-chain (безблокчейнового) контракта. Потенциальная проблема в этом соглашении заключается в том, что транзакция по обязательству может быть создана за несколько дней или недель раньше, когда комиссионные  были ниже, поэтому времени для безопасного подтверждения транзакции с более высокой комиссией может не хватить.

Как известно, решение этой проблемы состоит в  возможности увеличения   платы за коммит-транзакцию. К сожалению, такие ноды, как Bitcoin Core, должны ограничивать возможность увеличения платы, чтобы предотвратить атаки типа «отказ в обслуживании» (DoS), которые сужают их пропускную способность и тратят ресурсы ЦП. В ненадежных многопользовательских протоколах, таких как LN, вашим контрагентом может быть злоумышленник, который может сознательно активировать политику защиты от DoS, чтобы задержать подтверждение коммит-транзакцию LN, атака иногда называется закреплением транзакции. Закрепленная транзакция может не подтверждаться до истечения срока ее блокировки, что позволяет атакующему контрагенту украсть у вас средства.

В прошлом году Мэтт Коралло предложил сделать специальное исключение из части политики ретрансляции транзакций в Bitcoin Core, связанной с повышением платы Child-Pays-For-Parent (CPFP). Это исключение гарантирует, что двусторонние контрактные протоколы (такие как LN текущего поколения) могут гарантировать каждой стороне возможность создавать свои собственные комиссионные. Идея Коралло получила название CPFP carve-out, и его реализация была реализована в составе Bitcoin Core 0.19. Еще до этого релиза другие разработчики LN работали над пересмотром сценариев LN и сообщений протокола, необходимых для внесения изменений. На момент написания статьи эти изменения спецификации ожидают окончательной реализации и принятия, перед развертыванием в сети.


2019 Итоги
Новые Open Source инфраструктурные решения

  • Proof of reserves tool (Инструмент подтверждения резервов), выпущенный в феврале, позволяет биржам и другим кастодианам Биткоинов доказать, что они контролируют определенный набор UTXO, используя BIP127 доказательства резервов.
  • Hardware Wallet Interface (Аппаратный интерфейс кошелька), выпущенный в марте, позволяет кошельку, уже совместимому с частично подписанными транзакциями Биткоинов (PSBTs) и output script descriptors (дескрипторами выходных скриптов), использовать несколько различных моделей аппаратных кошельков для безопасного хранения и подписи ключей.
  • Lightning Loop, выпущенный в марте (с поддержкой loop-in, добавленной в июне), предоставляет услугу, не связанную с хранением, которая позволяет пользователям добавлять или удалять средства из своих каналов LN, не закрывая существующие каналы и не открывая новые каналы.



Ноябрь

Дискуссия в ноябре об использовании адресов bech32 для Taproot платежей привлекла дополнительное внимание к проблеме, обнаруженной в мае. Согласно BIP173, ошибочно скопированные строки bech32 должны иметь максимальный уровень отказов около 1 на миллиард. Однако было обнаружено, что строки bech32, оканчивающиеся на p, могут иметь любое количество предшествующих q символов. Это практически не влияет на адреса bech32 для адресов segwit P2WPKH или P2WSH, поскольку для преобразования одного типа адреса в другой потребуется добавить или удалить не менее 19 последовательных q символов, а любое другое изменение длины для адресов v0 segwit  недопустимо.

Но это не относится к адресам v1 + segwit, таким как адреса, предложенные для Taproot, когда один добавленный или удаленный символ q в уязвимом адресе может привести к потере средств. Соавтор BIP173 Питер Вулле (Pieter Wuille) провел дополнительный анализ и обнаружил, что это было единственным отклонением от ожидаемой способности bech32 по исправлению ошибок, поэтому он предложил ограничить использование адресов BIP173 в Биткоинах только 20-байтовыми или 32-байтовыми Witness программами . Это гарантирует, что версии v1 и последующие версии адресов segwit обеспечивают такое же надежное исправление ошибок, что и адреса segwit v0. Он также описал небольшую настройку алгоритма bech32, которая позволит другим приложениям, использующим bech32, а также форматам адресов Биткоинов следующего поколения, использовать обнаружение ошибок BCH без этой проблемы.

Также в ноябре в Bitcoin Core удалили зависимость от OpenSSL, которая была частью его кодовой базы с момента первоначального выпуска Bitcoin 0.1 в 2009 году. OpenSSL стал причиной консенсусных уязвимостей, утечек в удаленной памяти (потенциальных утечек личного ключа), других ошибок и низкой производительности. Есть надежда, что его устранение снизит частоту будущих уязвимостей.

В результате удаления  OpenSSL, Bitcoin Core перестал поддерживать протокол платежей BIP70 в версии 0.18, а позже была отключена поддержка по умолчанию в версии 0.19. Это решение было одобрено генеральным директором одной из немногих компаний, которые продолжали использовать BIP70 в 2019 году.


Декабрь

В декабре разработчики LN достигли одной из своих главных целей на прошлогоднем совещании по планированию: внедрение базовых multipath  платежей. Это платежи, которые можно разделить на несколько частей, каждая из которых направляется отдельно по разным каналам. Это позволяет пользователям тратить или получать деньги, используя более чем один из своих каналов одновременно, что позволяет тратить их полный off-chain баланс или пополнять их все за один платеж (в пределах определенных безопасных ограничений). Ожидается, что это сделает LN значительно более удобным для пользователя за счет устранения необходимости беспокоиться о балансировке отдельных каналов.


Заключение

В приведенном выше резюме мы не видим никаких революционных предложений или улучшений. Вместо этого мы находим множество постепенных решений, применение которых в Биткоин и LN приводят к заметному улучшению всей системы. Мы видим, что разработчики работают над тем, чтобы сделать аппаратные кошельки более доступными (HWI), обеспечить общее взаимодействие между  multisig кошельками и контрактами (descriptors, PSBTs, miniscript), укрепить консенсусную безопасность (очистка софтфорк), упростить тестирование (signet), устранить ненужное хранение (loop), упростить запуск ноды (assumeutxo), улучшить конфиденциальность и сэкономить пространство блока (taproot), упростить принудительное использование LN (anyprevout), улучшить управление пиковыми нагрузками (CTV), уменьшить пропускную способность ноды (erlay), сохранять безопасность пользователей LN, когда они находятся в автономном режиме (watchtowers), уменьшить потребность в доверии (reproducible builds), предотвратить кражи (vaults), сделать конфиденциальность более доступной (SNICKER), улучшить управление onchain комиссией для пользователей LN (anchor outputs) и автоматизировать большую часть платежей LN (multipath payments).

(И это только основные моменты года!)

Мы можем только догадываться о том, что смогут разработчики Биткоин достичь в следующем году, но мы подозреваем, что это будет нечто большее чем десятки небольших изменений, которые улучшают уже существующую систему первой криптовалюты.


Начиная с  8 января, информационный бюллетень Optech будет выходить по обычному расписанию.
sr. member
Activity: 318
Merit: 331
Апрель

В апреле Джеймс О'Бейрн предложил AssumeUTXO, метод, позволяющий полным нодам откладывать проверку старой истории блокчейн путем загрузки и временного использования доверенной копии последнего набора UTXO. Это позволило бы кошелькам и другому программному обеспечению, использующему полную ноду, начать прием и отправку транзакций в течение нескольких минут после запуска ноды, вместо того, чтобы ждать несколько часов или дней, как это происходит сейчас для вновь запущенной ноды. AssumeUTXO предлагает ноде загружать и проверять старую историю блокчейн в фоновом режиме до тех пор, пока он в конечном итоге не проверит свое первоначальное состояние UTXO, что позволит ему в конечном итоге получить ту же самую надежную защиту, что и нода, которая не использует AssumeUTXO. О’Бейрн продолжал работу над проектом в течение года, постепенно добавляя новые функции и реорганизуя существующий код продвигаясь к цели окончательного добавления AssumeUTXO в Bitcoin Core.

Также в апреле Пьер-Мари-Падиу предложил идею trampoline payments (батутных платежей), метода, позволяющего облегченным LN нодам производить поиск путей к узким узлам маршрутизации. Облегченный узел, такой как мобильное приложение, может не отслеживать полный график маршрутизации LN, что делает невозможным поиск маршрутов к другим узлам. Предложение Падиу позволило бы облегченной ноде направить платеж в соседнюю ноду, а затем заставить эту ноду вычислить остальную часть пути. По сути, платеж будет отскакивать от батутного узла на пути к месту назначения. Чтобы обеспечить конфиденциальность, исходный отправитель может потребовать, чтобы платеж отскочил от нескольких батутных нод последовательно, чтобы никто из них не знал, направлял ли он платеж конечному получателю или просто другой батутной ноде.

В настоящее время открыты функции добавления PR для батутных платежей в спецификацию LN, и реализация LN в Eclair обеспечила экспериментальную поддержку для пересылки батутных платежей.


Май

В мае Питер Вулле предложил Taproot soft fork, состоящий из bip-taproot и  bip-tapscript (оба зависят от прошлогоднего предложения  bip-schnorr). Если это изменение будет реализовано, то позволит single-sig (одиночная подпись), multisig (множественные подписи)  и большинству контрактов использовать один и тот же стиль scriptPubKeys. Множество переводов из multisig и сложных контрактов будут выглядеть одинаково, аналогично single-sig переводу. Это может значительно улучшить конфиденциальность пользователя и удобство использования монет, а также уменьшить объем блокчейн-пространства , используемого в multisig  и контрактах.

Даже в тех случаях, когда multisig и расходы по контракту не могут в полной мере воспользоваться преимуществами конфиденциальности и экономии пространства в Taproot, им все же может потребоваться разместить часть своего кода в блокчейне, что обеспечит им большую конфиденциальность и экономию пространства, чем они имеют сегодня. В дополнение к Taproot, Tapscript вносит небольшие улучшения в возможности сценариев Биткоина, в основном за счет упрощения процедуры добавления новых кодов операций в будущем.

Эти предложения получили широкое обсуждение и подверглись анализу в течение следующих месяцев 2019 г., в том числе в рамках серии групповых сессий, организованных Энтони Таунсом, в которых приняли участие более 150 человек, чтобы помочь в рассмотрении.

Также, в мае Таунс предложил использовать два новых хэша подписи в сочетании с Tapscript: SIGHASH_ANYPREVOUT и SIGHASH_ANYPREVOUTANYSCRIPT. Хэш подписи (sighash) - это хэш полей транзакции и связанных данных, к которым относится подпись. Различные Sighash в Биткоине фиксируют разные части транзакции, что позволяет подписывающим лицам по желанию давать возможность другим людям вносить определенные изменения в свои транзакции. Два новых предложенных Sighash функционируют аналогично BIP118 - SIGHASH_NOINPUT , преднамеренно не идентифицируя, какой UTXO они тратят, позволяя через подпись тратить любой UTXO,  скрипт которого  может выполнить (например, который использует тот же PubKey).

Основное рекомендуемое использование для noinput-style Sighashes - включение ранее предложенного уровня обновления Eltoo для LN. Eltoo может упростить несколько аспектов построения канала и управления им; это особенно подходит для упрощения каналов, в которых более двух участников, что может значительно снизить стоимость канала.

Третий программный форк, предложенный в этом месяце, исходит от Джереми Рубина, который описал новый код операции, который теперь называется OP_CHECKTEMPLATEVERIFY (CTV). Это допускает ограниченную форму соглашения, когда для вывода одной транзакции требуется, чтобы последующая транзакция затрачивала на него определенные другие выходные данные. Для этого предлагается совершать будущие платежи, когда  отправитель делает один маленький перевод, который может быть выполнен только с использованием транзакции (или дерева транзакций), которая в свою очередь  переводит десяткам, сотням или даже тысячам различных получателей. Это может привести к появлению новых технологий для повышения конфиденциальности в стиле совместного объединения, поддержки хранилищ, повышающих безопасность, или управления затратами отправителей, когда транзакция приводит к скачкам.

Рубин продолжил работу над CTV до конца года, включая открытие PRs (1, 2) для усовершенствования блоков Bitcoin Core, где оптимизации могут сделать развернутую версию CTV более эффективной.


2019 Итоги
Технические конференции и другие заметные события




Июнь

Глеб Науменко, Питер Вулле, Грегори Максвелл, Саша Федорова и Иван Бесчастных опубликовали статью об Erlay, протоколе для передачи неподтвержденных сообщений о транзакциях между узлами, который использует согласование наборов на основе Libminisketch для приблизительно  84% сокращения пропускной способности объявления.
В документе также показано, что Erlay сделает намного более практичным увеличение количества исходящих соединений по умолчанию, которые создают ноды. Это может повысить устойчивость каждой ноды к eclipse attacks (атакам затмения), которые могут заставить принимать блоки, не входящие в цепочку блоков с наибольшим количеством proof-of-work (доказательства работы). Дополнительные исходящие соединения также повышают устойчивость ноды к другим атакам, которые можно использовать для отслеживания или задержки платежей, исходящих с ноды. Работа над Erlay  будет продолжена в течение года с дополнительными исследованиями и предложением BIP330 для установленного протокола сверки.

К другим улучшениям, сделанным в P2P relay в этом году, относятся повышение конфиденциальности Bitcoin Core для ретрансляции транзакций (устранение проблемы, описанной в статье TxProbe автора Сержи Дельгадо-Сегура и др.) И добавление двух дополнительных исходящих соединений, используемых только для ретрансляции новых блоков, повышение устойчивости к атакам затмения.

После значительного объема проделанной работы было достигнуто слияние «альтруистских» LN Watchtowers в LND. Altruist Watchtowers (альтруистские сторожевые башни) не получают никакого вознаграждения по протоколу за помощь в защите каналов своих клиентов, поэтому пользователю необходимо запустить собственную Watchtower или он будет зависеть от благотворительности оператора Watchtower, но этого достаточно, чтобы продемонстрировать, что сторожевые башни могут надежно отправлять штрафные транзакции от имени других пользователей, гарантирующие, что пользователи, которые в течение значительного времени отключаются от сети, не теряют денег.

«Альтруистские сторожевые башни» будут реализованы в версии LND 0.7.0-beta, и в течение оставшейся части года будут происходить дополнительные разработки, включая предлагаемую спецификацию и обсуждение того, как их можно объединить с платежными каналами следующего поколения, такими как Eltoo.


Июль

В июле проект Bitcoin Core выполнил слияние (merge) c PR  Carl Dong на github, добавив поддержку воспроизводимых сборок исполняемых файлов Bitcoin Core для Linux с использованием GNU Guix (произносится как «гики»). Хотя Bitcoin Core давно предоставляет поддержку воспроизводимых сборок с использованием системы Gitian, его обычно сложно настроить, так как это зависит от безопасности нескольких сотен пакетов Ubuntu. Для сравнения, Guix может быть намного проще в установке и запуске, и сборки Bitcoin Core, использующие его, в настоящее время зависят от гораздо меньшего числа пакетов. В долгосрочной перспективе участники Guix также работают над устранением проблемы trusting trust  (доверительного доверия), чтобы пользователи могли легко проверить, что двоичные файлы, такие как Bitcoind, получены исключительно из проверяемого исходного кода.

В течение года продолжалась работа по поддержке сборки Guix, и некоторые сотрудники надеются, что Guix будет использоваться для первой основной версии Bitcoin Core, выпущенной в 2020 году (возможно, параллельно со старым механизмом на основе Gitian).

Независимо от этого, в этом году в репозиторий C-Lightning и LND была добавлена документация, описывающая, как создавать воспроизводимые сборки их программного обеспечения с использованием надежных компиляторов.


Август

В августе Брайан Бишоп описал метод реализации vaults on Bitcoin without using covenants (сейф на Биткоинах без использования заветов). Vaults (сейф)  - это термин, используемый для описания сценария, который ограничивает способность злоумышленника красть средства, даже если он получает обычный закрытый ключ пользователя.  Covenant (завет) - это сценарий, который можно потратить только на некоторые другие сценарии. Не существует известного способа создания соглашений с использованием текущего языка Bitcoin Script, но оказывается, что они не нужны, если пользователи готовы запустить код, который выполняет несколько дополнительных шагов при внесении своих денег в  сейф контракта .

Возможно, более важно то, что Бишоп описал новую уязвимость в предыдущих предложениях Vault, и для ее смягчения предложил ограничение максимального объема средств, которые злоумышленник мог бы украсть из Vault. Разработка Vault  может быть полезна как для отдельных пользователей, так и для крупных организаций, таких как биржи.


sr. member
Activity: 318
Merit: 331
Это перевод: Bitcoin Optech Newsletter #78: 2019 Year-in-Review Special


Информационный бюллетень Bitcoin Optech №78: специальный обзор за 2019 год

28 декабря 2019 г.


В этом специальном выпуске подводятся итоги по наиболее заметным разработкам в Биткоине   за весь 2019 год. Это продолжение нашего резюме за 2018 год.

В этот бюллетень вошли наши еженедельные информационные выпуски за прошлый год,  в которых мы просмотрели почти 9 000 commits (приблизительно 2 000 merges), более 1 500 сообщений в списках рассылки, тысячи строк журналов IRC и многочисленные другие открытые источники. Нам потребовалось 50 выпусков информационных бюллетеней и более 200 печатных страниц контента, чтобы подвести итог всей этой удивительной работе.  Но все равно, мы пропустили много важных замечаний, особенно от людей, исправляющих ошибки, пишущих тесты, выполняющих обзоры и оказывающих поддержку - работу, которая  важна, но не обязательно заслуживает освещения в печати. Подводя итоги, и пытаясь сжать информацию за  весь год в рамки этой статьи, мы также пропустили множество других важных материалов.

Итак, прежде чем мы продолжим, мы хотим выразить нашу сердечную благодарность всем, кто внес свой вклад в Биткоин в 2019 году. Даже если ниже не упоминаются ни один из ваших проектов,  то имейте ввиду, что мы из Optech - и, наверное, все пользователи   преисполнены чувством  искренней благодарности за помощь Биткоину.


СОДЕРЖАНИЕ

 
  • Январь
        BIP127 доказательство резервов
  • Февраль
        Биткоин ядро, совместимое с HWI
        Miniscript
  • Март
        Согласованное предложение по очистке софтфорка
        Signet
        Lightning Loop
  • Апрель
       AssumeUTXO
       Батутные платежи
  • Май  
        Taproot
        SIGHASH_ANYPREVOUT
        OP_CHECKTEMPLATEVERIFY
  • Июнь
        Erlay и другие улучшения P2P relay
        Watchtowers
  • Июль
        Воспроизводимые сборки
  • Август
        Сейфы без заветов
  • Сентябрь
        SNICKER
        LN уязвимость
  • Октябрь
        Якорные выходные данные LN
  • Ноябрь
        Bech32 изменчивость
        Удаление Bitcoin Core OpenSSL
        Удаление Bitcoin Core BIP70
  • Декабрь
        Разветвленные платежи
  • Итоги
        Основные релизы популярных инфраструктурных проектов
        Технические конференции и другие заметные события
        Биткоин Оптех
        Новые Open Source инфраструктурные решения


Январь

В январе Стивен Руз предложил стандартизированный формат для доказательства резервов псевдо-транзакций, которые биткоин-фонды (кастодианы) могут использовать для получения доказательств того, что они контролируют определенное количество биткоинов. Ни один инструмент такого типа не может гарантировать, что вкладчики смогут забрать свои монеты у кастодиана,  но это затрудняет скрытие потери или кражи монет кастодианом. Позже Руз сделает инструмент на основе частично подписанных Биткоин транзакций (PSBT) для создания доказательств резервов соответственно спецификации, опубликованной как BIP127.


Февраль

В феврале основной отдел разработки Bitcoin Core  провел   Merge (слияние) окончательного набора  PRs (далее, PR/Pull Request - запрос на изменение кода в репозитории bitcoin core на github), необходимого для его использования с библиотекой Python Hardware Wallet Interface (HWI) и инструментом командной строки. Позднее в марте выйдет первый стабильный релиз  HWI, в апреле для Wasabi Wallet добавит его поддержку, а в ноябре  для BTCPay поддержку через сторонний пакет. HWI облегчает взаимодействие аппаратных и программных кошельков с использованием комбинации output script descriptors  (дескрипторов выходных скриптов) и транзакций с частичной подписью Биткоинов (PSBTs). Расширение поддержки в 2019 году стандартизированных форматов и API-интерфейсов облегчает пользователям выбор правильной комбинации аппаратных и программных решений для их нужд.

Также в феврале Питер Вулле выступил с докладом во время Стэнфордской блокчейн-конференции по языку Miniscript, по результатам его работы над дескрипторами выходных скриптов. Miniscript обеспечивает структурированное представление Биткоин-сценариев, что упрощает автоматизированный анализ с помощью программного обеспечения. Анализ может определить, какие данные должен предоставить кошелек для удовлетворения сценария (например, подпись или прообраз хеша), сколько данных транзакции будет использовано сценарием и данные, которые его удовлетворяют, будет ли сценарий выполнен,  проходит ли известные согласованные правила и популярные политики ретрансляции транзакций.

В дополнение к Miniscript, Уилль, Эндрю Поэлстра и Санкет Канджалкар  также предоставили комбинируемый язык политики, который компилируется в Минискрипт (который сам конвертируется в Биткоин-скрипт). С помощью этого языка политики пользователи могут легко описать условия, которые они хотят выполнить, чтобы потратить свои монеты. Когда несколько пользователей хотят разделить контроль над монетой, возможность компоновки языка политики позволяет легко объединить собственные политики подписи каждого пользователя в один сценарий.

В случае широкого применения Miniscript  может облегчить совместную работу различных систем Биткоина для подписания транзакции, что значительно сократит объем настраиваемого кода, который необходимо написать для интеграции внешних интерфейсов кошельков, узлов LN, CoinJoin систем (технология для анонимизации транзакций биткоина), multisig кошельков, потребительские аппаратные кошельки, промышленные аппаратные модули подписи (HSM) и другое программное и аппаратное обеспечение.

В течение года Уилль и его сотрудники продолжали работать над Miniscript, впоследствии собрали отзывы сообщества и открыли PR (Pull request), чтобы добавить поддержку Bitcoin Core. Miniscript также будет использоваться разработчиками LN в декабре для анализа и оптимизации нескольких новых сценариев для обновленных версий некоторых  on-chain транзакций.


Март

В марте Мэтт Коралло предложил consensus cleanup soft fork (согласованную очистку софтфорка), чтобы устранить потенциальные проблемы в консенсусном коде Биткоина. В случае  принятия эти улучшения устранят  time warp attack (атаку с временным искажением), минимизируют наследие Биткоин Script в наихудшем использовании процессора , сделают более надежным состояние проверки транзакций кэширования и устранят известную (но дорогостоящую) атаку на легких клиентов.

Хотя некоторые блоки этого предложения (такие как исправление временной деформации), казалось, заинтересовали множество людей, другие (такие как исправления для использования процессора в худшем случае и кэширования достоверности) получили некоторую критику. Возможно, именно по этой причине во втором полугодии 2019 г.  предложение так и не было реализовано.

В марте мы наблюдали за тем, как  Калле Альм  запросил первоначальный отзыв о протоколе Signet, который в конечном итоге стал BIP325. Протокол Signet позволяет создавать тестовые сети, где все действующие новые блоки должны быть подписаны централизованной стороной. Хотя такая централизация противоречит Биткоину, она идеально подходит для тестовой сети, в которой тестировщики иногда хотят создать разрушительный сценарий (например, реорганизацию цепочки), а в других случаях просто хотят, чтобы стабильная платформа использовалась для тестирования взаимодействия программного обеспечения. В существующей сети Биткоин могут происходить перерегистрации и другие сбои, которые могут происходить часто и в течение продолжительного времени, что делает регулярное тестирование нецелесообразным.

Signet будет развиваться в течение года и в конечном итоге будет интегрирован в программное обеспечение, такое как C-Lightning, а также будет использоваться для демонстрации Eltoo. Пул-запрос (PR) на добавление поддержки Bitcoin Core остается открытым.

Кроме того, в марте Lightning Labs анонсировала Lightning Loop, предоставляя нестандартное решение для пользователей, которые хотят вывести часть своих средств из канала LN в блокчейн UTXO без закрытия канала. В июне они обновят Loop, чтобы пользователи могли тратить UTXO на существующий канал.  Loop использует контракты с хэш-блокировкой по времени (HTLC), аналогичные тем, которые используются в обычных off-chain   транзакциях LN, гарантируя, что денежные средства пользователя будут переведены, или что пользователь получит возмещение всех затрат, за исключением комиссий за транзакции. Это практически оставляет  Loop без доверия.


2019 Итоги
Основные релизы популярных инфраструктурных проектов

  • C-Lightning 0.7, выпущенная в марте, добавилена система плагинов, которая будет интенсивно использоваться в конце года. Это был первый релиз C-Lightning, поддерживающий reproducible builds (воспроизводимые сборки) для повышения безопасности за счет улучшения возможности аудита.
  • Выпущенная в апреле LND 0.6-beta включена поддержка статических резервных копий каналов (SCBs), которые помогают пользователям восстанавливать любые средства, размещенные в их каналах LN, даже если они утратили свое недавнее состояние канала. Релиз также включает улучшенный автопилот, помогающий пользователям открывать новые каналы,  встроенную совместимость с Lightning Loop для перемещения денежных средств on-chain без закрытия канала или использования кастодиана.
  • Bitcoin Core 0.18, выпущенный в мае, улучшена поддержка частично подписанных Биткоин транзакций (PSBT) и добавлена поддержка output script descriptors. Сочетание этих двух функций позволило использовать его с первой выпущенной версией интерфейса аппаратного кошелька (HWI).
  • Eclair 0.3, выпущенный в мае, улучшена безопасность резервного копирования, добавлена поддержка плагинов и  возможность запуска через сервис анонимизации Tor.
  • В бета-версии LND 0.7, выпущенной в июле, добавлена поддержка использования watchtower (сторожевой башни) для защиты ваших каналов, когда вы не в сети.
  • LND 0.8-beta, выпущенная в октябре, добавлена поддержка более расширяемого лукового формата, улучшена безопасность резервного копирования и  добавлена поддержка Watchtower.
  • В Bitcoin Core 0.19, выпущенном в ноябре, была реализована новая мемпул политика CPFP carve-out, добавлена начальная поддержка compact block filters (фильтров компактных блоков) для BIP158-style (в настоящее время только RPC), улучшена безопасность за счет отключения по умолчанию таких протоколов, как фильтры Блума  BIP37 и платежные запросы BIP70. Добавлено также переключение пользователей GUI на адреса bech32 по умолчанию.
  • C-Lightning 0.8, выпущенный в декабре, добавлена поддержка multipath payments (разветвленных платежей) и  по умолчанию сеть переключена на mainnet из testnet. Это был также первый основной релиз C-Lightning, поддерживающий альтернативные базы данных, с поддержкой PostgreSQL в дополнение к поддержке Sqlite по умолчанию.

Jump to: