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