32 / 736COLD

Cold Storage

Зберігання ключів поза звичайним комп’ютером онлайн

Bitcoin не зберігається в сейфі чи на USB-накопичувачі. Мережа фіксує монети; ми захищаємо ключі, які дозволяють їх витратити. Cold Storage відокремлює ці ключі від звичайного комп’ютера, підключеного до інтернету. Для тривалого захисту потрібні також безпечна резервна копія та перевірене відновлення.

Cold Storage означає тримати приватні ключі до біткоїнів окремо від звичайного комп’ютера чи телефона, підключеного до інтернету. Ключі створюють підписи — дозволи на платіж, які можна перевірити. Стежити за балансом онлайн і отримувати гроші можна навіть із вимкненим пристроєм підписання. Для надсилання потрібен його підпис або безпечно відновлені ключі. Розділення обмежує віддалені атаки, але не замінює копій і перевірки платежу.

Аліса хоче зберігати біткоїн надовго, але ноутбук використовує також для роботи, пошти й завантаження файлів. Вона не хоче, щоб злам ноутбука одразу віддав нападнику ключі до її заощаджень. Тому створює їх і залишає в окремому надійному пристрої. У застосунок на ноутбуці переносить лише публічні дані для спостереження за гаманцем. Коли Аліса надсилає біткоїн зі свого попереднього гаманця на заздалегідь перевірену адресу отримання, пристрій підписання може залишатися вимкненим. Мережа записує платіж, а застосунок показує його підтвердження; файл із грошима на пристрій не завантажується. Через місяць Аліса хоче переказати частину коштів. Ноутбук готує пропозицію: кому, скільки та з якою комісією. Аліса передає її пристрою підписання, перевіряє дані на його екрані й лише тоді підтверджує. Пристрій створює цифровий підпис, що доводить право на витрачання, не розкриваючи приватних ключів. Підписана транзакція повертається в онлайн-застосунок, який надсилає її в мережу. Саме цей розподіл роботи становить суть Cold Storage. Сама назва нічого не говорить про якість пристрою, правильність показаної адреси чи здатність Аліси відновити гаманець після поломки. [7] [11]

Від звичайного комп’ютера онлайн відокремлюють ключі, а не біткоїни. Кожен UTXO, тобто ще не витрачений вихід попереднього платежу, залишається записаним у публічному блокчейні. Від’єднати вже заражений ноутбук недостатньо; металева пластина зі словами — резервна копія, а не пристрій підписання. Плануйте захист від крадіжки, пожежі, поломки та наслідків смерті власника. Тому Glacier Protocol розділяє підготовку, внесення, виведення, перегляд і обслуговування. [9] [10]

Слова резервної копії називаються Seed Phrase. Необов’язкова passphrase — додатковий обраний вами секрет для виведення гаманця, а не PIN пристрою. Multisig, своєю чергою, вимагає підписів кількох ключів. Створіть ключі на надійному пристрої та запишіть формат копії, використовувану passphrase і конфігурацію гаманця. BIP129 описує двоетапне налаштування Multisig із перевіркою ключів і спільної конфігурації. Порівняйте адресу отримання на пристрої підписання, а не лише на комп’ютері. Почніть із малого переказу й перевірте отримання, витрачання та відновлення. Саме отримання платежу не доводить, що відновлення працює. [5] [11]

Seed Phrase і використана passphrase дозволяють знову вивести ключі; для пошуку правильного гаманця можуть знадобитися інші дані. Інша passphrase веде до іншого гаманця й не замінює забуту. Частки резервної копії SLIP39 — не дублікати seed, тобто початкових секретних даних для виведення ключів: відновлення потребує визначеної кількості часток. Захищайте копію від крадіжки, фотографування та пошкоджень. Ніколи не вводьте справжню резервну копію на сайті чи звичайному комп’ютері онлайн. [13] [14]

Air gap прибирає пряме мережеве з’єднання, але дані далі надходять, наприклад через QR або microSD. Помилка програми, що читає отримані дані, шкідливе внутрішнє програмне забезпечення пристрою (прошивка) чи оманливий екран можуть загрожувати й такій схемі. Використовуйте перевірену прошивку, підтримувані формати й незалежну перевірку транзакції. Картка не очищує заражений комп’ютер, а QR не є автоматично безпечним. Дротова Hardware Wallet також може ізолювати ключі. Сам спосіб з’єднання безпеки не гарантує. [1] [7] [12]

Враховуйте злам помешкання, таємне копіювання, примус і відновлення спадкоємцями. Одна подія не повинна відкрити достатньо ключів для крадіжки чи знищити стільки матеріалів, що відновлення стане неможливим. Пломба може вказати на втручання, але не запобігає копіюванню. Прихований або відволікальний гаманець не гарантує захисту від примусу. Опишіть порядок дій і ролі без зайвого розкриття секретів. Подвійний контроль у компанії потребує іншої організації, ніж особисте зберігання. [9] [10] [13]

