43 / 736BIP

BIP (Bitcoin Improvement Proposal)

Как идея для Bitcoin становится общей основой для обсуждения

BIP открыто описывает идею, чтобы люди могли её обсудить, а разработчики — реализовать одно и то же решение. Номер помогает ссылаться на конкретный документ. Сам по себе он не доказывает, что предложение безопасно, поддерживается или уже используется.

BIP — сокращение от Bitcoin Improvement Proposal. Это документ о техническом решении, процедуре или важных сведениях, связанных с Bitcoin. Его можно изучить, оспорить и при необходимости применить; публикация автоматически не меняет ни программы, ни правила сети.

Анна готовит платёж на компьютере, но хочет подписать его аппаратным кошельком другого производителя. Обе программы должны понимать передаваемые данные. Именно такую проблему решает BIP 174: он описывает PSBT, общий формат передачи незавершённой транзакции и сведений, необходимых для подписи. Разработчики могут опираться на один документ вместо того, чтобы независимо придумывать несовместимые форматы. Это одна из практических причин существования BIP. [8]

Разные номера означают разную работу. BIP39 описывает создание слов восстановления и их преобразование в seed — исходные данные для получения ключей кошелька. BIP 141 описывает SegWit, изменение правил обработки транзакций, вступившее в силу после активации в сети. BIP 174 помогает передавать транзакции на подпись без изменения правил допустимости блоков. А BIP 50 документирует причины и устранение инцидента марта 2013 года, когда сеть временно разделилась. Не каждый BIP предлагает новое правило Bitcoin. [6] [7] [8] [9]

Описать решение, запрограммировать его и начать использовать — разные шаги. Описание называют спецификацией, программный код — реализацией. Кошелёк может экспериментировать с черновиком, а у другого документа пока может не быть ни одной используемой программы. Для изменений правил допустимости блоков нужна ещё и активация — момент, с которого соответствующее ПО начинает их применять. Публикация текста не обновляет автоматически ваш узел, то есть компьютер, проверяющий правила сети. [7] [10]

Номер прежде всего помогает найти нужный документ и обсуждать одно и то же предложение. Большее число не означает лучшую идею или рекомендуемое обновление. Даже пронумерованный документ может остаться незавершённым или быть отложен. Если сервис рекламирует поддержку BIP, нужно ещё выяснить, о какой функции речь и действительно ли конкретная версия программы её предоставляет. [2]

Авторы сначала изучают предыдущие работы и обсуждают идею в Bitcoin Development Mailing List — открытой почтовой дискуссии разработчиков. Замечания могут выявить проблему до написания длинного текста. Достаточно проработанное предложение затем подают в общее хранилище bitcoin/bips на GitHub как pull request, то есть запрос на включение. Авторы не выбирают номер сами: редактор назначает его после проверки темы, формата и готовности документа. [1]

BIP Editors заботятся о публикуемых документах: проверяют предшествующую дискуссию, понятность, формат и лицензию, назначают номера и поддерживают записи. Это не даёт им права решать, какое ПО вам использовать или какие правила должен принимать ваш узел. Наличие в хранилище не гарантирует безопасности и согласия сообщества. Реальное использование зависит от отдельных проектов и участников сети. [1]

Если новость сообщает, что BIP одобрен, откройте документ и выясните, что произошло. Ему только присвоили номер, авторы завершили работу или уже есть поддержка, которой пользуются? Для кошелька ищите подтверждение в документации и выпусках ПО; для изменения правил сети проверьте также условия и ход активации. Это помогает отличить интересное предложение от уже доступной функции. [10] [2]

Действующий порядок описывает BIP 3, Updated BIP Process, со статусом Deployed. Он заменил BIP 2 и упростил типы и статусы документов. Поэтому в старых статьях могут встречаться Standards Track или Final — названия, не совпадающие с нынешним делением. Ориентируйтесь на актуальный файл и его историю. Хранилище публикует и сохраняет предложения, а не проводит голосование о будущем Bitcoin. [1] [5]

Specification описывает технические правила, по которым можно создавать совместимые программы. До завершения нужны также работающая эталонная реализация — программа, показывающая, как воплотить предложенное решение, — и тестовые векторы — примеры входных данных с ожидаемыми результатами. Informational содержит сведения, анализ или рекомендации. Process определяет порядок работы, например публикации самих BIP. Именно к последней группе относится BIP 3; он не задаёт новый формат транзакции Bitcoin. [1]

Draft — работа, которая ещё продолжается. Complete означает, что авторы завершили запланированное и рекомендуют принятие. Deployed указывает на подтверждённое активное использование; для Process это может быть требуемый rough consensus — широкое согласие после обсуждения и разрешения содержательных возражений, а не простой подсчёт голосов. Closed обозначает исторический документ, который уже активно не разрабатывают, не продвигают и не используют. Он остаётся в архиве. Даже Deployed не означает поддержки каждым кошельком. [1]

В заголовке указаны авторы, тип, статус, дата присвоения номера, лицензия и ссылки на обсуждения. Requires перечисляет необходимые другие BIP, Replaces — предложения, которые документ намерен заменить, а Proposed-Replacement — возможного преемника. После перехода в статус Complete дальнейшие изменения фиксируют в Changelog, журнале изменений, с датой и номером версии. Поле Version в заголовке указывает текущую версию документа. Несовместимое с прежним решением изменение обычно должно получить новый BIP, чтобы тот же номер незаметно не стал означать нечто другое. [1]

Для полной картины прочитайте эту статью вместе с Soft Fork, Правила консенсуса, Bitcoin Core, Bitcoin, Hard Fork, BIP 39. На эту статью также ссылаются Soft Fork, Война за размер блока, Bitcoin Core, Обучение Биткоину.

DOC · 001BIP 3 — Updated BIP ProcessСпецификация DOC · 002bitcoin/bips — official BIP repositoryПервичный источник DOC · 003BIP 123 — BIP ClassificationСпецификация DOC · 004BIP 1 — BIP Purpose and GuidelinesДокументация DOC · 005BIP 2 — BIP process, revisedДокументация DOC · 006BIP 39 — Mnemonic codeСпецификация DOC · 007BIP 141 — Segregated WitnessСпецификация DOC · 008BIP 174 — PSBTСпецификация DOC · 009BIP 50 — March 2013 chain fork post-mortemДокументация DOC · 010Bitcoin Core — supported BIPsДокументация
Обновлено: Сначала источники · Не является инвестиционной рекомендацией