BIP85 — прикладна специфікація детермінованого виведення ентропії з приватного кореня BIP 32. Вона відтворює нащадків без передавання головного кореня цільовим гаманцям; це не поділ резервної копії на частки.
Входом є розширений приватний корінь BIP 32, а не довільний текст. BIP 39 спершу кодує ентропію у фразу, потім із фрази й passphrase створює seed для кореня. BIP85 не обертає цей процес: початкову фразу з кореня він не відновить. Він створює нову ентропію, відокремлену за застосунками. [BIP 85 — Deterministic Entropy From BIP32 Keychains] [BIP 32 — Hierarchical Deterministic Wallets] [BIP 39 — Mnemonic code for generating deterministic keys]
Кожен крок виведення є hardened. Отриманий 32-байтовий приватний ключ k стає повідомленням HMAC-SHA512 з ключем bip-entropy-from-k; результат має 64 байти. Публічного xpub недостатньо. Перетворення відокремлює отриману ентропію від ключа; це не вказівка також використовувати цей ключ для підписів. [BIP 85 — Deterministic Entropy From BIP32 Keychains] [BIP 32 — Hierarchical Deterministic Wallets]
Шлях m/83696968'/39'/0'/12'/0' обирає BIP85, застосунок BIP 39, англійський словник, 12 слів та індекс 0. Індекс 1 створює іншого нащадка. Код чеського словника — 8', незалежно від мови сторінки. Зміна мови чи кількості слів змінює шлях, а не лише відображення тієї самої фрази. [BIP 85 — Deterministic Entropy From BIP32 Keychains]
Для 12 слів беруть перші 128 біт результату, для 24 — перші 256; BIP 39 додає контрольну суму та слова. Подальше створення seed — окремий крок. Сам BIP85 не визначає скрипти, адресний шлях чи історію гаманця. Довший результат не збільшує невизначеність слабкого початкового секрету. [BIP 85 — Deterministic Entropy From BIP32 Keychains] [BIP 39 — Mnemonic code for generating deterministic keys]
Застосунок XPRV використовує m/83696968'/32'/0': перші 32 байти утворюють chain code, другі 32 — приватний ключ, у зворотному порядку до створення кореня BIP 32. Неприпустимий скаляр результату має спричинити помилку; користувач обирає наступний індекс. HEX та паролі мають інші застосунки й правила формату. [BIP 85 — Deterministic Entropy From BIP32 Keychains] [BIP 32 — Hierarchical Deterministic Wallets]
За правильної реалізації обчислити батька чи сусідніх нащадків із одного нащадка практично неможливо. Власник головного кореня та контексту виведення відтворить нащадків; втрата кореня загрожує тим, хто не має окремої копії. Експорт нащадка до підключеного гаманця обмежує масштаб витоку, але не виправляє компрометацію головного кореня. [BIP 85 — Deterministic Entropy From BIP32 Keychains] [COLDCARD — Export Deterministic Entropy (BIP-85)]
Passphrase батьківської фрази BIP 39 змінює вхідний корінь і всіх його нащадків. Додаткова passphrase до виведеної фрази в цільовому гаманці змінює його seed; BIP85 її не резервує. Відновлення потребує точного батьківського контексту, застосунку, формату, словника, довжини й індексу, а також можливої цільової passphrase. [BIP 39 — Mnemonic code for generating deterministic keys] [COLDCARD — Export Deterministic Entropy (BIP-85)]
Документація COLDCARD описує відтворення з тим самим батьком, форматом та індексом і експорт BIP 39, WIF, XPRV та HEX. Підтримка BIP85 не означає підтримку всіх застосунків. Перш ніж покладатися на копію, перевірте відтворення нащадка й адрес цільового гаманця; запишіть потрібні параметри та перевірте конкретну реалізацію публічними тестовими векторами. [COLDCARD — Export Deterministic Entropy (BIP-85)] [BIP 85 — Deterministic Entropy From BIP32 Keychains]
Для повної картини прочитайте також HD Wallet, BIP 39, BIP39 passphrase, Derivation Path, Hardware Wallet. На цю статтю також посилаються Duress Wallet.