Отсканируйте, чтобы загрузить приложение Gate
qrCode
Больше вариантов загрузки
Не напоминай мне больше сегодня.

Понимание ваших ключей Биткойна: слова семени Bip39

В основе самоуправления Биткойна лежит контроль над вашими приватными ключами. Без этого вы фактически передаете контроль над своими средствами кому-то другому. Как говорится, “Не ваши ключи, не ваши токены.” Для тех, кто не знаком с техническими основами Биткойна, контринтуитивный аспект заключается в том, “где” на самом деле находится ваш Биткойн. Когда люди думают о кошельке, они представляют “место, где я храню свои деньги.” На самом деле, ваш кошелек Биткойн не “содержит” ваш Биткойн; он просто хранит ваши приватные ключи. Ваш Биткойн существует как записи данных в блокчейне, поддерживаемые всеми участниками сети. Когда вы тратите свои биткойны, вы предлагаете обновление данных блокчейна. Приватный ключ — это способ протокола обеспечить, чтобы только вы могли авторизовать обновление блокчейна, которое тратит ваш Биткойн.

Итак, что такое ваши приватные ключи? Это просто невероятно большие числа. Вот приватный ключ в двоичном формате:

110001011011001011110111100000101000100000010001001111010111011010101110111001111111111110101011101001011101001110100111001110010100110111101000110000111110101111001101001011110011011101000001101101101110001101000110001111010001001001111011010101011001101101010

256 случайных 1 и 0. Это случайное число в конечном итоге защищает ваш Биткойн. Это может показаться незначительным, но его случайность гарантирует безопасность вашего кошелька. Возможных закрытых ключей Биткойн почти столько же, сколько атомов в видимой вселенной. Это число, которое компьютер должен подсчитать, чтобы сгенерировать и каталогизировать все потенциально возможные закрытые ключи. Поскольку процесс, используемый для генерации ключей, действительно случайный, ваши ключи будут в безопасности.

Вот как выглядит закрытый ключ в шестнадцатеричном формате ( двоичный код использует две цифры для кодирования числа, 1 и 0, шестнадцатеричный код использует 16 цифр, 0-9 и A-F):

E2D97BC144089EBB5773FFABA5D3A729BD187D79A5E6E836DC68C7A24F6AB36A

И вот как закрытый ключ выглядит в некомпрессированном формате импорта кошелька (WIF):

5KYC9aMMSDWGJciYRtwY3mNpeTn91BLagdjzJ4k4RQmdhQvE98G

Формат WIF был тем, как все взаимодействовали со своими приватными ключами в ранние дни Биткойна. В эту эпоху вы могли генерировать один приватный ключ за раз, а затем генерировать публичный ключ из него. Процесс генерации публичного ключа в основном заключается в умножении очень больших чисел, но здесь есть и кое-что еще. Все публичные ключи представляют собой точки x и y на графике, который показывает очень, очень большую кривую, которая замыкается на себе.

На кривой графика, в случае Биткойна Secp256k1, есть точка, называемая “генераторной точкой”. Эту генераторную точку можно рассматривать как “базовую точку” кривой Secp256k1. Она является неотъемлемой частью процесса генерации ключей и их подписания. Это генераторная точка кривой Биткойна:

G = 02 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798

Чтобы сгенерировать открытый ключ из вашего закрытого ключа, вы берете закрытый ключ, который вы сгенерировали, и умножаете его на генераторную точку. Вот и все. Это теперь устанавливает точку на графике с математической зависимостью от закрытого ключа, который вы сгенерировали, который знаете только вы.

Вот неконцентрированный публичный ключ, показывающий точки x и y:

04C0E410A572C880D1A2106AFE1C6EA2F67830ABCC8BBDF24729F7BF3AFEA06158F0C04D7335D051A92442330A50B8C37CE0EC5AFC4FFEAB41732DA5108261FFED

Очень часто “сжимают” публичные ключи в редком случае, если вы взаимодействуете с ними, чтобы просто сохранить x-координату с байтом, чтобы указать, является ли y-координата отрицательной или положительной. Это значительно сокращает их:

02C0E410A572C880D1A2106AFE1C6EA2F67830ABCC8BBDF24729F7BF3AFEA06158

Когда вы подписываете транзакцию своим приватным ключом, в очередной раз это сводится к простой умножению. Генерируя случайное число (, nonce ) и используя его вместе с вашим приватным ключом для умножения хеша транзакции, которую вы подписываете, вы получаете подпись (, состоящую из двух значений, r и s ). Это позволяет кому-то запустить алгоритм для проверки того, что сообщение было подписано правильным приватным ключом, не раскрывая этот ключ. То, что гарантирует, что только вы можете авторизовать расходование вашего Биткойна, по сути, является умножением очень, очень больших чисел.

Если вы не были очень знакомы с этими концепциями до чтения этого, все это, вероятно, кажется довольно устрашающим. Двоичный? Шестнадцатеричный? Точки графика? Как сделать резервную копию WIF?