Перевіряйте стан копій, зрозумілість інструкцій і сумісність без зайвого розкриття seed. Безпечний тест має знайти правильні UTXO з отриманих платежів і з решти, що повертається у власний гаманець та створити дійсний підпис; самого прийняття списку слів недостатньо. Використовуйте надійний пристрій. Перед зміною пристроїв чи правил гаманця випробуйте весь шлях малою сумою. За підозри на витік створіть нові незалежні ключі та безпечно переказуйте кошти. Старі матеріали зберігайте, доки нову схему не перевірено. [7] [9] [10]

Скрипт задає умови витрачання біткоїнів. Розширений публічний ключ xpub дозволяє виводити наступні публічні ключі у відповідній гілці гаманця. Щоб отримати з них адреси, потрібно також знати тип скрипту, який визначає умови витрачання. Сам xpub не дозволяє підписувати платежі. Онлайн-координатор — застосунок із публічними даними гаманця. Він знаходить UTXO, виводить адреси й формує непідписану транзакцію; приватні ключі тримає пристрій підписання. Output Descriptor описує скрипти та походження ключів, а контрольна сума допомагає виявляти помилки копіювання. Публічного дескриптора чи xpub зазвичай недостатньо для витрачання, але вони можуть розкрити адреси й баланси. Скомпрометований координатор також здатний підмінити одержувача. [4] [8] [15]

PSBT за BIP174 передає непідписану транзакцію разом із потрібними для підпису даними. Дані згруповано в мапи — списки позначень і відповідних значень: для всієї транзакції та окремо для кожного входу й виходу. Файл починається байтами 0x70 0x73 0x62 0x74 0xff. Координатор готує дані, пристрій додає підпис; після об’єднання підписів і фіналізації готову транзакцію можна передати в мережу. Офлайн-пристрою не потрібна власна база UTXO. BIP370 описує PSBT v2, BIP371 додає поля Taproot. Сумісність перевірте заздалегідь. [1] [2] [3] [6] [7]

Перед підтвердженням перевірте на надійному екрані одержувача, суму, комісію або її ставку та виходи, що повертають решту у ваш гаманець, тобто change. Зверніть увагу й на показані входи та режим sighash, який визначає, які частини транзакції охоплює підпис. BIP174 вимагає перевіряти, що запропонована решта належить очікуваному гаманцю; позначки від комп’ютера недостатньо. Для значного платежу підтвердьте адресу іншим незалежним, автентифікованим каналом, за потреби залучивши другу людину. [1] [11] [12]

У схемі m-of-n для підпису потрібні m із n ключів. Втрату можна пережити, якщо лишається щонайменше m доступних ключів. Натомість нападнику для самостійного витрачання треба здобути щонайменше m. Не плутайте ці межі. Самих seed може бракувати для відновлення гаманця: збережіть дескриптор або конфігурацію Bitcoin Secure Multisig Setup (BSMS), включно з xpub, порядком ключів, шляхами виведення (послідовністю кроків для обчислення кожного ключа) й типом скрипту. Складніша схема корисна лише тоді, коли ви здатні нею керувати та її відновити. [4] [5] [8]

Для повної картини прочитайте також Hardware Wallet, Самостійне зберігання, Air-gapped Wallet, PSBT, Seed Phrase, BIP 39. На цю статтю також посилаються Hardware Wallet, Watch-only Wallet, PSBT, Custodial Exchange.

DOC · 001BIP 174 — Partially Signed Bitcoin Transaction FormatСпецифікація DOC · 002BIP 370 — PSBT Version 2Специфікація DOC · 003BIP 371 — Taproot Fields for PSBTСпецифікація DOC · 004BIP 380 — Output Script DescriptorsСпецифікація DOC · 005BIP 129 — Bitcoin Secure Multisig SetupСпецифікація DOC · 006Bitcoin Core — PSBT HowtoДокументація DOC · 007Bitcoin Core — Offline Signing TutorialДокументація DOC · 008Bitcoin Core — Output DescriptorsДокументація DOC · 009Glacier Protocol — About GlacierДокументація DOC · 010Glacier Protocol — Protocol StructureДокументація DOC · 011COLDCARD — Address ExplorerДокументація DOC · 012COLDCARD — QR Scanner and PSBT SigningДокументація DOC · 013Trezor — Wallet BackupsДокументація DOC · 014Trezor — Shamir BackupДокументація DOC · 015Bitcoin Optech — Output Script DescriptorsДокументація
Переглянуто: Спочатку джерела · Не інвестиційна порада