В основі кожної криптовалютної транзакції та володіння активами лежить пара криптографічних ключів: приватний і публічний. Ці ключі математично пов'язані між собою: публічний ключ можна вивести з приватного, але не навпаки. Публічний ключ, який часто представляється у хешованому форматі як адреса, слугує вашим ідентифікатором у блокчейні, дозволяючи іншим надсилати вам кошти. Приватний ключ, з іншого боку, є вашим секретним доказом володіння, що дозволяє вам підписувати транзакції та витрачати кошти. Захист приватного ключа має першорядне значення, оскільки будь-хто, хто має до нього доступ, може контролювати ваші активи.
Хоча безпосереднє керування окремими приватними ключами для кожної адреси може швидко стати громіздким і ризикованим, сучасні криптовалютні гаманці запровадили більш досконалі та зручні для користувача системи. Ця еволюція привела до концепції мнемонічної фрази та ієрархічно детермінованих (HD) гаманців, які разом складають основу для керування кількома адресами за допомогою одного секрету, який легко зберегти.
Мнемонічна фраза, яку часто називають сід-фразою (seed phrase) або фразою для відновлення, — це послідовність із 12, 18 або 24 звичайних слів. Цей, здавалося б, простий список слів містить ключ до всіх ваших криптовалютних активів, якими ви керуєте за допомогою цієї конкретної фрази. Вона розроблена так, щоб бути зручною для читання людиною, її легше записати та надійно зберігати, ніж складний рядок буквено-цифрових символів, що представляє необроблений приватний ключ.
Мнемонічна фраза — це не просто випадковий набір слів; вона відповідає стандарту, відомому як BIP-39 (Bitcoin Improvement Proposal 39). Цей стандарт визначає список слів і процес, за допомогою якого ці слова використовуються для створення унікального фундаментального секрету. Стійкість цього секрету колосальна; існують трильйони й трильйони можливих мнемонічних фраз, що робить практично неможливим вгадати вашу.
Сама мнемонічна фраза безпосередньо не використовується для підписання транзакцій. Замість цього вона слугує вхідними даними для детермінованого алгоритму, який генерує одне дуже довге число, відоме як «майстер-сід» (master seed). Цей майстер-сід є справжнім криптографічним коренем, з якого виводяться всі приватні та публічні ключі вашого гаманця.
Процес зазвичай включає:
Концепція виведення кількох ключів з одного майстер-сіду формалізована в ієрархічно детермінованих (HD) гаманцях, переважно визначених стандартом BIP-32. До появи HD-гаманців керування кількома адресами означало генерацію та резервне копіювання кожного приватного ключа окремо, що було вкрай непрактичною та ризикованою справою.
HD-гаманці впроваджують ієрархічну деревоподібну структуру для деривації ключів. Це означає, що:
Ця ієрархічна структура пропонує кілька значних переваг:
Шлях деривації (derivation path) — це, по суті, набір інструкцій, які вказують HD-гаманцю, який саме ключ у його ієрархічній структурі потрібно згенерувати. Уявіть це як GPS-координату на величезній багатовимірній мапі потенційних пар приватних/публічних ключів, що походять від вашого єдиного майстер-сіду. Різні шляхи ведуть до різних унікальних публічних ключів (та їхніх відповідних приватних ключів), що дозволяє одній мнемонічній фразі контролювати численні окремі адреси.
Шляхи деривації відповідають стандартизованому формату, найчастіше заснованому на BIP-44, який розроблений для сумісності між різними криптовалютами та реалізаціями гаманців. Типовий шлях деривації виглядає так:
m / purpose' / coin_type' / account' / change / address_index
Розберімо кожен компонент:
m: Цей префікс позначає майстер-вузол (master node), вказуючи на те, що деривація починається з майстер-приватного ключа, згенерованого з вашої сід-фрази.purpose': Це поле вказує на призначення деривації ключа. Для шляхів, сумісних із BIP-44, це значення зазвичай дорівнює 44'. Апостроф (') позначає «посилену» (hardened) деривацію. Це означає, що для виведення дочірнього ключа використовується приватний ключ батька, що унеможливлює виведення дочірніх приватних ключів лише на основі батьківського публічного ключа. Це забезпечує додатковий рівень безпеки. Існують і інші призначення, наприклад 49' для P2SH-segwit або 84' для адрес Native SegWit.coin_type': Це поле ідентифікує конкретну криптовалюту, для якої генерується адреса. Кожній криптовалюті присвоюється унікальний ідентифікатор згідно зі SLIP-0044 (SatoshiLabs Improvement Proposal 44). Для Solana стандартний coin_type — 501'. Як і поле призначення, воно зазвичай є посиленим для безпеки.account': Це поле дозволяє створювати окремі незалежні акаунти в межах одного гаманця. Наприклад, m/44'/501'/0' може бути вашим першим акаунтом Solana, m/44'/501'/1' — другим і так далі. Це має вирішальне значення для керування окремими наборами коштів або для організаційних цілей без необхідності мати окрему сід-фразу для кожного. Це також посилений компонент шляху.change: Це поле розрізняє «зовнішні» (для отримання) адреси та «внутрішні» адреси (для решти). Значення 0 зазвичай вказує на зовнішню адресу, призначену для отримання коштів від інших. Значення 1 вказує на внутрішню адресу, що використовується для отримання «решти» (change) від ваших власних транзакцій. Це допомагає гаманцям ефективно керувати моделями UTXO (Unspent Transaction Output). Хоча модель акаунтів Solana відрізняється від UTXO, це поле часто присутнє у шляхах, сумісних із BIP-44. Зазвичай це непосилений компонент шляху.address_index: Це поле представляє послідовний індекс адреси в межах певного акаунта та ланцюжка решти. Таким чином, m/44'/501'/0'/0/0 буде першою адресою для отримання першого акаунта Solana, m/44'/501'/0'/0/1 — другою і так далі. Це непосилений компонент шляху.Різниця між «посиленою» (позначається ') та «непосиленою» деривацією важлива для безпеки. Посилена деривація означає, що для отримання дочірнього ключа потрібен батьківський приватний ключ. Це запобігає витоку приватних ключів через розширений публічний ключ. Непосилена деривація означає, що дочірні публічні ключі можуть бути отримані з батьківського публічного ключа, що корисно для сценаріїв, коли ви хочете генерувати нові адреси для отримання, не розкриваючи свої приватні ключі. Як правило, поля purpose, coin_type та account є посиленими, тоді як change та address_index — ні.
Шляхи деривації є основоположними для користувачів та гаманців Solana з кількох причин:
account'0, account'1) без додаткових витрат на керування кількома сід-фразами.Хоча Solana дотримується загальних принципів HD-гаманців та мнемонічних фраз BIP-39, її конкретна реалізація та поширені шляхи деривації еволюціонували та дещо відрізняються в різних гаманцях. Ця варіативність є головною причиною того, чому розуміння шляхів деривації є вирішальним для користувачів Solana.
Для Solana ідентифікатор coin_type дорівнює 501. Таким чином, будь-який шлях, сумісний із BIP-44 для Solana, міститиме 501' як компонент coin_type. Однак структура після m/44'/501' може відрізнятися, крім того, Solana впроваджує більш нативний патерн деривації.
Ось деякі поширені патерни, з якими ви можете зіткнутися:
Шлях, сумісний із BIP-44 (загального призначення):
m/44'/501'/account'/change/address_index
m/44'/501'/0'/0/0 (перша адреса першого акаунта).account' дозволяє створювати кілька окремих акаунтів у межах одного сіду.Специфічна деривація Solana (спрощена/нативна):
m/501'/account'/address_index'
m/501'/0'/0' (перша адреса першого акаунта).purpose' (44') та change (0/1), спрощуючи шлях для блокчейну, який не суворо дотримується моделі UTXO Біткоїна (де change є критично важливим). Відсутність 44' вказує на те, що він не є суворо BIP-44 сумісним, а скоріше SLIP-0044 сумісним у використанні coin_type. Зауважте, що address_index' у цьому патерні часто є посиленим.m/501'/0'/0/0 (схоже на попередній варіант, але з непосиленим address_index та додатковим 0 для change, що робить його подібним до m/501'/account'/change/address_index). Наприклад, популярні гаманці, такі як Phantom та Solflare, часто використовують m/501'/0'/0/0 як шлях за замовчуванням для першого створеного акаунта, а потім інкрементують поле account для наступних акаунтів (наприклад, m/501'/1'/0/0, m/501'/2'/0/0).Застарілі або менш поширені шляхи:
m/501'/0' або m/44'/501'/0'/0'. Ці варіації, хоча сьогодні вони менш поширені для стандартної генерації гаманців, підкреслюють можливість отримання різних результатів з одного сіду.Головний висновок полягає в тому, що навіть незначна зміна в будь-якому компоненті шляху деривації — чи то 44' замість 501' як перше посилене поле, чи то точна стратегія інкременту для account' або address_index — призведе до абсолютно іншого набору приватних та публічних ключів.
Детермінована природа HD-гаманців означає, що для певного майстер-сіду кожен шлях деривації відображається на один і тільки один приватний ключ (та його відповідний публічний ключ). Ця передбачуваність є перевагою, але вона також означає, що якщо ви використаєте «неправильний» шлях, ви не знайдете своїх коштів.
Розглянемо такий сценарій:
m/44'/501'/0'/0/0.m/501'/0'/0/0.Це підкреслює:
Гаманці, такі як Backpack, як згадувалося в контексті, використовують ці варіації шляхів для генерації окремих акаунтів. Вони можуть пропонувати користувачам вибір або мати внутрішню логіку для сканування поширених шляхів, якщо шлях за замовчуванням не виявляє наявних коштів відразу.
Розуміння шляхів деривації — це не просто теоретична вправа; воно має безпосередні практичні наслідки для того, як користувачі Solana керують своїми цифровими активами та взаємодіють з різними додатками-гаманцями.
Однією з найбільш значущих переваг шляхів деривації є можливість керувати кількома окремими акаунтами Solana за допомогою однієї мнемонічної фрази. Це основна функція більшості сучасних криптогаманців.
Як гаманці це використовують:
m/501'/0'/0/0 для Phantom/Solflare або m/44'/501'/0'/0/0 для інших. Це стає вашою основною адресою для отримання коштів.account' у шляху деривації. Наприклад, якщо ваш перший акаунт — m/501'/0'/0/0, ваш другий може бути m/501'/1'/0/0, третій — m/501'/2'/0/0 і так далі.Гнучкість шляхів деривації також створює потенційну точку плутанини, якщо її не розуміти належним чином. Кошти рідко бувають по-справжньому «втрачені», якщо у вас є сід-фраза, але вони можуть стати «недоступними» або «невидимими», якщо гаманець, який ви використовуєте, не перевіряє правильний шлях деривації.
Ключові міркування:
account' та address_index), щоб виявити будь-які існуючі кошти, пов'язані з вашою сід-фразою. Це може врятувати ситуацію, якщо ви не впевнені, за яким шляхом були згенеровані ваші кошти.Шляхи деривації відіграють важливу роль у загальному стані безпеки та приватності вашого гаманця Solana.
Покращення приватності:
Наслідки для безпеки:
') для компонентів purpose', coin_type' та account' є критично важливою функцією безпеки. Це запобігає потенційному розкриттю дочірніх приватних ключів, навіть якщо розширений публічний ключ (який може генерувати дочірні публічні ключі) буде скомпрометований.Ландшафт криптовалютних гаманців та блокчейн-взаємодій постійно розвивається, і Solana не є винятком. Хоча основні принципи шляхів деривації залишаються незмінними, їхня практична реалізація та зусилля щодо стандартизації продовжують вдосконалювати користувацький досвід.
Криптовалютна екосистема постійно прагне до більшої стандартизації, щоб покращити взаємодію між різними додатками-гаманцями та сервісами. Для шляхів деривації це означає:
m/44'/501'/0'/0/0 або m/501'/0'/0/0), щоб мінімізувати плутанину під час відновлення гаманця в різних додатках.У міру дорослішання екосистеми Solana ймовірно, що з'явиться більш уніфікований підхід до шляхів деривації, що зробить керування активами в різних dApps та гаманцях ще простішим для користувачів.
Окрім простої генерації кількох адрес, можливості ієрархічно детермінованих гаманців та шляхів деривації відкривають перспективи для більш просунутих функцій керування акаунтами:
purpose' для специфічних типів акаунтів (наприклад, ключі, пов'язані з ідентифікацією, або специфічні інтеграції dApp), пропонуючи ще кращу організаційну структуру.На завершення, шляхи деривації Solana — це геніальний і незамінний механізм. Вони перетворюють одну пам'ятну фразу на безпечний шлях до цілого всесвіту криптографічних адрес, надаючи користувачам підвищену приватність, чітку організацію та спрощене відновлення їхніх цінних цифрових активів у блокчейні Solana. Розуміння цих шляхів є ключем до впевненої навігації у складному, але захопливому світі децентралізованих фінансів.



