Сутність цінності Біткойна полягає у тому, як правильно керувати приватним ключем. Якщо цей ключ буде втрачено, то й доступ до Біткойна буде втрачено. Хороше прислів’я «без ключа — немає монет» символізує самоврядність Біткойна.
Де саме існує Біткойн
Для тих, хто не знайомий з технологіями, важко зрозуміти, де саме «знаходиться» Біткойн. З звичайної точки зору, гаманець можна уявити як скриньку для зберігання грошей. Але насправді гаманець не зберігає самі Біткойни. Він зберігає лише приватний ключ.
Реальна сутність Біткойна — це дані у блокчейні, які всі учасники мережі хостять. Використання Біткойна — це пропозиція оновити дані, записані у блокчейні. Приватний ключ — це інструмент, що підтверджує, що саме власник цього ключа може затвердити оновлення даних.
Що таке приватний ключ: дуже велике число
Приватний ключ — це, в кінцевому підсумку, дуже велике число, яке складається з 256 випадкових бітів (1 і 0). У двійковому форматі воно виглядає так:
Ця надзвичайна випадковість і є основою безпеки гаманця. Кількість можливих комбінацій приватного ключа приблизно дорівнює кількості атомів у спостережуваній Всесвіті. Тому, якщо генерується випадковим чином, приватний ключ є фактично безпечним.
Різні формати представлення приватного ключа
Один і той самий приватний ключ може бути представленим у різних кодуваннях.
У шістнадцятковому форматі:
E2D97BC144089EBB5773FFABA5D3A729BD187D79A5E6E836DC68C7A24F6AB36A
У форматі імпорту гаманця (WIF):
5KYC9aMMSDWGJciYRtwY3mNpeTn91BLagdjzJ4k4RQmdhQvE98G
Формат WIF був стандартом для обміну приватними ключами на початку епохи Біткойна. Тоді користувачі створювали один приватний ключ і отримували з нього публічний.
Механізм створення публічного ключа
Процес створення публічного ключа з приватного — це, по суті, множення дуже великого числа. У криптографії на основі еліптичних кривих, яку використовує Біткойн, існує особлива точка — «генеруюча точка» (G). Це базова точка кривої Secp256k1, яка необхідна для генерації ключів і підписів.
Генеруюча точка G:
G = 02 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798
Множення приватного ключа на цю точку дає нову точку на графіку, яка і є публічним ключем, що має математичний зв’язок із приватним.
Для зручності публічний ключ може бути «стиснений» — зберігає лише знак y-координати та x-координату у 33 байти.
Механізм підпису транзакцій
Підписання транзакції приватним ключем — це також множення. Гаманець генерує випадкове число (нонс), використовує приватний ключ і хеш транзакції для обчислення підпису (р і S). Це дозволяє підтвердити, що підпис зроблений саме цим приватним ключем, без його розкриття.
Завдяки підпису будь-хто може перевірити справжність підпису, а отже — право власності. Основна математична операція — множення дуже великого числа.
BIP39: зручне рішення для користувачів
Для тих, хто не знайомий з криптографією, все це здається складним. Двоїчний і шістнадцятковий формати, координати еліптичної кривої — все це вимагає розуміння. Особливо актуальним є питання безпечного резервного копіювання приватного ключа, що є серйозною проблемою для багатьох користувачів.
Щоб спростити цю задачу, було створено більш інтуїтивний і безпечний спосіб — мнемонічна фраза (seed phrase).
Що таке мнемонічна фраза BIP39
Проблема з мнемонічною фразою полягає у складності копіювання та запису 256 бітів (1 і 0). Навіть одна помилка знищує весь резервний копіювання:
Замість такої складної послідовності потрібно щось більш зручне для людини.
Приклад мнемонічної фрази:
Трек оновлення гнів віслюк нагадування ноутбук реформа деталі розділ сум, жир
Це всього 12 слів — значно легше запам’ятати і використовувати. Тепер розглянемо, як з випадкової сукупності 1 і 0 створюються зрозумілі слова.
Механізм кодування за BIP39
Як і у випадку з двійковим і шістнадцятковим форматами, використовується схема кодування. Кожне слово у мнемонічній фразі — це результат перетворення певної двійкової послідовності у слово з словника.
Стандарт BIP39 вводить у використання уніфіковану схему кодування. Кожне слово у словнику відповідає певному 11-бітовому числу від 00000000001 до 11111111111.
У BIP39 використовується 2048 слів, кожне з яких відповідає 11 бітам. Це зроблено для зручності роботи з приватними ключами.
Згенерувавши випадкове число з приватного ключа, гаманець ділить його на 11-бітові частки і мапить їх у словник BIP39. Таким чином, велике число перетворюється у послідовність слів, яку легко запам’ятати і відтворити. Людському мозку легше працювати з словами, ніж з довгими бінарними рядками. Це значно зменшує ризик помилок і втрати коштів.
Механізм контрольної суми
Якщо поглянути на двійкове кодування, то останнє слово містить лише 8 біт. Це — контрольна сума для перевірки правильності мнемонічної фрази.
При створенні приватного ключа, щоб точно відповідати 12 (або 24) словам, не вистачає кількості біт. Гаманець хешує існуюче число і додає кілька бітів з початку хешу до кінця приватного ключа. Це забезпечує відповідність кількості бітів для останнього слова.
Завдяки цій контрольній сумі можна математично перевірити правильність копії мнемонічної фрази. Якщо ви неправильно введете фразу у гаманець, контрольна сума не співпаде. Для кожної кількості слів (12 або 24) існує кілька допустимих контрольних слів. Якщо останнє слово не співпадає з контрольним, гаманець видасть попередження.
Цей підхід — більш інтуїтивний і водночас математично безпечний, на відміну від копіювання бінарних чисел.
Вибір слів
Список з 2048 слів у BIP39 ретельно підбирається так, щоб перші 4 літери у всіх словах не співпадали. Це зменшує ймовірність плутанини і помилок при записі, що може пошкодити резервну копію приватного ключа.
Від мнемонічної фрази до кількох пар ключів
Процес генерації кількох приватних і публічних ключів з однієї мнемонічної фрази — дуже простий.
Мнемонічна фраза хешується за допомогою SHA512, і виходить 512-бітний хеш. Перша половина використовується як приватний ключ, а друга — як індекс або додатковий приватний або публічний ключ, що дозволяє створювати безліч нових пар ключів. Повторюючи цей процес, можна отримати безліч унікальних пар ключів з одного мнемонічного фрази.
Інновації BIP39
Завдяки цим механізмам приватний ключ можна зберігати максимально просто і безпечно, мінімізуючи ризик втрати через помилки. Все це реалізовано за допомогою математики.
Тому причина, чому Біткойн називають «гроші, захищені математикою», стає більш очевидною. BIP39 — це важлива революція у екосистемі Біткойна, яка поєднує математичну надійність із зручністю для користувача.
Ця сторінка може містити контент третіх осіб, який надається виключно в інформаційних цілях (не в якості запевнень/гарантій) і не повинен розглядатися як схвалення його поглядів компанією Gate, а також як фінансова або професійна консультація. Див. Застереження для отримання детальної інформації.
Найбільша проблема управління біткойнами: роль приватних ключів і BIP39
Сутність цінності Біткойна полягає у тому, як правильно керувати приватним ключем. Якщо цей ключ буде втрачено, то й доступ до Біткойна буде втрачено. Хороше прислів’я «без ключа — немає монет» символізує самоврядність Біткойна.
Де саме існує Біткойн
Для тих, хто не знайомий з технологіями, важко зрозуміти, де саме «знаходиться» Біткойн. З звичайної точки зору, гаманець можна уявити як скриньку для зберігання грошей. Але насправді гаманець не зберігає самі Біткойни. Він зберігає лише приватний ключ.
Реальна сутність Біткойна — це дані у блокчейні, які всі учасники мережі хостять. Використання Біткойна — це пропозиція оновити дані, записані у блокчейні. Приватний ключ — це інструмент, що підтверджує, що саме власник цього ключа може затвердити оновлення даних.
Що таке приватний ключ: дуже велике число
Приватний ключ — це, в кінцевому підсумку, дуже велике число, яке складається з 256 випадкових бітів (1 і 0). У двійковому форматі воно виглядає так:
1110001011011001011110111100000101000000100010011110101110110101110111001111111111111010101110100101110100111010011100101001 101111010001100001111101011110011010010111100110111010000011011011011100011010001100011110100011000111101101001001111011010101010110011011010
Ця надзвичайна випадковість і є основою безпеки гаманця. Кількість можливих комбінацій приватного ключа приблизно дорівнює кількості атомів у спостережуваній Всесвіті. Тому, якщо генерується випадковим чином, приватний ключ є фактично безпечним.
Різні формати представлення приватного ключа
Один і той самий приватний ключ може бути представленим у різних кодуваннях.
У шістнадцятковому форматі: E2D97BC144089EBB5773FFABA5D3A729BD187D79A5E6E836DC68C7A24F6AB36A
У форматі імпорту гаманця (WIF): 5KYC9aMMSDWGJciYRtwY3mNpeTn91BLagdjzJ4k4RQmdhQvE98G
Формат WIF був стандартом для обміну приватними ключами на початку епохи Біткойна. Тоді користувачі створювали один приватний ключ і отримували з нього публічний.
Механізм створення публічного ключа
Процес створення публічного ключа з приватного — це, по суті, множення дуже великого числа. У криптографії на основі еліптичних кривих, яку використовує Біткойн, існує особлива точка — «генеруюча точка» (G). Це базова точка кривої Secp256k1, яка необхідна для генерації ключів і підписів.
Генеруюча точка G: G = 02 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798
Множення приватного ключа на цю точку дає нову точку на графіку, яка і є публічним ключем, що має математичний зв’язок із приватним.
Неконвертований публічний ключ: 04C0E410A572C880D1A2106AFE1C6EA2F67830ABCC8BBDF24729F7BF3AFEA06158F0C04D7335D051A92442330A50B8C37CE0EC5AFC4FFEAB41732DA5108261FFED
Для зручності публічний ключ може бути «стиснений» — зберігає лише знак y-координати та x-координату у 33 байти.
Механізм підпису транзакцій
Підписання транзакції приватним ключем — це також множення. Гаманець генерує випадкове число (нонс), використовує приватний ключ і хеш транзакції для обчислення підпису (р і S). Це дозволяє підтвердити, що підпис зроблений саме цим приватним ключем, без його розкриття.
Завдяки підпису будь-хто може перевірити справжність підпису, а отже — право власності. Основна математична операція — множення дуже великого числа.
BIP39: зручне рішення для користувачів
Для тих, хто не знайомий з криптографією, все це здається складним. Двоїчний і шістнадцятковий формати, координати еліптичної кривої — все це вимагає розуміння. Особливо актуальним є питання безпечного резервного копіювання приватного ключа, що є серйозною проблемою для багатьох користувачів.
Щоб спростити цю задачу, було створено більш інтуїтивний і безпечний спосіб — мнемонічна фраза (seed phrase).
Що таке мнемонічна фраза BIP39
Проблема з мнемонічною фразою полягає у складності копіювання та запису 256 бітів (1 і 0). Навіть одна помилка знищує весь резервний копіювання:
1110001011011001011110111100000101000000100010011110101110110101110111001111111111111010101110100101110100111010011100101001 101111010001100001111101011110011010010111100110111010000011011011011100011010001100011110100011000111101101001001111011010101010110011011010
Замість такої складної послідовності потрібно щось більш зручне для людини.
Приклад мнемонічної фрази: Трек оновлення гнів віслюк нагадування ноутбук реформа деталі розділ сум, жир
Це всього 12 слів — значно легше запам’ятати і використовувати. Тепер розглянемо, як з випадкової сукупності 1 і 0 створюються зрозумілі слова.
Механізм кодування за BIP39
Як і у випадку з двійковим і шістнадцятковим форматами, використовується схема кодування. Кожне слово у мнемонічній фразі — це результат перетворення певної двійкової послідовності у слово з словника.
Стандарт BIP39 вводить у використання уніфіковану схему кодування. Кожне слово у словнику відповідає певному 11-бітовому числу від 00000000001 до 11111111111.
Приклад мапінгу для тестового семени:
У двійковому форматі: 11101001001 10110110001 01011110011 01000001001 10110101110 01111101000 10110100010 00111100010 11010010001 01100110100 00010011110 01010011011
2048 слів і 11-бітна система
У BIP39 використовується 2048 слів, кожне з яких відповідає 11 бітам. Це зроблено для зручності роботи з приватними ключами.
Згенерувавши випадкове число з приватного ключа, гаманець ділить його на 11-бітові частки і мапить їх у словник BIP39. Таким чином, велике число перетворюється у послідовність слів, яку легко запам’ятати і відтворити. Людському мозку легше працювати з словами, ніж з довгими бінарними рядками. Це значно зменшує ризик помилок і втрати коштів.
Механізм контрольної суми
Якщо поглянути на двійкове кодування, то останнє слово містить лише 8 біт. Це — контрольна сума для перевірки правильності мнемонічної фрази.
При створенні приватного ключа, щоб точно відповідати 12 (або 24) словам, не вистачає кількості біт. Гаманець хешує існуюче число і додає кілька бітів з початку хешу до кінця приватного ключа. Це забезпечує відповідність кількості бітів для останнього слова.
Завдяки цій контрольній сумі можна математично перевірити правильність копії мнемонічної фрази. Якщо ви неправильно введете фразу у гаманець, контрольна сума не співпаде. Для кожної кількості слів (12 або 24) існує кілька допустимих контрольних слів. Якщо останнє слово не співпадає з контрольним, гаманець видасть попередження.
Цей підхід — більш інтуїтивний і водночас математично безпечний, на відміну від копіювання бінарних чисел.
Вибір слів
Список з 2048 слів у BIP39 ретельно підбирається так, щоб перші 4 літери у всіх словах не співпадали. Це зменшує ймовірність плутанини і помилок при записі, що може пошкодити резервну копію приватного ключа.
Від мнемонічної фрази до кількох пар ключів
Процес генерації кількох приватних і публічних ключів з однієї мнемонічної фрази — дуже простий.
Мнемонічна фраза хешується за допомогою SHA512, і виходить 512-бітний хеш. Перша половина використовується як приватний ключ, а друга — як індекс або додатковий приватний або публічний ключ, що дозволяє створювати безліч нових пар ключів. Повторюючи цей процес, можна отримати безліч унікальних пар ключів з одного мнемонічного фрази.
Інновації BIP39
Завдяки цим механізмам приватний ключ можна зберігати максимально просто і безпечно, мінімізуючи ризик втрати через помилки. Все це реалізовано за допомогою математики.
Тому причина, чому Біткойн називають «гроші, захищені математикою», стає більш очевидною. BIP39 — це важлива революція у екосистемі Біткойна, яка поєднує математичну надійність із зручністю для користувача.