Цифрові гаманці
Цифровий гаманець — це система, яка дозволяє користувачам зберігати, відстежувати, передавати та отримувати гроші в цифровому вигляді. Її валютою можуть бути цифрові активи, такі як Bitcoin, Doug тощо, або цифрові фіатні валюти, такі як долари США та євро.
Цей гаманець не є фізичним, як традиційно називають, а програмним забезпеченням. Він підключений до блокчейн-мережі, надаючи користувачам можливість відстежувати свої валюти, здійснювати транзакції та проводити операції з блокчейном.
Типовий цифровий гаманець містить два типи «ключів» — публічний ключ, який є адресою гаманця, на яку інші можуть надсилати валюту. Існує також приватний ключ — пароль для розшифрування інформації про транзакцію, відомий лише власнику гаманця. Строго кажучи, коли ми кажемо «тримати» цифрову валюту, ми фактично маємо приватні ключі, які її контролюють.
Володіння приватним ключем еквівалентне володінню цифровою валютою всередині, тому особливо важливо захищати безпеку приватного ключа. Після втрати або крадіжки приватного ключа відповідна цифрова валюта стане назавжди непридатною для використання. Це суттєво відрізняється від використання традиційного фінансового рахунку, який можна відновити або замінити банком.
HD-гаманець
HD-гаманець, повна назва — ієрархічний детермінований гаманець (Ієрархічний детермінований гаманець), — це гаманець, який використовується для генерації великої кількості пар публічно-приватних ключів.
HD-гаманці працюють на основі одного початково згенерованого сіду. Один або кілька головних приватних ключів можна генерувати за допомогою насіння, і кожен головний приватний ключ може генерувати кілька унікальних дочірніх приватних ключів. Ці субприватні ключі можуть додатково використовуватися для генерації приватних ключів онуків тощо, формуючи ієрархічну структуру ключів. Усе це можна відтворити за допомогою оригінального насіння. Отже, доки це насіння захищене, всі згенеровані адреси та приватні ключі в гаманці можна відновити.
Щоб підвищити конфіденційність гаманця, HD Wallet може генерувати нову адресу для кожної транзакції, оскільки всі адреси експортуються з одного і того ж сіду, уникаючи проблем із конфіденційністю при багаторазовому використанні однієї й тієї ж адреси.
Серед них HD-гаманці були стандартизовані та застосовані в Bitcoin BIP32, BIP44, BIP39 та інших пропозиціях. BIP39 визначає метод генерації насіння, яке можна представити за допомогою 12, 18 або 24 слів, обраних із фіксованого словника. Це дозволяє користувачам запам'ятовувати або резервувати ці seed-фрази лише під час резервного копіювання гаманців, а не складних приватних ключів, що значно знижує складність використання.
HD-гаманці — це більш просунутий тип цифрового гаманця, який впроваджує новий спосіб генерації нескінченної кількості приватних ключів і відповідних адрес гаманців з одного сіду (просто рядка даних).
Головна перевага HD Wallet полягає в тому, що він значно спрощує резервне копіювання гаманця. Користувачам достатньо лише запам'ятати або зберегти цей seed (зазвичай окремий рядок слів, відомий як seed-фраза), щоб відновити всі адреси гаманця та приватні ключі. Це означає, що навіть якщо пристрій користувача втрачено, доки сід не втрачено, його ресурси все одно можна відновити шляхом імпорту сіду.
Крім того, HD-гаманці забезпечують більшу конфіденційність. Оскільки нова адреса генерується з кожною транзакцією, важко відстежувати всі транзакції та статус активів людини на ланцюжку лише за адресою гаманця.
Тому HD-гаманець можна розглядати як різновид цифрового гаманця, який досі є інструментом для управління та контролю цифрових валют, але з деякими додатковими функціями.
BIP32、BIP44、BIP39
BIP — це скорочення від Bitcoin Improvement Proposal, стандарту, створеного розробниками Bitcoin для пропозиції нових функцій або покращень протоколу, клієнта або середовища Bitcoin. Кожен BIP матиме номер, наприклад BIP-32, BIP-44 тощо, які є стандартами дизайну гаманця для Bitcoin.
Існує три основні типи BIP:
Стандартизований BIP: Цей тип BIP відповідає за додавання нових функцій до мережі, блокчейну або протоколу. Інформативні BIP: ці BIP не передбачають змін у протоколі Bitcoin, а насамперед розроблені для створення питань, рекомендацій або надання загальної інформації спільноті Bitcoin. Process BIP: Цей BIP описує зміну в процесі або середовищі, але не додається до технічної специфікації BIP. Усі BIP починаються як пропозиція, яка після ретельного обговорення та модифікації спільнотою може бути імпортована у стандарт протоколу Bitcoin, якщо отримає достатню підтримку.
Стандартна адреса:Вхід за гіперпосиланням видно.
BIP32
BIP32, повна назва Bitcoin Improvement Proposal 32, китайська, є стандартом у Пропозиції покращення біткоїна.
Раніше біткоїн-гаманці реалізовувалися шляхом генерації нового публічного ключа та відповідної адреси Біткойна щоразу, коли генерувався новий приватний ключ, який зберігався у файлі гаманця. Проблема такого підходу полягає в тому, що кожного разу, коли генерується новий приватний ключ і адреса Bitcoin, потрібно створювати нову резервну копію гаманця. Народження BIP32 вирішує цю проблему, створюючи новий спосіб генерації приватних і публічних ключів лише з одним сідом для генерації необмежених приватних і публічних ключів у структурі дерева.
Основні особливості BIP32 такі:
Одиничний приватний ключ підтримує генерацію необмежених пар ключів: генеруйте пари публічного і приватного ключів із насіння та створюйте ціле дерево ключів, де відомо лише насіння. Це вирішує проблему резервного копіювання, оскільки весь гаманець можна відновити, просто зробивши резервне копіювання цього сіду. Ієрархічне управління гаманцем: BIP32 визначає структуру гаманця, яка дозволяє користувачам керувати гаманцями шарами відповідно до мети, бізнесу, рахунку тощо. Виведення публічного ключа: BIP32 дозволяє вивести субпублічний ключ із відомим публічним ключем і ланцюгом вузла. Ця функція дозволяє здійснювати отримання публічних ключів без знання приватного ключа, підвищуючи безпеку. Покращення конфіденційності: У той час як традиційні гаманці використовують випадково згенеровані унікальні адреси, гаманці BIP32 генерують партію ключів на основі одного й того ж сіду, що дозволяє використовувати нові адреси для кожної транзакції та підвищуючи конфіденційність. Коротко кажучи, BIP32 переважно покращує традиційний метод резервного копіювання гаманця, роблячи його простим, ефективним і більш приватним.
BIP39
BIP39 — це назва специфікації, що використовується для генерації насіння BIP32.
BIP39, повна назва Bitcoin Improvement Proposal 39, — це китайська назва методу генерації початкових фраз, який є пропозицією покращення для Bitcoin.
BIP39 зазвичай використовується для генерації насіння BIP32. Він визначає, як перетворити випадкові числа у набір запам'ятовуваних слів, що є набором резервних початкових фраз обсягом 12-24 слова, які ми часто бачимо. Коли користувач вперше створює гаманець або відкриває додаток гаманця, створюється такий набір слів. BIP39 широко використовується у більшості сучасних криптовалютних гаманців.
Згенеруйте мнемонічну фразу, як показано нижче:
Насіння походить від мнемонічної фрази, як показано на рисунку нижче:
Основне використання BIP39 Seed: BIP39 Seed — це бінарні дані фіксованої довжини (512 біт, 64 байти), які генеруються з мнемоніки та неопційної паролі. Його основна роль — слугувати основними секретними даними гаманця, які використовуються для отримання всіх наступних приватних ключів, публічних ключів і адрес.
Ось більш детальний вступ до BIP39:
Метод генерації: Початкова фраза складається з набору англійських слів, що походять із фіксованого списку слів (Всього 2 048) у. Спочатку генерується випадкове число на основі випадкових дій користувача (наприклад, рухів миші, швидкість набору клавіатури тощо), а потім це випадкове число перетворюється на набір слів. Цей процес є оборотним, і оригінальне випадкове число можна відновити, якщо набір слів запам'ятований. Відновлення ключа: У методі генерації seed phrase BIP39 користувачі можуть відновити весь гаманець, просто запам'ятавши 12-24 прості слова. Це значно спрощує резервне копіювання та відновлення приватних ключів гаманця, покращуючи доступність гаманця. Функція пароля: Функція пароля, визначена в BIP39, може ускладнити відновлення приватного ключа, ускладнюючи іншим можливість відновити ваш приватний ключ через seed-фразу. Після встановлення пароля BIP39 гаманець потрібно відновити за допомогою seed phrase + password. Сумісність між гаманцями: Оскільки BIP39 є відкритим стандартом, існує високий рівень сумісності між виробниками гаманців, що дозволяє імпортувати seed-фрази з одного гаманця в інший, що дуже зручно для користувачів. BIP39 — це дуже важливий стандарт у Bitcoin-гаманцях, який спрощує складні питання управління приватними ключами за допомогою seed-фраз, роблячи користувачам легше використовувати Bitcoin.
Джерела глосарію:Вхід за гіперпосиланням видно. Про код реалізації .NET для BIP-39:Вхід за гіперпосиланням видно.
BIP44
BIP44, повна назва — Bitcoin Improvement Proposal 44, китайська назва — мультивалютна та багатоакаунтна специфікація, що є пропозицією для біткоїна.
На основі насінних (згенерованих BIP39) та шляхів BIP32, BIP44 визначає логічну ієрархію для детермінованих гаманців, а також п'ятишаровий шлях дерева. BIP44 дозволяє створювати та управляти кількома валютами та кількома рахунками, кожен із власними адресами прийому та зміни.
Відповідно до цієї специфікації, HD Wallet може генерувати диверсифіковану систему гаманця на основі сіду, тобто ви можете використовувати seed приватного ключа для генерації та управління рахунками та адресами в різних валютах.
Структура шляху, визначена BIP44, має вигляд:m / мета' / coin_type' / акаунт' / зміна / address_index:
Мета: У BIP44 мета завжди встановлена на 44'. Тип монети: Цей шар використовується для розрізнення різних цифрових валют, таких як 0 для Bitcoin, 1 для Testnet Bitcoin, 60 для Ethereum тощо. Повний список монет тут. Рахунок: Окремі адреси рахунків для кращого управління коштами. Цей рівень дозволяє користувачам створювати та керувати кількома окремими акаунтами в одному програмному забезпеченні, роблячи реєстр прозорим, а не змішуваним усе. Зміна: використовується для розрізнення адреси зміни та адреси, що приймає. Зазвичай 0 позначає зовнішню адресу, а 1 — адресу зміни Індекс адреси: Визначте n-ту згенеровану адресу. Перевага використання BIP44 у тому, що ви можете генерувати та відновлювати монети та адреси, які потрібно керувати на будь-якому гаманці, сумісному з BIP44, враховуючи це визначення шляхів для seed і BIP44.
C# генерує HD-гаманці
По-перше, проєкт представляє бібліотеку Nethereum.HdWallet з таким кодом:
Як показано нижче:
Онлайн-конвертер мнемонічного коду:Вхід за гіперпосиланням видно. Джерело:Вхід за гіперпосиланням видно.
Огляд:
Посилання:
Вхід за гіперпосиланням видно.
Вхід за гіперпосиланням видно.
Вхід за гіперпосиланням видно.
(Кінець) |