filmov
tv
ChatGPT для Web 3.0 №02. Что такое seed-фраза?

Показать описание
На этот вопрос он ответил следующим образом:
Seed-фраза - это набор из нескольких слов (обычно 12 или 24), который используется для генерации приватных ключей и адресов в криптовалютных кошельках.
Seed-фраза может генерироваться случайным образом с помощью специальных программ или генераторов, и должна быть сохранена в безопасном месте, так как любой, кто знает эту фразу, может получить доступ к кошельку и его средствам.
Из seed-фразы с помощью алгоритма BIP39 (Bitcoin Improvement Proposal 39) генерируется мнемонический код, состоящий из списка слов из стандартного списка. Затем мнемонический код используется для генерации иерархии приватных ключей и адресов с помощью стандартного алгоритма HD (Hierarchical Deterministic) Wallets.
В результате каждый приватный ключ в кошельке может быть вычислен из seed-фразы, но при этом сохраняется уникальность каждого ключа. Это позволяет создавать бэкапы кошельков, необходимые для восстановления доступа к средствам в случае утери или повреждения устройства, на котором хранится кошелек.
Пример формирования приватного ключа из seed-фразы:
Предположим, что у нас есть seed-фраза: "lock ocean reason faith hurdle cruel blanket avoid drill scatter soda unlock".
Используя алгоритм BIP39, мы получаем из нее мнемонический код: "lock ocean reason faith hurdle cruel blanket avoid drill scatter soda unlock".
Мнемонический код преобразуется в бинарный seed с помощью алгоритма PBKDF2.
Из бинарного seed генерируется мастер-ключ с помощью алгоритма HMAC-SHA512.
Используя мастер-ключ, мы можем генерировать дочерние ключи в иерархии ключей с помощью алгоритма HD Wallets. Например, мы можем сгенерировать приватный ключ на базе мастер-ключа для Bitcoin с индексом 0: m/44'/0'/0'/0/0.
Полученный приватный ключ может быть использован для создания соответствующего публичного ключа и адреса в соответствующей криптовалюте.
Пример формирования кошелька из приватного ключа:
Предположим, что у нас есть приватный ключ для Bitcoin: "KwDiDMpXf8fFzgyK1G5pVjD3qzVhbT9C9TtAVy2Rk1W7VJmQgPb7".
Используя алгоритм ECDSA, мы можем вычислить соответствующий публичный ключ.
Из публичного ключа можно вычислить Bitcoin-адрес с помощью алгоритма Base58Check.
Таким образом, мы получаем Bitcoin-кошелек, связанный с этим приватным ключом и соответствующим адресом.
Полезные ссылки: