Добавить в корзинуПозвонить
Найти в Дзене
Cryptoforum

Первое знакомство с Bitcoin - закрытым ключом Bitcoin

Закрытый ключ — это пропуск пользователя в сеть Bitcoin, который используется в сети bitcoin, в частности, подписывая торговый скрипт во время транзакции. Это случайное число 256 бит, которое обычно генерируется случайным образом, в диапазоне от 0x1 до 0xFFFF FFFFFF FFFFFF FFFFFF FFFF FFFE BAAE DCE6 AF48 A03B BFD2 5E8C D036 4140 (это ограничено алгоритмом ECDSA spec256k1). Например, следующее случайное число является законным закрытым ключом Bitcoin
0C28FCA386C7A227600B2FE50B7CAE11EC86D3BF1FBE471BE89827E19D72AA1D
Формат WIF
Чтобы сделать копирование закрытого ключа Bitcoin не подверженным ошибкам, обычно используется закрытый ключ в формате WALLET Import Format. Алгоритм генерации закрытого ключа в этом формате описан ниже. 1. Случайное создание числа 256 бит, которое обозначается следующим образом в 16-м формате
0C28FCA386C7A227600B2FE50B7CAE11EC86D3BF1FBE471BE89827E19D72AA1D
2. Допишите, сетевой знак перед результатом 1, 0x80 означает сеть mainnet, а 0xef — тестовую сеть (testn

Закрытый ключ — это пропуск пользователя в сеть Bitcoin, который используется в сети bitcoin, в частности, подписывая торговый скрипт во время транзакции. Это случайное число 256 бит, которое обычно генерируется случайным образом, в диапазоне от 0x1 до 0xFFFF FFFFFF FFFFFF FFFFFF FFFF FFFE BAAE DCE6 AF48 A03B BFD2 5E8C D036 4140 (это ограничено алгоритмом ECDSA spec256k1).

Первое знакомство с Bitcoin - закрытым ключом Bitcoin
Первое знакомство с Bitcoin - закрытым ключом Bitcoin

Например, следующее случайное число является законным закрытым ключом Bitcoin

0C28FCA386C7A227600B2FE50B7CAE11EC86D3BF1FBE471BE89827E19D72AA1D


Формат WIF

Чтобы сделать копирование закрытого ключа Bitcoin не подверженным ошибкам, обычно используется закрытый ключ в формате WALLET Import Format.

Алгоритм генерации закрытого ключа в этом формате описан ниже.

1. Случайное создание числа 256 бит, которое обозначается следующим образом в 16-м формате

0C28FCA386C7A227600B2FE50B7CAE11EC86D3BF1FBE471BE89827E19D72AA1D

2. Допишите, сетевой знак перед результатом 1, 0x80 означает сеть mainnet, а 0xef — тестовую сеть (testnet)


800C28FCA386C7A227600B2FE50B7CAE11EC86D3BF1FBE471BE89827E19D72AA1D

3. Если используется сжатый открытый ключ, 0x01 результат 2, а при использовании несжатого открытого ключа 0x01
(Сжатый открытый ключ не используется на этот раз)

800C28FCA386C7A227600B2FE50B7CAE11EC86D3BF1FBE471BE89827E19D72AA1D

4. Выполните алгоритм SHA-56hash для результатов 3

8147786C4D15106333BF278D71DADAF1079EF2D2440A4DDE37D747DED5403592

5. Алгоритм SHA-256 hash снова выполняется для результатов 4

507A5B8DFED0FC6FE8801743720CEDEC06AA5C6FCA72B07C49964492FB98A714

6. Возьмите первые 4 байта результатов 5 в качестве корректилы

507A5B8D

7. Добавьте результат 6 в задню часть 3

800C28FCA386C7A227600B2FE50B7CAE11EC86D3BF1FBE471BE89827E19D72AA1D507A5B8D

8. Выполните алгоритм кодирования Base58Check для результатов 6 и получите закрытый ключ в формате WIF

5HueCGU8rMjxEXxiPuD5BDku4MkFqeZyd4dZ1jvhTVqvbTLvyTJ

Как видно из приведенного выше шага, закрытый ключ в формате WIF легко преобразуется в 256-разрядный закрытый ключ, соответствующий спецификации ECDSA, и легко проверить, является ли закрытый ключ в формате WIF законным.