Пътища за деривация
Derivation path биткойн, например m/84'/0'/0'/0/0, намира един ключ в HD портфейл. Вижте какво означава всяко ниво и как BIP 44, 49, 84 и 86 се различават.
От Dimitar Zurnov · Обновено на 4 ноември 2026
Адаптирано от Learn Me a Bitcoin на Greg Walker.
Път за деривация (derivation path) е списъкът от индекси на деца, който води от главния ключ до един ключ в HD портфейл. Пътят m/84'/0'/0'/0/0 сочи първия ключ за получаване на акаунт с роден SegWit. Всяка наклонена черта (/) слиза едно ниво надолу в дървото, а апострофът отбелязва hardened индекс. Портфейлите се съгласяват за няколко стандартни пътя, затова един и същ сийд се възстановява и в друг портфейл.
Пътят за деривация не съдържа никаква тайна. Той е карта. Тайната е сийдът, а пътят казва на софтуера коя част от дървото да отвори.
Как се чете път?
Пътят започва с m, който е главният ключ. Всяко число след него е индекс на дете, а всяка наклонена черта е едно ниво надолу. Апостроф след число означава hardened дете, описано в разширените ключове.
m/0/1/3'означава дете 0 на главния ключ, после дете 1 на него, после hardened детето 3 на това.- Hardened индексът добавя 2^31, което е 2,147,483,648, към числото. Така
0'е индекс 2,147,483,648,3'е 2,147,483,651, а84'е 2,147,483,732. - Едно ниво може да има до 2^32 деца, така че пълният диапазон на индексите е от 0 до 4,294,967,295.
Нормалният диапазон е първата половина, от 0 до 2,147,483,647. Hardened децата използват втората половина, а само частният ключ може да ги създаде. Повечето пътища ползват hardened индекси в горните нива и нормални в долните, както обяснява следващият раздел.
Какво означават петте нива?
Структурата идва от BIP 44, който се опира на структурата, предложена в BIP 32. Има пет нива, а целта се определя от BIP 43:
m / purpose' / coin_type' / account' / change / address_index
- Цел (purpose) (
44',49',84',86') казва за кое семейство адреси ползва портфейлът. Числото съвпада с BIP-а, който го дефинира. - Тип монета (coin type) (
0') казва на коя монета принадлежат ключовете. Основната мрежа на биткойн е0', а тестовата е1'. Пълният списък е в SLIP-44. Нивото съществува, за да може един сийд да обслужва няколко монети. - Акаунт (
0',1'и така нататък) отделя групите монети една от друга. Акаунтите са hardened, така че xpub на нивото на типа монета не може да създаде акаунт. BIP 44 препоръчва портфейлите да не отварят нов акаунт, докато предишният не е ползван. - Ресто (change) е
0за адресите за получаване, които давате, и1за ресто, което се връща при плащане. И двете са нормални деца, така че споделен xpub на това ниво може да създаде всеки адрес за получаване. - Индекс е позицията на ключа във веригата. Всеки нов адрес за получаване взема следващия индекс, като започва от 0.
Ключовете, с които подписвате, са на последното ниво. Горните нива само ги организират.
Кои пътища ползват портфейлите?
Четири пътя покриват повечето портфейли. Всеки ползва една и съща структура от пет нива, така че се променя само числото на целта. Всички примери по-долу ползват сийда на тестовата фраза abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon abandon about, същата, която ползва векторът на BIP 84.
- BIP 44 (
m/44'/0'/0'/0/0) дава legacy адреси1, които са P2PKH. - BIP 49 (
m/49'/0'/0'/0/0) дава вложени SegWit адреси3, които са P2SH-P2WPKH. - BIP 84 (
m/84'/0'/0'/0/0) дава роден SegWit адресиbc1q, които са P2WPKH. - BIP 86 (
m/86'/0'/0'/0/0) дава Taproot адресиbc1p, които са P2TR. Изходите са само с ключов път, без дърво от скриптове, така че Merkle root е празен.
Числото на целта не променя математиката на ключовете. То казва на портфейла кой скрипт да построи от ключа. Типовете адреси са описани на страницата за адресите.
Как изглежда пълен пример с BIP 84?
Ето всяка стъпка от сийда до първия адрес за получаване, по тестовия вектор на BIP 84. Ползвайте го за проверка на собствения си код. Той е публичен, така че никога не изпращайте монети към тези адреси.
- Започнете от сийда, който се получава от BIP 39 фразата с празна допълнителна парола:
5eb00bbddcf069084889a8ab9155568165f5c453ccb85e70811aaed6f6da5fc19a5ac40b389cd370d086206dec8aa6c43daea6690f20ad3d8d48b2d2ce9e38e4
- Изведете главния ключ с HMAC-SHA512, както описва страницата за HD портфейлите.
- Изведете hardened нивата
84',0'и0', като ползвате индексите 2,147,483,732, 2,147,483,648 и 2,147,483,648. - Изведете нормалните нива
0и0, за веригата за получаване и индекс 0. - Вземете частния ключ, който е
4604b4b710fe91f584fff084e1a9159fe4f8408fff380596a604948474ce4fa3. Кодирайте го като WIF, което даваKyZpNDKnfs94vbrwhJneDi77V6jF64PWPF8x5cdJb8ifgg2DUc9d. - Изчислете компресирания публичен ключ,
0330d54fd0dd420a6e5f8d3624f5f3482cae350f79d5f0753bf5beef9c2d91af3c. - Построете адреса от публичния ключ, което дава
bc1qcr8te4kr609gcawutmrza0j4xv80jy8z306fyu.
Същият тестов вектор дава bc1qnjg0jd8228aq7egyzacy8cys3knf9xvrerkf9g на m/84'/0'/0'/0/1, вторият адрес за получаване. Първият адрес за ресто, на m/84'/0'/0'/1/0, е bc1q8c6fshw2dlwun7ekn9qwf37cu2rn755upcp6el.
Какво става, когато пътят е грешен?
Портфейл, възстановен с грешен път, показва празен баланс, макар сийдът да е верен. Ключовете съществуват, но стоят на друг път, така че портфейлът гледа грешните адреси. Монетите не са загубени.
Поправката е да опитате другите стандартни пътища. Сийд, който не показва нищо на m/84'/0'/0', може да държи монети на m/86'/0'/0' или на m/44'/0'/0'. Някои портфейли ви позволяват да изберете пътя при възстановяване, а много показват пътя в разширените настройки.
Какво е лимитът на празнините?
При възстановяване портфейлът проверява адресите по ред и спира след 20 неизползвани адреса подред. Това е gap limit (допустима празнина), който задава BIP 44. Ако сте ползвали индекс 5 и после индекс 26, портфейл с gap limit 20 ще спре на индекс 25. Двайсетте неизползвани адреса от 6 до 25 прекъсват търсенето, преди то да стигне до 26.
Монетите са в безопасност, а портфейлът пак може да ги види, ако увеличите лимита или ползвате персонализирано търсене. Gap limit определя само какво вижда възстановяването по подразбиране. Добрите портфейли ви предупреждават, преди да създадете голяма празнина.
Какви навици помагат с пътищата?
- Пазете пътя заедно със сийда. Запишете пътя или името на портфейла, не само думите. Това ще спести време, ако някога възстановявате.
- Предпочитайте стандартен път. Персонализираният път може да е труден за възстановяване и почти не добавя сигурност.
- Знайте нотацията. Много портфейли показват пътя на акаунта, например
m/84'/0'/0', и пропускат последните две нива. Добавете/0/0, за да стигнете първия ключ за получаване. - Ползвайте инструментите за пътища локално. Инструментите за деривация са полезни за учене, но никога не въвеждайте сийд в уебсайт, за да разгледате пътища.
Какво да запомните за пътищата за деривация?
- Път като
m/84'/0'/0'/0/0е списък от индекси, а апострофът отбелязва hardened ниво. - Петте нива са цел, тип монета, акаунт, ресто и индекс.
- BIP 44, 49, 84 и 86 ползват една и съща форма, а само целта определя типа адрес.
- Възстановяване без баланс обикновено означава друг път, а не че монетите са изчезнали.
Следващо прочетете страницата за адресите, за да видите кой адрес построява всеки път, или се върнете към разширените ключове, за да видите аритметиката на всяко ниво.
В този раздел: Ключове и адреси
Целият курс „Биткойн от нулата“
Нещо не изглежда наред? Кажете ни