Только медийное адаптивное
Только медийное адаптивное

Что нового — журнал Bitcoin

4

Сегодня отмечается официальный выпуск Bitcoin Core 0.21.0, 21-го крупного выпуска оригинального программного клиента Биткойна, запущенного Сатоши Накамото почти 12 лет назад.

Под контролем ведущего разработчика Bitcoin Core Владимира ван дер Лаана, этот последний крупный выпуск был разработан более чем сотней участников примерно за шесть месяцев. Результат более 600 объединенных запросов на вытягивание, Bitcoin Core 0.21.0 — один из крупнейших выпусков Bitcoin Core за последние годы, в котором представлены различные новые функции, а также улучшения конфиденциальности и производительности, а также сделан большой шаг в направлении обновления протокола Schnorr / Taproot. .

Ниже приведены некоторые из наиболее заметных изменений.

Кошельки дескриптора

Когда монеты отправляются на биткойн-адрес, что на самом деле происходит под капотом, так это то, что они «заперты» в неизрасходованном выводе транзакции (UTXO), чтобы «разблокировать» (потратить) только на более позднюю транзакцию, если условия скрыты в UTXO выполнены. Типичным условием является включение действительной подписи, соответствующей определенному публичному ключу. Но условия могут, например, также состоять из включения секретного кода, истечения временного интервала или комбинации подписей (мультиподписи).

До сих пор Bitcoin Core был разработан для управления UTXO в своем кошельке с использованием соответствующих закрытых ключей, хотя закрытые ключи являются лишь одним из нескольких возможных условий для траты монет. Вместо этого Bitcoin Core 0.21.0 вводит «дескрипторные кошельки». Дескрипторные кошельки позволяют пользователям классифицировать свои UTXO в зависимости от типов условий, необходимых для их расходования. (Например: один кошелек для UTXO, для которых требуется только действительная подпись, и один кошелек для UTXO с несколькими подписями.)

Кошельки-дескрипторы особенно полезны для разработчиков приложений, которые разрабатывают программное обеспечение на основе Bitcoin Core. Конкретное приложение теперь можно легко спроектировать для использования только определенного типа UTXO, например UTXO с несколькими подписями, и игнорировать любые UTXO без нескольких подписей.

Обычные пользователи также могут заметить разницу теперь, когда реализованы дескрипторные кошельки. Возможно, наиболее примечательно то, что при запуске нового узла Bitcoin Core кошелек по умолчанию не создается. Вместо этого новый кошелек создается только тогда, когда пользователь специально решает это сделать, что позволяет ему создавать только конкретный желаемый тип кошелька. Кошельки-дескрипторы также лучше поддерживают кошельки Watch Only: кошельки, которые отслеживают определенные UTXO, даже если у узла нет закрытых ключей, необходимых для их использования.

Интересное  Новый токен позволяет использовать Dash в DeFi

Пользователи Bitcoin Core, которые обновятся до Bitcoin Core 0.21.0, по-прежнему смогут использовать свой старый кошелек. (Устаревшие кошельки в конечном итоге будут устаревшими, то есть пользователям потребуется перенести свой старый кошелек на дескрипторный кошелек, но это не будет строго необходимо до будущего выпуска Bitcoin Core.)

Обслуживание компактных блочных фильтров по одноранговой сети

«Легкие клиенты» — это биткойн-кошельки и приложения, которые не загружают и не проверяют всю цепочку биткойнов, а загружают и проверяют только те части блоков и транзакций, которые их конкретно касаются. Это не оптимально безопасно, но требует гораздо меньше ресурсов.

Один из популярных способов сделать это — фильтры Блума. Короче говоря, фильтры Блума — это криптографический трюк для запроса соответствующих данных от более или менее случайных одноранговых узлов в сети. К сожалению, однако, с годами стало ясно, что фильтры Bloom довольно недружелюбны к конфиденциальности: они по сути раскрывают все адреса пользователя (более или менее случайному) одноранговому узлу, который, конечно, может управляться вторгающимся в конфиденциальность шпионить.

Более новая и гораздо более сохраняющая конфиденциальность альтернатива решению Bloom Filter называется «компактная фильтрация блоков на стороне клиента» (BIP 157/158). Компактная фильтрация блоков на стороне клиента по существу переворачивает трюк с фильтром Блума с ног на голову. Вместо легких кошельков, создающих фильтры для отправки на полные узлы, полные узлы создают фильтры для каждого блока и отправляют их легким клиентам по запросу. Затем легкие клиенты используют эти фильтры, чтобы выяснить, могли ли относящиеся к ним транзакции быть включены в блок. Если это так, легкий кошелек получит весь блок и выберет из него все соответствующие данные транзакции. (Возможны ложные срабатывания; блоки, в которых не будет соответствующих данных о транзакциях, даже если фильтр предположил, что они могут быть.)

