Що таке помилка контрольної суми? Посібник з виявлення криптовалют
Помилка контрольної суми означає, що дані не пройшли математичний тест. У криптовалюті цей тест набагато слабший, ніж вважає більшість користувачів. EIP-55 Ethereum виявляє приблизно одну друкарську помилку з чотирьох тисяч. Base58Check Bitcoin приблизно в тисячу разів сильніший. Bech32 ще сильніший. Однак жодна з цих контрольних сум не захищає гаманець від атаки, яка фактично висмоктала 713 мільйонів доларів з особистих гаманців у 2025 році, оскільки шкідлива адреса, що знаходиться в буфері обміну або в історії транзакцій, сама по собі є дійсним рядком, що передає контрольну суму. Ось що таке помилка контрольної суми, чому криптогаманці показують її, і чому чистий прохід не є доказом безпеки.
Коротка відповідь на питання про помилки контрольної суми в криптовалюті
Помилка контрольної суми повідомляє користувачеві, що адреса, файл або початкова фраза не відповідають вбудованому тесту цілісності. Гаманець, біржа або інсталятор відмовляються діяти через перекручений біт, неправильно введений символ або підроблені дані. У криптовалюті помилка виявляє друкарські помилки та випадкове пошкодження. Вона не виявляє ідеально введену адресу, якою контролює зловмисник. Найбільша задокументована втрата гаманця у 2025 році, 50 мільйонів доларів у USDT у грудні, сталася через те, що жертва скопіювала адресу з ідеально дійсною контрольною сумою, і адреса просто належала шахраю.
Що насправді є контрольною сумою (і чим вона не є)
Уявіть собі контрольну суму як крихітну квитанцію для набагато більшого пакета, блок даних, хешований до кількох байтів за допомогою відомого обчислення. Відправник додає оригінальну контрольну суму. Отримувач виконує те саме обчислення, отримує нову контрольну суму та порівнює. Збіг означає, що цілісність даних збережена. Невідповідність означає пошкодження даних десь: перевернутий біт в оперативній пам'яті, передчасне переривання завантаження, неправильно введений символ. Невідповідність - це те, що гаманці та інсталятори позначають як помилку контрольної суми. Обчислені значення контрольної суми не збігалися з очікуваним значенням, доданим до оригінальних даних (збережене значення, опубліковане відправником). Жодних помилок даних не було виявлено, оскільки було запущено базові перевірки виявлення помилок та цілісності.
Механічно, класичні контрольні суми є арифметичними, а не криптографічними. Найпростіший варіант розбиває дані на слова та виконує додавання доповнень (трюк "доповнення до 1", який використовується у шанованій контрольній сумі TCP/IP для Інтернету з 1988 року). Трохи складнішими є поздовжня парність, алгоритм Флетчера та CRC (циклічні перевірки надмірності), всі вони близькі родичі один одного. Циклічна перевірка надмірності є швидкою та добре підходить для помилок передачі. Для сучасної цілісності файлів домінуючим вибором є Adler-32 (швидка, без криптографії) або MD5 або SHA (повільніша, набагато надійніша). Програмні інструменти, такі як `sha256sum`, `md5sum` та HashCheck, - це те, як більшість користувачів фактично виконують перевірку.
Ось межа. Контрольна сума може довести, що дані не були випадково пошкоджені або підроблені на рівні байтів. Нічого більше. Вона не може довести, хто створив дані. SHA-256, криптографічний хеш, набагато сильніший за CRC. Він все ще не доводить авторство; для цього видавець підписує хеш закритим ключем. Користувачі криптовалют постійно плутають ці два поняття. «Адреса пройшла перевірку контрольної суми» — це не те саме, що «адреса належить потрібній людині». Будь-хто може згенерувати дійсну адресу Ethereum або Bitcoin. Тільки власник закритого ключа контролює кошти. Перевірка контрольної суми підтверджує, що адреса правильно сформована. На чий гаманець вона вказує? Це інше питання з іншою відповіддю.

