Derivation Path — упорядоченная последовательность обычных и hardened индексов для вывода ключа по BIP 32. Это не seed, приватный ключ или адрес; та же запись с другим исходным ключом приводит к другим ключам.
В m/0/7 символ m обозначает главный приватный узел, а каждая черта — следующий вывод: сначала ребёнок 0, затем его ребёнок 7. Используется расширенный ключ с chain code. Числа не являются суммами или номерами транзакций; сам путь не даёт материала для подписи. [BIP 32 — Hierarchical Deterministic Wallets]
BIP 32 делит 32-битовые индексы на обычные от 0 до 2^31−1 и hardened от 2^31 до 2^32−1. Записи 0' и 0h обозначают hardened индекс 2^31, а не обычный 0; BIP 380 принимает апостроф и h. Обычного публичного ребёнка можно получить из xpub, но hardened потомка из одного xpub — нельзя. [BIP 32 — Hierarchical Deterministic Wallets] [BIP 380 — Output Script Descriptors]
Пример m/84'/0'/0'/0/7 обозначает BIP 84, Bitcoin mainnet, счёт 0, внешнюю принимающую ветвь 0 и индекс 7, то есть восьмую адресную позицию. Первые три уровня hardened, последние два обычные. В BIP 44 ветвь 1 служит собственной сдаче; индексы начинаются с нуля. [BIP 44 — Multi-Account Hierarchy] [BIP 84 — Native P2WPKH derivation]
BIP 43 резервирует первый hardened уровень для purpose. Соглашение 44' связано с P2PKH, 49' — с P2SH-P2WPKH, 84' — с P2WPKH, 86' — с single-key P2TR. Само число не навязывает скрипт в консенсусе; программа должна построить соответствующий выход. Не все кошельки используют эти соглашения. [BIP 43 — Purpose Field] [BIP 44 — Multi-Account Hierarchy] [BIP 49 — P2WPKH nested in P2SH] [BIP 84 — Native P2WPKH derivation] [BIP 86 — Single Key P2TR Outputs]
Если xpub уже экспортирован на m/84'/0'/0', для этого потомка достаточно относительного суффикса /0/7. Повторное добавление всего корневого пути к xpub счёта задаёт другой вывод, а его hardened шаги из этого xpub всё равно невозможны. Сериализованные глубина и родительский fingerprint не содержат всей истории исходного пути. [BIP 32 — Hierarchical Deterministic Wallets] [BIP 380 — Output Script Descriptors]
BIP 380 допускает происхождение fingerprint/путь в квадратных скобках перед ключом и суффикс деривации после него. Происхождение описывает уже выполненные шаги, суффикс ещё предстоит вывести. Descriptor также задаёт скрипт и может содержать диапазон через *. Fingerprint занимает четыре байта и может иметь коллизии; это не доказательство личности и не замена ключа. [BIP 380 — Output Script Descriptors] [BIP 32 — Hierarchical Deterministic Wallets] [Bitcoin Core 29.0 — deriveaddresses RPC]
BIP 32 предупреждает, что родительский xpub вместе с утёкшим обычным приватным потомком может раскрыть расширенный приватный ключ родителя. Граница hardened отделяет этот конкретный процесс, но не защищает сам уже раскрытый ключ. Общий xpub также открывает публичную ветвь и может вредить приватности, хотя сам не подписывает. [BIP 32 — Hierarchical Deterministic Wallets]
При восстановлении проверяют правильный seed и возможную passphrase, сеть, счёт, ветвь, скрипт и диапазон поиска, включая Gap Limit. Допустимый синтаксис может указывать на другую пустую ветвь; нулевой баланс поэтому не доказывает ошибочность ключей. Правильность сравнивают с известным адресом получения и историей, а не только с тем, что программа приняла путь. [BIP 39 — From mnemonic to seed] [BIP 44 — Multi-Account Hierarchy] [BIP 380 — Output Script Descriptors]
Для полной картины прочитайте эту статью вместе с HD Wallet, Extended Public Key (xpub), Gap Limit, Output Descriptor, BIP 39. На эту статью также ссылаются HD Wallet, Watch-only Wallet, Выход сдачи, Extended Public Key (xpub).