487 / 736CS

BIP39 checksum

Контрольна сума мнемонічної резервної копії

Ви вводите слова резервної копії для відновлення гаманця, а застосунок повідомляє про помилку. Її може допомогти виявити BIP39 checksum — коротка перевірка, вбудована в запис слів. Вона знаходить частину помилок, але навіть успішний результат не підтверджує, що ви знайшли свій гаманець або що слова безпечні.

Контрольна сума — це кілька бітів, базових одиниць інформації, обчислених із початкових випадкових даних. BIP39 позначає їхню довжину як ENT, додає перші ENT/32 бітів їхнього відбитка SHA-256 і ділить результат на групи по 11 бітів для вибору слів. Це перевірка запису, а не новий секрет: будь-хто з тими самими даними може обчислити ту саму суму.

Слова представляють і початкові випадкові дані, які називають ентропією, і їхню коротку перевірку. BIP39 допускає ENT = 128, 160, 192, 224 або 256 бітів. До них відповідно додають 4, 5, 6, 7 або 8 контрольних бітів і отримують 12, 15, 18, 21 або 24 слова. Кожна група з 11 бітів обирає слово з номером у діапазоні 0‑2047 зі списку 2048 слів. Під час відновлення програма може розібрати цей запис і перевірити узгодженість його частин. [1]

Останнє слово містить також частину початкових таємних даних. Для входу зі 128 бітів маємо 128 + 4 = 132 = 12 × 11: останнє слово вміщує 7 бітів ентропії та 4 контрольні біти. За 24 слів у ньому 3 біти ентропії та 8 контрольних бітів. Отже, втрачаючи останнє слово, ви втрачаєте не лише перевірку. Попередні слова не визначають єдиного правильного завершення; універсального контрольного слова, яке досить підставити, немає. [1]

Перевірка коротка й не може відхилити кожну неправильну комбінацію. Серед рівномірно випадкових послідовностей із правильного списку проходить частка 1/16 для 12 слів і 1/256 для 24 слів. Ці числа описують усі можливі послідовності відповідної довжини. Вони не говорять, наскільки надійно виявиться саме ваша описка чи перестановка слів. Тому зелене підтвердження не доводить, що резервну копію переписано точно. [1]

Уявіть резервну копію, опубліковану в посібнику. Її контрольна сума може бути цілком правильною, але використовувати її для власних грошей небезпечно. Перевіряльник лише перетворює слова на біти за правильним списком, відокремлює початкові дані й порівнює контрольні біти з їхнім SHA-256. Зловмисник здатний зробити те саме. Перевірка не визначає, хто створив слова та хто їх знає. Вона не засвідчує походження й не дає загального способу виправити помилкову копію. [1]

Якщо ви використовуєте BIP39 passphrase, тобто додатковий пароль, контрольна сума слів його взагалі не перевіряє. Окреме обчислення PBKDF2-HMAC-SHA512 перетворює фразу й passphrase на 512-бітовий seed, таємну основу для виведення ключів. Тому описка в passphrase може привести до іншого гаманця, хоча слова пройшли перевірку. Збережіть їхній точний запис, порядок і потрібну passphrase. Не перекладайте слова до іншого списку: це змінить seed. [1]

Невідомий сайт може обіцяти швидку перевірку, але самого введення слів достатньо, щоб передати їх йому. Правильний результат не доводить, що застосунок не зберіг або не вкрав слова. Для відновлення користуйтеся надійною процедурою свого гаманця. Програми слід тестувати публічними тестовими векторами — відомими входами з очікуваними результатами, а не вашою таємною копією. Ці публічні приклади ніколи не можна використовувати як гаманці для справжніх коштів. [1]

Для повної картини прочитайте також BIP 39, Seed Generation, BIP39 passphrase, Cryptographic Entropy. На цю статтю також посилаються BIP 39, BIP39 passphrase, COLDCARD RNG Incident (2026), SeedQR.

DOC · 001BIP39 — Mnemonic generation and seed conversionСпецифікація
Переглянуто: Спочатку джерела · Не інвестиційна порада