Як працюють алгоритми криптографічної контрольної суми: EIP-55, Base58Check, Bech32
Три реальні схеми домінують у роздрібній криптовалюті, і кожна з них була розроблена з різним пріоритетом.
EIP-55 — це контрольна сума Ethereum зі змішаним регістром. Віталік Бутерін та Алекс Ван де Санде запропонували її 14 січня 2016 року. Вона працює шляхом написання адреси з нижнього регістру, хешування рядка з нижнього регістру за допомогою Keccak-256, а потім повторного написання шістнадцяткових літер (A–F) з великої літери відповідно до бітів цього хешу. Тільки 15 шістнадцяткових літер у типовій адресі можуть мати зворотний регістр, що дає схемі приблизно 15 ефективних контрольних бітів. EIP-1191, запропонований у березні 2018 року, розширює EIP-55 ідентифікатором ланцюга, щоб контрольна сума адреси в Ethereum та у форк-ланцюзі, такому як Rootstock, не конфліктувала.
Base58Check — це застаріла схема Bitcoin. Вона додає 4-байтову контрольну суму до кінця закодованої адреси, обчислену як перші 4 байти подвійного SHA-256 байта версії плюс корисне навантаження. Префікс "1" в адресі P2PKH відповідає байту версії 0x00; префікс "3" в адресі P2SH відповідає 0x05. Сам алфавіт Base58 пропускає візуально заплутані 0, O, I та l. Реалізація логіки контрольної суми для Base58Check — це один виклик SHA-256, за яким слідує 4-байтове порівняння.
Bech32 (BIP-173) – це схема адресації SegWit від Пітера Вуйле та Грега Максвелла, датована 2017 роком. Її 6-символьний код BCH гарантує виявлення кожної помилки, що стосується до чотирьох символів, і утримує рівень невиявлених помилок нижче одного на мільярд для довших пошкоджень. Незначне відкриття 2020 року (що вставка або видалення 'q' перед кінцевою 'p' може зберегти контрольну суму) спонукало до появи BIP-350 Bech32m, яку зараз використовує Taproot (версія 1 для свідчень).
| Схема | Рік | Приклад адреси | Перевірте розмір | Типове виявлення друкарських помилок |
|---|---|---|---|---|
| EIP-55 / EIP-1191 | 2016 / 2018 | `0xAbCd...EfGh` | ~15 біт | ~99,97% (1 з 4000 промахів) |
| Base58Check (P2PKH) | 2009 рік | `1A1zP1...` | 32 біти | ~99,99999998% |
| Base58Check (P2SH) | 2012 рік | `3J98t1...` | 32 біти | ~99,99999998% |
| Bech32 (SegWit версії 0) | 2017 рік | `bc1q...` | ~30 біт | ≥99,999999999% для 4-символьних помилок |
| Bech32m (Стрічковий корінь) | 2020 рік | `bc1p...` | ~30 біт | те саме, виправляє вставку qp |
Таблиця — це найважливіша пара чисел у статті. Ставтеся до них як до бюджету дизайну, а не до гарантій безпеки.
Чому в EIP-55 виявляється лише одна друкарська помилка з 4000
У специфікації EIP-55 чітко зазначено рівень збоїв: ймовірність того, що випадкова друкарська помилка в адресі Ethereum пройде контрольну суму, становить 0,0247 відсотка, або приблизно один випадок до 4049. Це не помилка. Це те, що вам дають 15 ефективних контрольних бітів. Схема була модернізованою у 2016 році, розробленою для зворотної сумісності з існуючим 40-символьним шістнадцятковим форматом адреси. Сумісність: вартість виявлення.
Для практичних операцій з гаманцями цього зазвичай достатньо. Користувач, який вводить або вставляє адресу один раз, з великою ймовірністю буде спійманий, якщо помилиться. Користувач, який вставляє ту саму заражену адресу десять разів поспіль, щоразу проходитиме перевірку контрольної суми, оскільки адреса дійсна. Тисячократна різниця з Base58Check Bitcoin та подальший крок до Bech32 є причиною, чому серйозний UX гаманців розглядає перевірку адреси Ethereum як відповідальність користувача, а не протоколу.
Помилки контрольної суми поза криптографією: WinRAR, BIOS, прошивка, жорсткий диск
Більшість людей, які вводять у Google «помилка контрольної суми», не є криптокористувачами. Вони дивляться на WinRAR, або завислий екран завантаження ПК, або нервовий NAS. Той самий словник. Зовсім різні ставки.
WinRAR — це класичний варіант. Ви завантажуєте файл .rar, розпаковуєте його, і отримуєте спливаюче вікно про невідповідність CRC. Архів пошкоджений. Зазвичай причина банальна: перерване завантаження, нестабільна передача Wi-Fi, пошкоджений сектор на диску, іноді шкідливе програмне забезпечення, яке торкнулося файлу під час запуску. Завантажте архів повторно з джерела. Запустіть CHKDSK. Якщо вам абсолютно необхідно врятувати те, що там є, опція WinRAR «зберегти пошкоджені файли» витягне часткову копію вмісту.
Помилка контрольної суми BIOS або CMOS під час завантаження ПК майже завжди пов'язана з розрядженою батарейкою CR2032 на материнській платі. Іноді невдале оновлення прошивки призводило до пошкодження NVRAM. Іноді користувач висмикував планку оперативної пам'яті, і збережений апаратний відбиток більше не збігається. Замініть батарейку. Завантажте налаштування за замовчуванням. Комп'ютер завантажується.
ZFS та Btrfs викликають помилки контрольної суми, коли жорсткий диск повертає блок, який не відповідає збереженому хешу. Ці помилки буквально є метою розробки: тихий бітовий ротор нарешті виходить на поверхню.
Помилка, яка має налякати користувача криптовалюти, — це помилка контрольної суми прошивки на апаратному гаманці. Завантажувач Trezor повторно перевіряє підпис прошивки під час кожного завантаження. Елемент безпеки Ledger робить те саме. «Недійсний підпис» або «Невідома помилка (0x6984)» Ledger під час встановлення — це пристрій, який голосно повідомляє вам, що прошивка, яку він бачить, не відповідає тому, що очікує його кореневий ключ. Зупиніться. Відключіться. Завантажте ще раз з URL-адреси постачальника, яку ви можете прочитати напам'ять. Будь-хто, хто пройде повз це попередження, щойно пройшов крізь парадні двері атаки на ланцюг поставок.
Коли помилка контрольної суми означає втручання, а коли ні
Важливе розуміння цієї статті. Контрольні суми добре виявляють випадкові пошкодження. Вони нічого не роблять проти зловмисника, який навмисно обрав дійсну адресу.
Згідно зі звітом Chainalysis про криптозлочини 2026, загальний обсяг крадіжки криптовалюти у 2025 році оцінюється в 3,4 мільярда доларів, з яких 1,5 мільярда доларів – внаслідок єдиного зламу Bybit. Особисті гаманці втратили 713 мільйонів доларів приблизно через 80 000 жертв у приблизно 158 000 інцидентів. Майже жодна з цих втрат не була пов'язана з недійсними контрольними сумами, спричиненими друкарськими помилками, оскільки біржі та гаманці відкидають їх у полі введення. Вони сталися внаслідок двох атак, які не можуть зупинити дійсні контрольні суми.
Перший – це отруєння адрес. Зловмисник надсилає крихітну транзакцію типу «пил» зі щойно згенерованої адреси, розробленої для спільного використання перших та останніх кількох символів адреси, з якою часто стикається жертва. Наступного разу, коли жертва копіює адресу з історії транзакцій, підроблена адреса опиняється на вершині списку. Адреса має абсолютно коректну контрольну суму. Гаманець відображається зеленим кольором. Кошти надходять зловмиснику. Дані Chainalysis, цитовані Карнегі-Меллоном, показують, що кількість спроб отруєння адрес у 2025 році становила 270 мільйонів, спрямованих на 17 мільйонів потенційних жертв. Інцидент 20 грудня 2025 року, в якому трейдер втратив 50 мільйонів доларів у USDT, стався приблизно через 26 хвилин після того, як жертва відправила невелику тестову транзакцію; тест не врятував їх, оскільки отруєна адреса вже була додана в історію.
Друга – це викрадачі буфера обміну. Шкідливе програмне забезпечення, таке як кампанія GitVenom, задокументована Касперським, непомітно замінює будь-яку криптоадресу, скопійовану в буфер обміну, на адресу, контрольовану зловмисником. Орієнтовні збитки лише від GitVenom наприкінці 2024 року серед жертв у Бразилії, Туреччині та Росії сягнули приблизно 485 000 доларів. Знову ж таки, підмінена адреса має дійсну контрольну суму. Гаманцю нема про що повідомляти. Критичні дані, пункт призначення великого переказу, прослизають повз рівень цілісності, оскільки вони ніколи не були змінені чи пошкоджені; їх було замінено чимось рівноцінним.
| Напад 2025 року | Механізм | Чи зупинила це контрольна сума? |
|---|---|---|
| Отруєння адрес ($50 млн. USDT, 20 грудня 2025 р.) | Підроблена адреса в історії транзакцій | Ні — підроблена адреса має дійсну контрольну суму EIP-55 |
| Викрадачі буфера обміну (GitVenom, ~$485 тис.) | Шкідливе програмне забезпечення підміняє скопійовану адресу | Ні — замінена адреса дійсна |
| Шахрайство з ботами MEV на тему ChatGPT (>30 ETH, >100 жертв) | Рекомендований ШІ контракт виснажує гаманець | Ні — контрольна сума не має жодних даних для перевірки наміру контракту |
| Шахрайство за допомогою штучного інтелекту загалом | У 4,5 рази вигідніше, ніж традиційні схеми | Ні — спирається на соціальну інженерію, а не на виправлення друкарських помилок |
Зелена контрольна сума означає, що адреса сформована правильно. Це не означає, що вона ваша. Ця відмінність — найважливіша річ, яку користувач криптовалюти може винести з цієї статті.
Початкова фраза BIP-39: чому дійсні слова все ще не проходять контрольну суму
Начальні фрази BIP-39 також мають контрольну суму, і це дивує людей під час відновлення. Схема кодує останні кілька бітів SHA-256 через ентропію гаманця в останнє слово фрази. Начальний код з 12 слів містить лише 4 біти контрольної суми. Начальний код з 24 слів містить 8. Для 12 слів це означає, що лише приблизно одне випадкове останнє слово з шістнадцяти пройде перевірку. «Я впевнений, що мій начальний код правильний, але гаманець його відхиляє» — це переважно друкарська помилка на початку фрази або неправильне слово зі списку BIP-39 з 2048 слів.
Апаратна сторона суворіша. Trezor та Ledger повторно перевіряють підписи прошивки під час кожного завантаження за допомогою коду захищеного елемента, а не на хості. Невідповідність підписів розглядається як втручання, і прошивка відмовиться запускатися. Це правильна поведінка. Будь-хто, хто бачить помилку контрольної суми прошивки або підпису з апаратного гаманця, повинен розглядати це як тривогу, а не як збій.

