Основная проблема управления биткоинами: роль приватных ключей и BIP39

Биткоинская внутренняя ценность сводится к тому, как правильно управлять секретным ключом. Если этот ключ потерять, то и доступ к биткоинам будет утрачен. Распространённая пословица «без ключа — нет монет» символизирует суверенитет биткоина.

Где находится биткоин

Трудность для неспециалистов — понять, «где» именно находится биткоин. В общем восприятии, кошелёк — это что-то вроде ящика для хранения денег. Но на самом деле, кошелёк не хранит сами биткоины. Он содержит только секретный ключ.

Реальное существование биткоина — это всего лишь запись в данных на блокчейне, которую хостят все участники сети. Использование биткоинов — это предложение обновить данные, записанные в блокчейне. Секретный ключ — это инструмент, который доказывает, что только его владелец может одобрить обновление этих данных.

Что такое секретный ключ: очень большое число

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

1110001011011001011110111100000101000000100010011110101110110101110111001111111111111010101110100101110100111010011100101001 101111010001100001111101011110011010010111100110111010000011011011011100011010001100011110100011000111101101001001111011010101010110011011010

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

Различные форматы представления секретного ключа

Один и тот же секретный ключ может быть представлен в разных кодировках.

В шестнадцатеричной: E2D97BC144089EBB5773FFABA5D3A729BD187D79A5E6E836DC68C7A24F6AB36A

В формате импорта кошелька (WIF): 5KYC9aMMSDWGJciYRtwY3mNpeTn91BLagdjzJ4k4RQmdhQvE98G

Формат WIF был стандартом для обмена секретными ключами в ранние времена биткоина. Тогда пользователи создавали один секретный ключ и извлекали из него публичный.

Механизм генерации публичного ключа

Процесс получения публичного ключа из секретного — по сути, умножение очень большого числа. В эллиптической криптографии Secp256k1, используемой в биткоине, есть особая точка — «генерирующая точка» (генератор G). Она необходима для генерации ключей и подписей.

Генерирующая точка G: G = 02 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798

Умножая секретный ключ на эту точку, получается новая точка на графике, которая и есть публичный ключ, связанный с этим секретным.

Неконвертированный публичный ключ: 04C0E410A572C880D1A2106AFE1C6EA2F67830ABCC8BBDF24729F7BF3AFEA06158F0C04D7335D051A92442330A50B8C37CE0EC5AFC4FFEAB41732DA5108261FFED

Для экономии места публичный ключ иногда «сжимают», сохраняя только знак y-координаты.

Механизм подписи транзакций

Подписывать транзакцию секретным ключом — тоже операция умножения. Кошелек генерирует случайное число (нонс), использует секретный ключ и хэш транзакции для вычисления подписи (двух значений r и S).

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

BIP39: удобное решение для пользователей

Для тех, кто не знаком с криптотехнологиями, всё это кажется сложным. Двоичные числа, шестнадцатеричные, координаты эллиптических кривых — всё одновременно требует понимания. Особенно актуальна проблема безопасного резервного копирования секретных ключей, что вызывает у многих затруднения.

Для решения этой задачи разработан более интуитивный и безопасный способ — мнемоническая фраза (seed phrase).

Что такое мнемоническая фраза BIP39

Проблема с мнемоническими seed — в сложности копирования и переписывания 256 битов, состоящих из 1 и 0. Даже одна ошибка делает резервную копию недействительной:

1110001011011001011110111100000101000000100010011110101110110101110111001111111111111010101110100101110100111010011100101001 101111010001100001111101011110011010010111100110111010000011011011011100011010001100011110100011000111101101001001111011010101010110011011010

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

Пример мнемонической фразы: Трек Обновление Гнев Осёл Воспоминание Лаптоп Реформа Деталь Раздел Грусть Жир

Всего 12 слов — это значительно проще. Но как из случайных 1 и 0 получается осмысленная последовательность слов?

Механизм кодирования по BIP39

Используется та же идея, что и в двоичных и шестнадцатеричных форматах. Каждое слово в мнемонической фразе — результат кодирования, где определённая последовательность битов сопоставляется с конкретным словом.

Стандарт BIP39 вводит унифицированный способ кодирования. В словаре, созданном специально для этого, каждое слово соответствует двоичному числу от 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-битная система

В BIP39 есть 2048 слов, каждое — это 11 бит. Это облегчает работу с секретными ключами.

Когда создаётся случайное число, кошелёк делит его на блоки по 11 бит и сопоставляет с словарём BIP39. В итоге, большое число превращается в последовательность слов, которую легко запомнить и записать. Человеческий мозг лучше воспринимает слова, чем длинные битовые строки. Это значительно снижает риск ошибок при резервном копировании.

Механизм контрольной суммы

Обратите внимание, что последнее слово в двоичной последовательности — по сути, только 8 бит. Это контрольная сумма, проверяющая правильность seed.

При генерации секретного ключа, чтобы обеспечить точное соответствие 12 (или 24) слов, кошелёк хэширует исходное число и добавляет первые биты хэша к концу секретного ключа. Так достигается нужная длина для последнего слова.

Благодаря контрольной сумме, можно математически проверить правильность копии seed. Если вы ошибётесь при вводе мнемонической фразы, контрольная сумма не совпадёт. Для каждого варианта 12 или 24 слов существует несколько допустимых контрольных слов, но если последнее слово не совпадает с контрольной суммой, кошелёк выдаст предупреждение о недействительности.

В отличие от копирования длинных двоичных чисел, этот метод интуитивен и при этом математически безопасен.

Особенности выбора слов

Словарь BIP39 из 2048 слов тщательно подобран так, чтобы первые 4 буквы у всех слов были разными. Это снижает риск ошибок при переписывании и повреждении резервной копии.

Мнемоническая фраза и создание нескольких ключевых пар

Процесс получения нескольких секретных и публичных ключей из мнемонической фразы — удивительно прост.

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

Важность BIP39

Эти механизмы позволяют максимально упростить и обезопасить управление секретными ключами, минимизируя риск потери активов из-за ошибок. Всё реализовано через математику.

Теперь становится яснее, почему биткоин называют «деньгами, защищёнными математикой». BIP39 — это важное изобретение в экосистеме биткоина, реализующее его математическую надёжность в удобной для пользователя форме.

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