Поскольку были разработаны более интуитивные способы работы с этими данными, большинство пользователей не знакомы с этими сложными форматами. Вы, вероятно, более опытны с семенными словами, также известными как семенные фразы.

BIP 39 Мнемонические семена

Мнемонические семена, или фразы-семена, были созданы для решения проблемы взаимодействия с вашими приватными ключами.

Как мы обсуждали ранее, приватные ключи в конечном итоге представляют собой просто длинную строку единиц и нулей, которые генерируются случайным образом. Представьте, что вы пытаетесь сделать копии этого и убедиться, что не ошибаетесь при его транскрипции:

110001011011001011110111100000101000100000010001001111010111011010101110111001111111111110101011101001011101001110100111001110010100110111101000110000111110101111001101001011110011011101000001101101101110001101000110001111010001001001111011010101011001101101010

Все, что нужно, это единственная ошибка при копировании одной цифры, чтобы резервная копия ваших ключей оказалась бесполезной. Здесь на помощь приходят мнемонические семена. 256 последовательных 1 и 0 — это не удобный для человека способ взаимодействия с конфиденциальной информацией. Неправильная запись этого числа означает потерю доступа к вашему аккаунту.

грузовик обновить ярость осел помнить ноутбук реформировать деталь делить боль потому что жир

С этим гораздо проще иметь дело, не так ли? Всего 12 слов. Так как это работает, переходя от кучи случайных 1 и 0 к строке слов, которые действительно имеют смысл для вас? Кодировочная схема, такая как двоичная или шестнадцатеричная!

Каждое из этих 12 слов в предыдущей мнемонической фразе является двоичным числом в схеме кодирования, которая сопоставляет конкретные строки единиц и нулей со словами. Если мы вернемся к ранее приведенному примеру закрытого ключа WIF, это было просто число, закодированное в конкретной схеме кодирования, в данном случае base 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 00010011110 01010011011

Существует 2048 слов, каждое из которых сопоставлено с конкретной 11-значной строкой из 1 и 0, специально для того, чтобы упростить людям взаимодействие с их приватными ключами. Когда вы генерируете случайное число для вашего приватного ключа, ваш кошелек разбивает это число на куски 11-значных бинарных чисел и сопоставляет их со словарем мнемоники BIP 39. Это все еще одно и то же большое число, но теперь вы можете читать его как английские слова. Поскольку ваш мозг гораздо более привычен к этому формату, чем к длинным строкам 1 и 0, это значительно снижает вероятность того, что вы что-то запишите неправильно и потеряете свой Биткойн в процессе.

Вы могли заметить, что в сыром двоичном кодировании слова seed выше есть четыре цифры (, стоящие отдельно, и последнее “слово” на самом деле состоит всего из 8 цифр. Это контрольная сумма, чтобы убедиться, что фраза для восстановления действительна. Когда вы генерируете свое случайное число, недостаточно цифр, чтобы точно сопоставить его с 12 ) или 24( словами. Кошелек кодирует существующие цифры, которые он сгенерировал, и берет первые цифры хэша, чтобы добавить их в конец вашего случайного числа. Это дает вам достаточно цифр, чтобы сопоставить с последним словом.

Это последнее слово позволяет вам выполнить проверку безопасности копий вашего семени. Если вы неправильно вводите свою мнемоническую семя в кошелек, контрольная сумма не совпадет. Каждое семя из 12 или 24 слов имеет несколько потенциально допустимых контрольных слов, но если последнее слово не совпадает с контрольной суммой правильного семени, ваш кошелек предупредит вас, что оно недействительно. Это дает людям интуитивно понятный, но все же математический способ убедиться, что их резервные копии правильные, в отличие от сложного процесса транскрибирования и резервного копирования сырых двоичных чисел.

Выбор конкретных слов из списка зашел так далеко, что ни одно из 2048 слов не имеет одинаковых первых четырех букв. Это было сделано для снижения вероятности того, что люди будут допускать ошибки при транскрипции, путая похожие слова и в итоге получая неправильный резервный ключ своих приватных ключей.

Перевод этих слов в набор нескольких публичных/приватных ключей довольно прост. Ваш мнемонический семя берется и хешируется с использованием SHA512, что генерирует хеш из 512 отдельных 1 и 0. Половина этого вывода используется в качестве фактического приватного ключа, а другая половина используется в качестве ввода для SHA512 с номером индекса и существующим публичным или приватным ключом для генерации новой пары ключей. Вы можете делать это столько раз, сколько хотите, чтобы генерировать новые публичные/приватные ключи, которые можно восстановить из вашей единственной мнемонической фразы.

Это гарантирует, что вы можете управлять своими приватными ключами самым простым и безопасным способом с наименьшей вероятностью совершения ошибки, которая приведет к потере ваших денег. И все это было сделано с помощью математики! Надеемся, теперь вы понимаете, почему люди говорят, что Биткойн — это деньги, “защищенные математикой.”

BTC-2.41%
Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • комментарий
  • Репост
  • Поделиться
комментарий
0/400
Нет комментариев
  • Закрепить