Перейти к содержанию

Bitcoin-кошелёк учебной библиотеки: итоговая архитектура

Мы прошли от границ доверия до восстановления. Завершим курс досье кошелька учебной библиотеки: одним документом, который связывает сетевую модель, адресную политику, подготовку расходов и прикладной учёт. Это не отчёт о работающем узле, а спецификация для последующей реализации и локального исполнения.

Общий пример остаётся прежним: курс 17, цена 30 000 сатоши, исходный расход 80 000 → 30 000 + 49 300 + 700. Все команды, подписи и сетевые процессы в этой серии только описаны. Их фактическое выполнение ещё не проводилось.

Контекст кошелька

Первый раздел досье фиксирует сеть, справочник и фактическую бинарную версию, когда она будет установлена. Для текущего текста использован справочник Core 31.0. Отдельный каталог regtest отделяет учебную историю от других окружений. Проект не содержит настоящих ключей или адресов получения средств.

Далее описываем роли. Узел проверяет историю; наблюдающий кошелёк распознаёт собственные условия; сайт связывает адрес с заказом; независимый подписант разрешает конкретный расход. Это распределение должно быть выражено настройками доступа, а не только диаграммой.

Если реализация позже объединяет роли, изменение записывается явно. Например, помещение ключей в серверный кошелёк меняет последствия компрометации приложения. Нельзя сохранять в документации обещания watch-only-модели, когда процесс уже способен подписывать.

Получение и учёт

Досье содержит дескрипторы получения и сдачи, происхождение, диапазоны и правила выдачи индексов. Публичные значения хранятся с контролем доступа: они способны раскрывать историю, даже не предоставляя расходование. Секреты отсутствуют в обычном конфигурационном репозитории.

Каждый счёт получает собственное назначение, а связь сохраняется до ответа читателю. Известны максимальные выданные индексы и начало истории. Поздняя оплата не теряется из-за удаления старого адреса. Восстановление учитывает выданные пустые назначения, а не только обнаруженные поступления.

Внутренний ключ платежного объекта — сеть, txid, vout. Сумма представляется целыми сатоши. Сетевое наблюдение хранит блок и свежесть отдельно от неизменной идентичности выхода. Один повторный запрос не превращается во второй платёж.

Расходование

Для каждого исходящего действия существует заявка с получателем, суммой и пределом комиссии. Выбор входов учитывает доступность, размер, сдачу и политику группировки. Сохранение суммы проверяется независимо от утверждения подготовителя.

PSBT передаёт данные подготовителю и подписанту. Подписант объясняет каждый внешний выход и распознаёт собственную сдачу. Режим подписи соответствует договору. После финализации извлечённая транзакция сверяется с согласованным содержанием, а отправка и наблюдение остаются отдельными этапами.

Этап Предметное основание
Подготовка Разрешённые входы и согласованные назначения
Подпись Независимое решение по конкретному содержанию
Отправка Получен результат попытки передачи
Наблюдение Конкретный объект виден выбранному источнику
Включение Объект относится к выбранной истории

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

Подтверждения и изменения

Приложение принимает входящую оплату по версии политики. Учебный порог можно задать как два подтверждения, но он не является универсальной рекомендацией для других сумм. Число подтверждений относится к выбранной цепочке и вычисляется только при известной принадлежности блока.

Реорганизация вызывает пересчёт наблюдения и решения. История предыдущих решений сохраняется. Уже выданный файл нельзя физически вернуть, поэтому дальнейшая политика доступа описывается отдельно. Повторное достижение порога не должно создавать второе право по тому же счёту.

Отсутствие свежего источника отмечается как неизвестность. Если узел догоняет историю или кошелёк сканирует диапазон, интерфейс не сообщает окончательное отсутствие средств. Время последнего успешного наблюдения является частью ответа пользователю.

Приватность и ресурсы

Досье объясняет, какие адресные связи знает библиотека и какие раскрываются поставщикам. Объединение входов, повторное использование адресов и передача публичного корня создают разные утечки. Ни SegWit, ни Taproot не являются самостоятельным обещанием анонимности.

Хранение узла выбирается по нужным задачам. Архив помогает историческому повтору, pruning ограничивает часть локального доступа, индексы включаются по реальным методам поиска. Блокчейн не восстанавливает таблицу заказов, а таблица заказов не заменяет сетевую проверку.

Для комиссий сохраняются единицы, оценка размера и абсолютный предел. Цена курса и стоимость ресурса блока различаются. Учебные 700 сатоши не объявляются текущей ставкой сети. Перед будущим исполнением проверяются фактический профиль и согласованные параметры.

Восстановление

Архивы разделены на секретный материал, публичную политику, базу счетов, журнал действий и материалы курса. Независимое место хранения и доступность ключа расшифрования входят в процедуру. Контрольная сумма копии подтверждает сохранённые байты, но не полную способность восстановить кошелёк.

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

Для каждого этапа указаны ожидаемые результаты и оставшиеся ограничения. Фраза «резерв проверен» появится только после действительного отдельного разбора. Сейчас у нас завершённый учебный текст и спецификация, а не измеренный результат узла.

Передача досье другому разработчику

Для самостоятельного продолжения курса достаточно передать спецификацию ролей, схемы данных, закреплённые источники и список непроведённых исполнений. Новый разработчик должен видеть, какие значения являются учебными, какие будут получены из локального узла, а какие устанавливаются политикой библиотеки. Цена 30 000 и порог принятия не выводятся из справочника RPC. Хеши, адреса и ключи не выдумываются ради красивого отчёта. Такое разделение позволяет позже выполнить лабораторию и дополнить документ фактическими наблюдениями без переписывания механизма под заранее обещанный результат.

Базовые первичные материалы — дескрипторы Core, PSBT и RPC-справочник. С таким досье можно перейти к курсу платёжного сайта: там те же выходы и наблюдения превратятся в счета, журнал принятия и устойчивую выдачу доступа.

Оглавление серии