Существующие выпуски Bitcoin Core уже могут создавать фильтры локально и делать их доступными через удаленный вызов процедур (RPC) для приложений, работающих на вершине узла (например, кошельков). Bitcoin Core 0.21.0 теперь также включает возможность сделать эти фильтры доступными в одноранговой сети Биткойна по запросу. Это позволяет теперь работать с автономными легкими клиентами, использующими фильтры Блума.

Интересное  Биткойн (BTC), лучшее золото?

Меньше попыток ретрансляции

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

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

Bitcoin Core 0.21.0 значительно снижает частоту, с которой он пытается ретранслировать транзакции: только один раз в 12–36 часов. Менее частая ретрансляция повышает вероятность того, что транзакция была подтверждена с момента первоначальной трансляции, поэтому вероятность того, что узлу вообще придется ретранслировать, меньше.

В будущих выпусках Bitcoin Core эта утечка конфиденциальности будет полностью устранена. Узел Bitcoin Core будет ретранслировать только те транзакции, которые должны были быть подтверждены на основе его собственного мемпула и расчетов комиссий. Кроме того, он будет ретранслировать и другие транзакции, а не только свои собственные.

Поддержка Tor V3

Из-за недавнего обновления протокола Tor, сохраняющего конфиденциальность, новые Tor-адреса V3 (версия 3) длиннее, чем адреса V2 (версия 2), которые были до них. Адреса V2 все еще используются, но будут прекращены примерно через год.

Смотрите также


Прекращение поддержки адресов V2 создало бы проблему для пользователей Bitcoin Core, которые хотят использовать Биткойн в сети конфиденциальности. Узлы Bitcoin Core находят одноранговых узлов, деля друг с другом Tor-адреса известных узлов Bitcoin, использующих Tor. Они поделились этим через то же сообщение, которое они используют для обмена обычными IP-адресами других узлов. В то время как адреса Tor V2 могут быть «скрыты» в обычном формате IP-адресов (IPV6), адреса Tor V3 слишком длинные для этого; Другими словами, текущие сообщения слишком ограничены, чтобы быть совместимыми с обновлением Tor.

Таким образом, Bitcoin Core 0.21.0 представляет новый формат для обмена IP / Tor-адресами с одноранговыми узлами. Эти сообщения могут быть достаточно большими, чтобы разделять адреса Tor V3.

Интересное  Децентрализованная банковская гарантия? Банк ВТБ объявляет о внедрении блокчейна

Развертывание Schnorr / Taproot и Signet / Regtest

Schnorr / Taproot готов стать первым обновлением протокола Биткойна после Segregated Witness (SegWit) в августе 2017 года. Алгоритм подписи Schnorr, который разрабатывается более двух лет, считается всесторонним улучшением по сравнению с текущим алгоритмом подписи ECDSA Биткойна. В сочетании с Taproot — умным трюком, позволяющим скрыть различные условия тратить монеты в криптографическом хеш-дереве — обновление обещает предложить большую гибкость смарт-контрактов с возможностью масштабирования и сохранения конфиденциальности.

Код Schnorr / Taproot теперь включен в Bitcoin Core 0.21.0. Если исключить непредвиденные изменения, это означает, что он больше не будет подвергаться изменениям, что, например, означает, что разработчики приложений могут начать разработку программного обеспечения на основе обновления. Кроме того, Schnorr / Taproot теперь доступен на Signet (более новый и более надежный вариант тестовой сети, используемый разработчиками для тестирования нового программного обеспечения Биткойн) и, возможно, также на Regtests (дополнительные, локальные, варианты тестовой сети).

Однако Schnorr / Taproot пока не будет доступен в основной сети Биткойна. Для этого сначала необходимо активировать обновление, что требует логики активации, которая еще не включена в эту версию Bitcoin Core. Ожидается, что логика активации будет включена в небольшой выпуск Bitcoin Core, возможно, где-то в ближайшие месяцы.

Разное…

Помимо перечисленных выше изменений, Bitcoin Core 0.21.0 включает в себя различные исправления ошибок и улучшения производительности, которые не будут столь очевидны для обычных пользователей. Кошелек Bitcoin Core, например, переключится с использования Berkeley DB на базу данных SQLite, которая лучше подходит в качестве файла данных приложения и предлагает несколько гарантий в отношении совместимости, поддержки и тестирования. Интересно также, что Bitcoin Core 0.21.0 включает в себя капитальный ремонт запроса транзакции: новый протокол сообщений, который узлы Биткойн используют для получения информации о новых транзакциях, лучше протестирован, лучше определен и его легче поддерживать и проверять.

Для более подробного списка обновлений также см. Примечания к выпуску Bitcoin Core 0.21.0, или посмотреть это сообщение в блоге автор Bitcoin Core Эндрю Чоу за более подробное объяснение дескрипторных кошельков (а также устаревших кошельков) и SQLite (а также Berkeley DB).

Спасибо Джону Ньюбери за информацию и отзывы.

Только медийное адаптивное
Только медийное адаптивное

Оставьте ответ

Ваш электронный адрес не будет опубликован.

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Curabitur id, risus leo amet, in