Контроль ваших личных ключей является основой суверенитета Биткойна. Без этого вы тем или иным образом передаете контроль над своими деньгами кому-то другому. Как гласит пословица: "Нет ваших ключей, нет ваших монет". Один из запутанных аспектов Биткойна для новичков касается реального местоположения ваших биткойнов. Когда мы думаем о кошельке, мы представляем "место, где я храню свои деньги". На самом деле, ваш кошелек Биткойн не "хранит" ваши биткойны, он просто сохраняет ваши приватные ключи. Ваши биткойны на самом деле являются записями данных в блокчейне, поддерживаемыми всеми участниками сети. Когда вы хотите потратить свои биткойны, вы фактически предлагаете обновление данных, хранящихся в блокчейне. Приватный ключ — это способ, с помощью которого протокол гарантирует, что вы и только вы можете разрешить обновление блокчейна для расходования ваших биткойнов.
Итак, как выглядят ваши приватные ключи? Это просто очень большие числа. Действительно очень большие. Вот как выглядит приватный ключ в двоичном формате: _11100010110110010111110111100000101000100000010001001111010111011010101110111001111111111101010111101001011101001110100111001 01001101111010001100001111101011110011010010111100110111010000011011011011100011010001100011110100010010011110110101010110011 01101010_ 256 единиц и случайных нулей. Именно это случайное число в конечном итоге защищает ваши Биткойны. Это может показаться не так уж много, но именно эта случайность обеспечивает безопасность вашего кошелька. Существует почти столько же возможных приватных ключей Bitcoin, сколько атомов в наблюдаемой вселенной. Это количество цифр, которые компьютер должен просмотреть, чтобы сгенерировать и каталогизировать все потенциально возможные приватные ключи. Пока процесс генерации ключей действительно случайный, ваши ключи в безопасности.
Вот как выглядит приватный ключ в шестнадцатеричном формате ( бинарный формат использует две цифры для кодирования числа: 1 и 0, шестнадцатеричный использует 16, от 0 до 9 и от A до F) : _E2D97BC144089EBB5773FFABA5D3A729BD187D79A5E6E836DC68C7A24F6AB36A_
И вот как выглядит закрытый ключ в формате импорта неконденсированного кошелька (WIF): _5KYC9aMMSDWGJciYRtwY3mNpeTn91BLagdjzJ4k4RQmdhQvE98G_
Формат WIF был способом, которым все взаимодействовали со своими приватными ключами в начале Биткойна. В то время вы могли генерировать приватный ключ по одному, а затем генерировать публичный ключ из него. Процесс генерации публичного ключа в основном заключается в умножении очень больших чисел, но это немного сложнее, чем кажется. Все публичные ключи - это точки x и y на графике, представляющем очень-очень большую кривую, которая сворачивается сама на себя.
На кривой графика, в случае Биткойн, есть точка, называемая "генераторной точкой". Эта генераторная точка может рассматриваться как "опорная точка" на кривой Secp256k1. Это неотъемлемая часть процесса генерации ключей и подписи с их помощью. Вот как выглядит генераторная точка кривой Биткойн: _G = 02 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798_
Чтобы сгенерировать публичный ключ из вашего приватного ключа, вы берете сгенерированный вами приватный ключ и умножаете его на генераторную точку. Это так же просто. Теперь на графике будет установлена точка с математическим отношением к приватному ключу, который знаете только вы.
Вот необработанный открытый ключ, показывающий точки x и y: _04C0E410A572C880D1A2106AFE1C6EA2F67830ABCC8BBDF24729F7BF3AFEA06158F0C04D7335D051A92442330A50B8C37CE0EC5AFC4FFEAB41732DA5108261FFED_
Публичные ключи очень часто «сжимаются» в редких случаях, когда вы с ними взаимодействуете, чтобы просто сохранить координату x с байтом, указывающим, является ли координата y отрицательной или положительной. Это значительно сокращает их размер: _04C0E410A572C880D1A2106AFE1C6EA2F67830ABCC8BBDF24729F7BF3AFEA06158F0C04D7335D051A92442330A50B8C37CE0EC5AFC4FFEAB41732DA5108261FFED_
Когда вы подписываете транзакцию своим приватным ключом, все сводится к простойmultiplication. Генерируя случайное число (nonce) и используя его вместе с вашим приватным ключом для существенного умножения хеша транзакции, которую вы подписываете, вы создаете подпись (, состоящую из двух значений: r и s). Это позволяет кому-то выполнить алгоритм для проверки, что сообщение было подписано соответствующим приватным ключом, не раскрывая этот ключ. То, что гарантирует, что только вы можете разрешить расходование ваших Биткойн, по сути, является просто умножением очень, очень больших чисел.
Если вы не были знакомы с этими концепциями до чтения этой статьи, все это может показаться несколько пугающим. Двоичный? Шестнадцатеричный? Точки на графике? Как сохранить WIF?
С тех пор, как были разработаны более интуитивно понятные методы управления этими данными, большинство пользователей не знакомы с этими сложными форматами. Скорее всего, у вас есть опыт работы с семенами слов, также называемыми фразами начального доступа.
Мнемонические семена или фразы восстановления были созданы для решения проблемы взаимодействия с вашими приватными ключами.
Как мы уже упоминали ранее, приватные ключи в конечном итоге представляют собой длинную последовательность единиц и нулей, сгенерированных случайным образом. Представьте, что вы пытаетесь сделать их копии и убедиться, что не допустили ошибок при их расшифровке: _11100010110110010111110111100000101000100000010001001111010111011010101110111001111111111101010111101001011101001110100111001 01001101111010001100001111101011110011010010111100110111010000011011011011100011010001100011110100010010011110110101010110011 01101010_
Одна единственная ошибка при копировании одного цифры, и ваша резервная копия ключей становится бесполезной. Вот здесь на помощь приходят мнемонические семена. 256 последовательных цифр 1 и 0 не являются удобным способом взаимодействия с конфиденциальной информацией. Неправильная транскрипция этого числа означает потерю доступа к вашему аккаунту.
_грузовик продлить ярость осел напомнить детали реформы ноутбук разделить горечь потому что жир_
Это гораздо проще в управлении, не так ли? Всего 12 слов. Как это работает - перейти от набора случайных единиц и нулей к строке слов, которые действительно имеют смысл для вас? Схема кодирования, так же как бинарный или шестнадцатеричный!
Каждое из этих 12 слов в вышеуказанном мнемоническом семени представляет собой двоичное число в схеме кодирования, которая сопоставляет определенные последовательности 1 и 0 со словами. Если вернуться к примеру закрытого ключа WIF, приведенному ранее, это просто число, закодированное в определенной схеме кодирования, в данном случае в базе 58, которая использует все цифры и буквы алфавита, кроме 0 и 1, а также O и l (, принимая во внимание регистр). Исключение этих символов было сделано специально, чтобы вероятность ошибок транскрипции была низкой из-за путаницы между 1 и буквой l или 0 и буквой O. bech32 и bech32m, используемые Segwit и Taproot, идут еще дальше, используя только этот набор символов (qpzry9x8gf2tvdw0s3jn54khce6mua7l).
Предложение по улучшению Биткойн 39 (BIP 39) ввело стандартизированную схему кодирования, где каждое слово в специально созданном словаре связано в алфавитном порядке с двоичным числом от 00000000001 до 11111111111. Приведенное выше демонстрационное семя соответствует этому:
В двоичном виде это выглядит как : 11101001001 10110110001 01011110011 01000001001 10110101110 01111101000 10110100010 00111100010 11010010001 01100110100 000 10011110 0101001 1011
В общей сложности существует 2048 слов, каждое из которых связано с конкретной цепочкой из 11 цифр единиц и нулей, специально разработанных для того, чтобы людям было легче взаимодействовать с их секретными ключами. Когда вы генерируете случайное число для своего приватного ключа, ваш кошелек разбивает это число на куски из 11 двоичных цифр и сопоставляет их с мнемоническим словарем BIP 39. Это всегда одно и то же большое число, но теперь его можно читать как слова на русском. Поскольку ваш мозг гораздо больше привык к этому формату, чем к длинным цепочкам единиц и нулей, это значительно снижает вероятность того, что вы запишите что-то неправильно и потеряете свои биткойны в процессе.
Вы, возможно, заметили, что в сыром двоичном коде приведённой выше семянной фразы четыре числа (1011) размещены отдельно, и последнее "слово" на самом деле содержит только 8 цифр. Это контрольная сумма для обеспечения правильности начальной фразы. Когда вы генерируете случайное число, недостаточно цифр, чтобы точно соответствовать 12 ( или 24) словам. Кошелёк хэширует существующие цифры, которые вы сгенерировали, и берёт первые цифры из хеша, чтобы добавить их в конец вашего случайного числа. Это даёт вам достаточно цифр, чтобы соответствовать последнему слову.
Это последнее слово позволяет вам выполнить проверку безопасности копий вашего семени. Если вы неправильно вводите мнемоническое слово в кошелек, контрольная сумма не будет соответствовать. Каждое семя из 12 или 24 слов имеет несколько потенциально действительных контрольных слов, но если последнее слово не соответствует контрольной сумме правильного семени, ваш кошелек уведомит вас, что оно недействительно. Это дает людям интуитивно понятный, но математический способ убедиться, что их резервные копии правильные, в отличие от неуклюжего процесса расшифровки и резервного копирования сырых двоичных чисел.
В заключение, мнемонические семена BIP 39 предлагают более удобный и безопасный способ управления вашими ключами Биткойн, сохраняя при этом математическую сложность, лежащую в основе безопасности системы. Эта инновация значительно упростила использование Биткойн для широкой публики, способствуя его растущему принятию.
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
Контроль ваших личных ключей является основой суверенитета Биткойна. Без этого вы тем или иным образом передаете контроль над своими деньгами кому-то другому. Как гласит пословица: "Нет ваших ключей, нет ваших монет". Один из запутанных аспектов Биткойна для новичков касается реального местоположения ваших биткойнов. Когда мы думаем о кошельке, мы представляем "место, где я храню свои деньги". На самом деле, ваш кошелек Биткойн не "хранит" ваши биткойны, он просто сохраняет ваши приватные ключи. Ваши биткойны на самом деле являются записями данных в блокчейне, поддерживаемыми всеми участниками сети. Когда вы хотите потратить свои биткойны, вы фактически предлагаете обновление данных, хранящихся в блокчейне. Приватный ключ — это способ, с помощью которого протокол гарантирует, что вы и только вы можете разрешить обновление блокчейна для расходования ваших биткойнов.
Итак, как выглядят ваши приватные ключи? Это просто очень большие числа. Действительно очень большие. Вот как выглядит приватный ключ в двоичном формате:
_11100010110110010111110111100000101000100000010001001111010111011010101110111001111111111101010111101001011101001110100111001 01001101111010001100001111101011110011010010111100110111010000011011011011100011010001100011110100010010011110110101010110011 01101010_
256 единиц и случайных нулей. Именно это случайное число в конечном итоге защищает ваши Биткойны. Это может показаться не так уж много, но именно эта случайность обеспечивает безопасность вашего кошелька. Существует почти столько же возможных приватных ключей Bitcoin, сколько атомов в наблюдаемой вселенной. Это количество цифр, которые компьютер должен просмотреть, чтобы сгенерировать и каталогизировать все потенциально возможные приватные ключи. Пока процесс генерации ключей действительно случайный, ваши ключи в безопасности.
Вот как выглядит приватный ключ в шестнадцатеричном формате ( бинарный формат использует две цифры для кодирования числа: 1 и 0, шестнадцатеричный использует 16, от 0 до 9 и от A до F) :
_E2D97BC144089EBB5773FFABA5D3A729BD187D79A5E6E836DC68C7A24F6AB36A_
И вот как выглядит закрытый ключ в формате импорта неконденсированного кошелька (WIF):
_5KYC9aMMSDWGJciYRtwY3mNpeTn91BLagdjzJ4k4RQmdhQvE98G_
Формат WIF был способом, которым все взаимодействовали со своими приватными ключами в начале Биткойна. В то время вы могли генерировать приватный ключ по одному, а затем генерировать публичный ключ из него. Процесс генерации публичного ключа в основном заключается в умножении очень больших чисел, но это немного сложнее, чем кажется. Все публичные ключи - это точки x и y на графике, представляющем очень-очень большую кривую, которая сворачивается сама на себя.
На кривой графика, в случае Биткойн, есть точка, называемая "генераторной точкой". Эта генераторная точка может рассматриваться как "опорная точка" на кривой Secp256k1. Это неотъемлемая часть процесса генерации ключей и подписи с их помощью. Вот как выглядит генераторная точка кривой Биткойн:
_G = 02 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798_
Чтобы сгенерировать публичный ключ из вашего приватного ключа, вы берете сгенерированный вами приватный ключ и умножаете его на генераторную точку. Это так же просто. Теперь на графике будет установлена точка с математическим отношением к приватному ключу, который знаете только вы.
Вот необработанный открытый ключ, показывающий точки x и y:
_04C0E410A572C880D1A2106AFE1C6EA2F67830ABCC8BBDF24729F7BF3AFEA06158F0C04D7335D051A92442330A50B8C37CE0EC5AFC4FFEAB41732DA5108261FFED_
Публичные ключи очень часто «сжимаются» в редких случаях, когда вы с ними взаимодействуете, чтобы просто сохранить координату x с байтом, указывающим, является ли координата y отрицательной или положительной. Это значительно сокращает их размер:
_04C0E410A572C880D1A2106AFE1C6EA2F67830ABCC8BBDF24729F7BF3AFEA06158F0C04D7335D051A92442330A50B8C37CE0EC5AFC4FFEAB41732DA5108261FFED_
Когда вы подписываете транзакцию своим приватным ключом, все сводится к простойmultiplication. Генерируя случайное число (nonce) и используя его вместе с вашим приватным ключом для существенного умножения хеша транзакции, которую вы подписываете, вы создаете подпись (, состоящую из двух значений: r и s). Это позволяет кому-то выполнить алгоритм для проверки, что сообщение было подписано соответствующим приватным ключом, не раскрывая этот ключ. То, что гарантирует, что только вы можете разрешить расходование ваших Биткойн, по сути, является просто умножением очень, очень больших чисел.
Если вы не были знакомы с этими концепциями до чтения этой статьи, все это может показаться несколько пугающим. Двоичный? Шестнадцатеричный? Точки на графике? Как сохранить WIF?
С тех пор, как были разработаны более интуитивно понятные методы управления этими данными, большинство пользователей не знакомы с этими сложными форматами. Скорее всего, у вас есть опыт работы с семенами слов, также называемыми фразами начального доступа.
Мнемонические семена или фразы восстановления были созданы для решения проблемы взаимодействия с вашими приватными ключами.
Как мы уже упоминали ранее, приватные ключи в конечном итоге представляют собой длинную последовательность единиц и нулей, сгенерированных случайным образом. Представьте, что вы пытаетесь сделать их копии и убедиться, что не допустили ошибок при их расшифровке:
_11100010110110010111110111100000101000100000010001001111010111011010101110111001111111111101010111101001011101001110100111001 01001101111010001100001111101011110011010010111100110111010000011011011011100011010001100011110100010010011110110101010110011 01101010_
Одна единственная ошибка при копировании одного цифры, и ваша резервная копия ключей становится бесполезной. Вот здесь на помощь приходят мнемонические семена. 256 последовательных цифр 1 и 0 не являются удобным способом взаимодействия с конфиденциальной информацией. Неправильная транскрипция этого числа означает потерю доступа к вашему аккаунту.
_грузовик продлить ярость осел напомнить детали реформы ноутбук разделить горечь потому что жир_
Это гораздо проще в управлении, не так ли? Всего 12 слов. Как это работает - перейти от набора случайных единиц и нулей к строке слов, которые действительно имеют смысл для вас? Схема кодирования, так же как бинарный или шестнадцатеричный!
Каждое из этих 12 слов в вышеуказанном мнемоническом семени представляет собой двоичное число в схеме кодирования, которая сопоставляет определенные последовательности 1 и 0 со словами. Если вернуться к примеру закрытого ключа WIF, приведенному ранее, это просто число, закодированное в определенной схеме кодирования, в данном случае в базе 58, которая использует все цифры и буквы алфавита, кроме 0 и 1, а также O и l (, принимая во внимание регистр). Исключение этих символов было сделано специально, чтобы вероятность ошибок транскрипции была низкой из-за путаницы между 1 и буквой l или 0 и буквой O. bech32 и bech32m, используемые Segwit и Taproot, идут еще дальше, используя только этот набор символов (qpzry9x8gf2tvdw0s3jn54khce6mua7l).
Предложение по улучшению Биткойн 39 (BIP 39) ввело стандартизированную схему кодирования, где каждое слово в специально созданном словаре связано в алфавитном порядке с двоичным числом от 00000000001 до 11111111111. Приведенное выше демонстрационное семя соответствует этому:
камион : 11101001001
продлить : 10110110001
фурия : 01011110011
ане : 01000001001
напомнить : 10110101110
ноутбук : 01111101000
реформа : 10110100010
детали : 00111100010
делить : 11010010001
печаль : 01100110100
потому что : 00010011110
жир : 01010011011
В двоичном виде это выглядит как :
11101001001 10110110001 01011110011 01000001001 10110101110 01111101000 10110100010 00111100010 11010010001 01100110100 000 10011110 0101001 1011
В общей сложности существует 2048 слов, каждое из которых связано с конкретной цепочкой из 11 цифр единиц и нулей, специально разработанных для того, чтобы людям было легче взаимодействовать с их секретными ключами. Когда вы генерируете случайное число для своего приватного ключа, ваш кошелек разбивает это число на куски из 11 двоичных цифр и сопоставляет их с мнемоническим словарем BIP 39. Это всегда одно и то же большое число, но теперь его можно читать как слова на русском. Поскольку ваш мозг гораздо больше привык к этому формату, чем к длинным цепочкам единиц и нулей, это значительно снижает вероятность того, что вы запишите что-то неправильно и потеряете свои биткойны в процессе.
Вы, возможно, заметили, что в сыром двоичном коде приведённой выше семянной фразы четыре числа (1011) размещены отдельно, и последнее "слово" на самом деле содержит только 8 цифр. Это контрольная сумма для обеспечения правильности начальной фразы. Когда вы генерируете случайное число, недостаточно цифр, чтобы точно соответствовать 12 ( или 24) словам. Кошелёк хэширует существующие цифры, которые вы сгенерировали, и берёт первые цифры из хеша, чтобы добавить их в конец вашего случайного числа. Это даёт вам достаточно цифр, чтобы соответствовать последнему слову.
Это последнее слово позволяет вам выполнить проверку безопасности копий вашего семени. Если вы неправильно вводите мнемоническое слово в кошелек, контрольная сумма не будет соответствовать. Каждое семя из 12 или 24 слов имеет несколько потенциально действительных контрольных слов, но если последнее слово не соответствует контрольной сумме правильного семени, ваш кошелек уведомит вас, что оно недействительно. Это дает людям интуитивно понятный, но математический способ убедиться, что их резервные копии правильные, в отличие от неуклюжего процесса расшифровки и резервного копирования сырых двоичных чисел.
В заключение, мнемонические семена BIP 39 предлагают более удобный и безопасный способ управления вашими ключами Биткойн, сохраняя при этом математическую сложность, лежащую в основе безопасности системы. Эта инновация значительно упростила использование Биткойн для широкой публики, способствуя его растущему принятию.