Як перевірити та виправити помилку контрольної суми: найкращі практики
Контрольний список короткий. Він однаковий для більшості гаманців та бірж.
Адреса Ethereum. Скопіюйте з підтвердженого каналу контрагента (їхнього опублікованого профілю, а не особистого повідомлення Telegram). Вставте. Дозвольте гаманцю перевірити. Надішліть $1 як тестову транзакцію. Зачекайте на підтвердження. Потім надішліть повну суму. Kraken за замовчуванням зберігає кожну збережену адресу ETH у форматі EIP-55. Binance та Coinbase відхиляють недійсний контрольний ввід на етапі надсилання, перш ніж будь-яка трансляція потрапить до ланцюжка. MetaMask за замовчуванням використовує EIP-55 та показує попередження про адреси, відредаговані вручну; історично він також приймав лише малі літери, на що роками скаржилися кілька відкритих проблем GitHub.
Адреса біткойна. Віддавайте перевагу формату Bech32 (`bc1...`) над застарілими форматами `1...` та `3...`, якщо контрагент його підтримує. Сила виявлення помилок значно вища, а формат адреси важче неправильно прочитати.
Завантаження файлу. Бінарний файл гаманця, образ прошивки апаратного гаманця, ISO-файл Linux. Обчисліть хеш SHA-256 локально. Порівняйте зі значенням, підписаним видавцем, а не з копією, надрукованою поруч із посиланням для завантаження. Посередник, який контролює сторінку завантаження, може поміняти місцями обидва файли. Зберігайте резервну копію будь-якого перевіреного файлу, на який ви фактично покладаєтесь. Виявлення помилок пізніше набагато легше, коли свідомо справна копія знаходиться на USB-накопичувачі або паперовому роздруківці.
Помилка контрольної суми або підпису прошивки апаратного гаманця. Не обходьте цю функцію. Завантажте ще раз з задокументованої URL-адреси постачальника. Спробуйте інший кабель. Спробуйте інший USB-порт. Перезавантажте Ledger Live або Trezor Suite. Якщо помилка не зникає, напишіть у службу підтримки постачальника. Зловмисники часто шукають "виправити Ledger 0x6984" на сторонніх форумах.
Одне речення, яке слід запам'ятати. Перевірка контрольної суми доводить, що дані не були випадково пошкоджені. Вона не доводить, що дані є саме тими, куди ви хотіли їх надіслати.