Чому я зупинився на гаманці Electrum

Чому я зупинився на гаманці Electrum

Гаманець Electrum дозволяє біткоїнерам взаємодіяти з протоколом таким чином, щоб не обмежувати користувачів і не жертвувати функціями заради зручнішого інтерфейсу.

Протягом багатьох років я мав справу з різними біткоїн-гаманцями та навчав багатьох людей надійного зберігання своїх закритих ключів. Я зупинився на «Electrum Desktop Wallet» як на моєму улюбленому та найуніверсальнішому програмному гаманці.

У цьому есе я розповім про деякі особливості Electrum. Що мені у ньому подобається і не подобається. Це не докладний посібник про те, як ним користуватися та отримати максимальну віддачу. Я також не буду вдаватися в подробиці, чому ви повинні мати власні Біткоїн-ключі; передбачається, що ви це знаєте, але якщо вам потрібно знати, чому це важливо, ознайомтеся з «Шість причин для виведення біткоїнів з бірж».

Я випробував на собі особливості Electrum і розробив рішення для їх подолання – за умови правильного використання це найпотужніший гаманець, з яким я стикався.

Electrum призначений для людини, яка є або прагне стати досвідченим користувачем. Оскільки він дозволяє так багато контролю, і через моє знайомство з програмним забезпеченням, я вирішив навчити цьому гаманцю більшість студентів в рамках мого курсу наставництва з конфіденційності/безпеки Біткоїна (хоча деяким людям потрібно щось простіше). Досвід навчання його використанню, безумовно, допоміг мені зрозуміти, що люди вважають інтуїтивно зрозумілим, а що складним.

Для нового біткоїнера, який працює наодинці, Electrum буде абсолютно безпечним у використанні, за умови, що він не поспішає і спочатку використовує його в тестовому середовищі з невеликою кількістю сатоші.

Операційна система

Electrum можна встановити на ПК з Windows, Mac або Linux, а також, що важливо для деяких, комп'ютери з чіпами ARM (наприклад, Raspberry Pi).

Його також можна встановити на телефон, але функціонал мобільної версії слабкий, а підключення до вузлів нестабільне, тому я не рекомендую цю версію. BlueWallet – гарна альтернатива гаманця для телефону.

Завантаження та перевірка

Програма завантаження та встановлення проста для Windows і Mac і трохи складна для користувачів Linux, особливо для тих, хто все ще навчається використовувати цю операційну систему.

Для тих, хто тільки тестує програму, достатньо просто завантажити і використовувати її без перевірки програмного забезпечення – я б просто не став робити цього для великих сум або якщо конфіденційність викликає серйозну занепокоєність (наприклад, якщо у вас є біткоїни без KYC, вам потрібно дотримуватись правил конфіденційності, щоб монети не можна було ідентифікувати).

Якщо ви дійсно збираєтеся використовувати цей гаманець для отримання значної суми, ви повинні навчитися перевіряти програмне забезпечення за допомогою gpg. Ви можете розвивати свої навички тут – поки очікуєте мій посібник із безпечного/конфіденційного використання Electrum.

Середовище

Одна з проблем з Electrum полягає в тому, що якщо ви запустите програму інтуїтивно зрозумілим способом (тобто просто двічі клацнувши значок), а не через командний рядок (з певними прапорцями), ви майже напевно під'єднаєтеся до випадкового вузла Біткоїна. Він розкриє ваш гаманець і всі його потенційні 8,6 мільярда адрес власнику випадкового вузла – власником може бути компанія, яка займається спостереженням, і ваша конфіденційність зникне (вони отримають усі ваші використані та невикористовувані адреси, а також вашу IP-адресу).

Щоб уникнути цього, я навчу вас як спочатку завантажити одноразовий гаманець, оптимізувати налаштування вашої мережі (під'єднатися до вашого власного вузла або до того, якому ви довіряєте), і тільки потім завантажити свій справжній гаманець в Electrum.

Деякі люди можуть не розуміти, що я маю на увазі під налаштуваннями мережі або вузлами. Ви можете дізнатися більше про це тут, якщо ви хочете, щоб перейти до дуже важливого дотичного.

Ваші адреси зручно відображаються в гаманці Electrum, хоча вам потрібно перейти в меню та вибрати «показати адреси», щоб їх побачити. Потім ви побачите список ваших перших 20 адрес одержувача, виділених зеленим кольором (у вас їх 4,6 мільярда, але, очевидно, що не всі показані), і список перших 10 адрес одержувача, виділених жовтим кольором (знову ж, у вас є 4,6 мільярда адрес цього типу).

Багато інших програмних гаманців не показують вам список адрес і надають адресу тільки при запиті на посилання монет у гаманець. Це приховує інформацію від користувача, щоб все було просто, але користувач, як правило, залишається у невіданні, оскільки можливість вчитися не надається. Я зустрічав багатьох людей, які використовують Ledger Live, пакет Trezor або Blue Wallet на своїх телефонах і не розуміють, що мають необмежену кількість адрес, не кажучи вже про те, що називається «змінити» адреси.

Electrum також показує список всіх ваших UTXO (але ви повинні вибрати «показати монети», щоб побачити це).

Electrum сервер необхідний

Electrum Wallet не може безпосередньо під'єднатися до вузла Bitcoin Core. Це дратує, але так Electrum працює швидше. Набагато швидше. Вам, як і раніше, потрібен Bitcoin Core, але вам також знадобиться програмне забезпечення під назвою Electrum Server (є різні різновиди, кожне зі своїми перевагами та недоліками, які я не розглядатиму тут). Для деяких людей установка Bitcoin Core є досить складною. Установка Electrum Server набагато складніша, вам дійсно потрібно бути досить технічним фахівцем.

Для простоти та позитивного підкріплення я рекомендую людям встановити пакет вузлів, такий як MyNode (див. мій гайд) або Raspiblitz (див. мій гайд), перш ніж переходити до встановлення вузла та пов'язаного з ним програмного забезпечення на звичайний ПК.

У цих пакетів є деякі недоліки, але вони чудові для початку, тому що за допомогою одного процесу встановлення на Raspberry Pi 4 ви отримуєте безліч додатків (таких, як Electrum Server, Lightning, BTCPay Server, Mempool Viewer, які інакше вам довелося б встановлювати один за одним і перевіряти), а вартість всього обладнання складає лише близько 300 доларів (програмне забезпечення безплатне). У міру того, як ваші навички та інтерес будуть зростати, я рекомендую людям вивчити більш просунуті налаштування вузлів (жоден з них не буде дорогим). Якщо вам цікаво, навіщо взагалі запускати вузол, ось шість вагомих причин.

Створення гаманця

Я думаю, що корисно визначити два типи гаманців, перш ніж йти далі:

1. Програмний гаманець – це програма, яка керує вашими закритими ключами та адресами Біткоїна. Наприклад, Electrum, Sparrow, Blue Wallet.

2. Біткоїн-гаманець – під цим я маю на увазі набір унікальних адрес, створених детерміністично (і відтворено) з вашої мнемонічної сід-фрази (зазвичай 12 або 24 слова) – кожна сід-фраза має 8,6 мільярда унікальних адрес, до яких вона може отримати доступ/створити їх.

Electrum за замовчуванням створює нестандартні гаманці, що дуже дратує. Найбільш поширений протокол називається BIP39 (Пропозиція щодо поліпшення біткоїнів 39), і його використовуватимуть майже всі гаманці.

Це означає, що 12 або 24 слова, створені вашим гаманцем BIP39, будуть сумісні з іншими гаманцями BIP39, так що якщо ви втратите свій програмний (або апаратний) гаманець, ви зможете повернути його, ввівши сід-слова в будь-який сумісний гаманець BIP39 – це не обов'язково має бути той самий бренд.

Однак розробник Electrum має свої плани, і він вважає галузевий стандарт небезпечним (у нього обурливо нереалістичні побоювання з приводу BIP39). Замість BIP39 Electrum створює гаманці на основі власного протоколу, який за умовчанням не використовує жодного іншого гаманця. На жаль, якщо ви створите сід-фразу Electrum, ви зможете використовувати цю сід-фразу тільки з Electrum.

Electrum дозволить вам відновити в ньому гаманець BIP39, але ви повинні знати, як це зробити. Однак він не створить вам гаманець BIP39. Але є способи оминути це.

Ви також можете просто завантажити одну адресу в Electrum, щоб спостерігати за його балансом – він навіть не обов'язково повинен бути вашим (хоча, не думайте про те, щоб витратити баланс, це неможливо, якщо ви не завантажите закритий ключ, і тоді адреса буде ваша).

При створенні або відновленні біткоїн-гаманця за допомогою Electrum ви можете вибрати тип адреси:

  • Legacy – ці адреси починаються з 1 – вихідні біткоїн-адреси.
  • Pay-to-Script-Hash – всі ці адреси починаються з «3».
  • Segwit. З 2017 року, після софт-форка Segwit, ви можете створювати платний хеш-ключ-свідка (також званий Native Segwit або Bech32). Саме вони зараз використовуються найчастіше. Всі вони починаються з bc1q.
  • Taproot. Це нове рішення, і воно ще не підтримується Electrum. Taproot був софтфорком у 2021 році. Адреси починаються з «bc1p».

Перші три перелічені типи адрес мають розширені відкриті ключі, які трохи відрізняються один від одного. Вони починаються з xPub, yPub та zPub відповідно. Я вважаю, що taproot це tPub, але я все ще вивчаю його. Додаткові освітні матеріали про відкриті та закриті ключі Біткоїна ви можете прочитати тут.

Labels

Ця функція не є унікальною, але дуже важливою, якщо ви хочете зберегти конфіденційність шляхом хорошого контролю над монетами. Позначаючи свої UTXO, ви знатимете, які з них ви, можливо, не хочете витрачати разом з іншими. Наприклад, якщо у вас є монета без KYC або змішана монета, і ви вибираєте її разом з монетою KYC і відправляєте кудись об'єднану суму, то приватна монета може бути ідентифікована як така, що належить тому, хто володіє монетою KYC (оскільки хтось мав можливість витратити і те, й інше разом). Не роби цього. Мітки можна зберегти у файл, щоб їх можна було завантажити на інший комп'ютер, якщо у вас є дублікати гаманців.

Вибір монет

Вибір монет – чудова функція. Ви можете перейти до своїх адресних віконець та вибрати монету, яку хочете витратити, або згрупувати кілька з них для витрати. Якщо ви не виберете, яку монету хочете витратити, як і будь-яке інше програмне забезпечення, Electrum вибере «найкращу» монету для вас, але програмне забезпечення не завжди знає, що краще. Не знає, які монети не поєднувати, де пилові атаки, а які вже змішані. Ви знаєте це, тому що ви позначили їх і ви можете вирішити, як ними розпоряджатися.

Надсилання/отримання

Процес відправлення біткоїн-платежів дуже добре налаштовується. Ви можете зробити його простим, але є також розширена кнопка, яку я рекомендую людям завжди використовувати – принаймні ознайомтеся. Тут ви можете побачити важливі елементи біткоїн-транзакції – входи (з ідентифікаторами та адресами Tx), виходи, чи знайдені якісь перелічені адреси у вашому гаманці чи ні (за допомогою кольорового кодування), плату за майнінг та можливість налаштування, розмір транзакції (в байтах), чи є час блокування і чи включено replace-by-fee. Вам не потрібно відразу знати, що всі ці речі означають, але принаймні вони є, і в міру набуття досвіду ви знатимете, чому потрібно вчитися.

Для отримання ви можете перейти на вкладку отримання, де вам буде надано наступну адресу, що не використовується, яку ви можете скопіювати/вставити за необхідності або згенерувати QR-код. Крім того, ви можете перейти у вікно адреси та вибрати будь-яку адресу, яку ви бачите, щоб створити рахунок. Ви можете натиснути правою кнопкою миші, вибрати деталі, і ви побачите кнопку для створення QR-коду адреси, або ви можете просто скопіювати текст адреси.

Як тільки платіж буде відправлений на адресу і перебуватиме в мемпулі, Electrum покаже вам платіж, що знаходиться поряд з адресою, що зручно – вам не потрібно чекати, поки майнер намайнить монету, щоб ви могли знати, що платіж іде. Electrum також дозволяє витрачати таку непідтверджену монету.

Якщо відправник встановив дуже низьку комісію і підтвердження займає деякий час, ви можете прискорити платіж, витративши непідтверджену транзакцію на іншу вашу адресу. У цій другій (низхідній) транзакції ви можете додати високу комісію за майнінг. Щоб отримати комісію, майнер повинен буде включити першу транзакцію (неприбуткову) та створену вами наступну транзакцію (прибуткову). Чому? Тому що друга транзакція недійсна доти, доки не буде дійсна перша транзакція (оскільки ви не можете витратити монети, яких теоретично не існує). Цей метод називається «дитина платить за батька».

Інший метод, можливий з Electrum для прискорення платежів, називається RBF (replace by fee). Одержувач не може зробити, як описано вище з «дитина платить за батька». Натомість нетерплячий одержувач повинен попросити відправника виконати RBF. Відправник повторно відправить вихідний UTXO, який було «витрачено», але ще не видобуто в блокчейн. Цей UTXO можна помістити в альтернативну транзакцію (витрачаючи на ту ж адресу, що і перша транзакція, або на іншу) і з вищою комісією за майнінг. Яка з двох транзакцій буде здобута першою, буде дійсною, а інша стане недійсною.

До речі, RBF припускає можливість шахрайства. Якщо одержувач (продавець) приймає непідтверджену транзакцію як «отриманий платіж» і доставляє товар відправнику платежу, відправник має можливість виконати RBF-транзакцію до того, як початковий платіж буде добуто. Вони будуть використовувати свою власну адресу як одержувача платежу та додавати високу комісію. Коли це відбувається, вихідна транзакція стає недійсною, видаляється всіма вузлами з мемпулу, а баланс із гаманця продавця зникає. Ось чому ви помітите, що біржі біткоїнів, коли ви вносите біткоїни, будуть чекати на підтвердження в блокчейні, перш ніж кредитувати ваш рахунок.

Гаманці з мультипідписом

Electrum дуже добре управляє гаманцями з мультипідписом, і якийсь час я вважав, що це був єдиний програмний гаманець, який ви могли використати. У вас можуть бути співпідписувачі з гарячими ключами (програмні гаманці) або холодними ключами (підключення апаратних гаманців). Відкриті ключі з мультипідписом можна створювати по одному, у різні дні, у різних місцях на різних комп'ютерах (або апаратних гаманцях) – їхнє поширення знижує ризик єдиної точки відмови/атаки. Наскільки серйозно ви поставитеся до запобіжних заходів, залежить від вас.

Додаткові відомості про мультипідписні гаманці та ключі можна знайти тут, і я опублікую посібник зі створення таких гаманців у майбутньому. Процес створення гаманця чудовий, але є деякі особливості, які стають неактуальними, як тільки ви про них дізнаєтесь.

Мені дуже подобається, як Electrum обробляє частково підписані біткоїн-транзакції (PSBT) – це важлива особливість гаманців з мультипідписом, про яку йтиметься далі.

PSBTS

Біткоїн-транзакція Electrum представлена просто набором тексту (який, як і всі комп'ютерні дані, є двійковими числами). У вас є можливість зберегти цей текст у файл, QR-код або буфер обміну (як текст, наприклад, для копіювання/вставки в електронний лист). Цей текст можна відправити будь-куди і як завгодно. Якщо вам так хочеться, ви можете витягти текст і відправити його електронною поштою, фізичним листом, абеткою Морзе, димовими сигналами, гравітаційними хвилями назад у часі через чорну дірку або інтерпретаційним танцем – це залежить від вас.

Electrum дає вам можливість отримати цей текст і зберегти його до того, як він буде підписаний, після того, як він буде підписаний, або в режимі мультипідпису, коли він частково підписаний.

Мультипідпис особливо цікавий. Якщо є, наприклад, троє тримачів ключів по всьому світу, ви можете підписати транзакцію на своєму комп'ютері, витягти частково підписану біткоїн-транзакцію, відправити її електронною поштою (або QR-код під час відеодзвінка) іншому учаснику за кордоном, вони можуть імпортувати її, підписати, а потім надіслати третій особі для підписання та передачі. Ні, це не унікально для Electrum, мені просто подобається, як Electrum із цим справляється. Проте робочий процес не дуже зрозумілий інтуїтивно та потребує практики.

Pay to Many (Payjoin та Coinjoin)

Існує прихована функція (пошук у меню), де ви можете вибрати кілька напрямків (кілька виходів) при витратах. Наприклад, ви можете взяти 6,15 біткоїна і відправити 0,01 біткоїна 615 різним співробітникам за одну транзакцію. Ця функція дозволяє вам створювати PayJoins вручну – те, що буде робити або навіть розуміти тільки меншість людей, але це круто.

Pay to Many також дозволяє створювати свої власні CoinJoins вручну. Для отримання додаткової інформації про те, що це таке і як це зробити, див. цей гайд.

Геп-ліміт

Важлива функція, яка є не у всіх гаманців – це можливість встановити ліміт гепа. Як я згадував раніше, кожен гаманець це набір з 8,6 мільярда адрес. Програмний гаманець повинен під'єднатися до вузла і запитати, чи пов'язана адреса з біткоїнами. Він не збирається перевіряти усі 8,6 мільярда з них. Electrum запитує перші 20 адрес. Якщо вони використовуються, то він запросить ще 20 тощо. Це триватиме доти, доки вузол повертає 20 адрес поспіль, які не використовуються.

Так можна пояснити, що стандартне обмеження дорівнює 20, але ви можете це змінити. Чому? Тому що іноді продавці дозволяють клієнтам самостійно створювати біткоїн-адреси через платіжну програму (наприклад, підказка, як моя сторінка пожертвувань). Якщо перші 20 клієнтів виставлять рахунки (кожен за однією адресою, що послідовно видається додатком), а потім 21-ий клієнт створить рахунок і оплатить його, гаманець Electrum залишиться порожнім. Це відбувається тому, що перші 20 адрес будуть опитані, визнані такими, що не використовуються, а потім Electrum припинить пошук. Electrum дозволяє вам змінити ліміт, наприклад до 500, але інструкцій немає, вам потрібно пошукати в інтернеті або прямо тут:

Спочатку зайдіть в меню: вид показати консоль, а потім набрати в консолі цю команду (зрозуміло, «500» можна поміняти на інше число):

wallet.change_gap_limit(500)

За допомогою цієї команди ви побачите 500 нових адрес в адресному віконці.

Перегляд гаманців

Це гаманці без закритих ключів, які необхідні для підключення апаратних гаманців. Більшість людей з апаратним гаманцем використовують програмне забезпечення на комп'ютері, яке поставляється з пристроєм, але зазвичай воно не має відкритого вихідного коду. Electrum – це альтернатива, яку можна використовувати із будь-яким апаратним пристроєм.

Комп'ютери з ізольованою мережею

Можна встановити Electrum на комп'ютер, який ніколи не може під'єднатися до інтернету (комп'ютер з ізольованою мережею). Цей комп'ютер можна використовувати для перевірки того, що сід-фраза, яка видається апаратним гаманцем, створила правильні адреси.

Наприклад, ви можете купити апаратний гаманець BitBox02, і він створить для вас сід-фразу з 24 слів і на її основі створить адреси (з пов'язаними закритими ключами, прихованими від перегляду). Залежно від рівня вашої параної (і кількості біткоїнів, які ви зберігаєте), ви можете не довіряти вбудованому програмному забезпеченню і спочатку припустити, що адреси, що створюються ним, належать генеральному директору.

Щоб перевірити справжність адрес, вам потрібно помістити сід-слова (відновити) в інший гаманець – наприклад, Electrum – та переконатися, що Electrum генерує ідентичні адреси. Це досить просто, але ви не можете просто ввести сід-фразу в будь-який старий комп'ютер із встановленим на ньому Electrum. Що ж, ви можете, але насправді не повинні цього робити – шкідливе програмне забезпечення потенційно може отримати інформацію про ваші натискання клавіш і вкрасти ваші біткоїни.

Одним із рішень є введення сід-фраз в Electrum на чистому та безпечному комп'ютері з ізоляцією від мережі (або апаратному гаманці іншої марки).

Найдешевший спосіб зробити це за допомогою Raspberry Pi Zero – раніше вони коштували близько 10 доларів до дефіциту, спричиненого пандемією. Чіп ARM на цих пристроях означає, що не всі програмні гаманці сумісні. Electrum сумісний і працює чудово.

Ось як зробити це самостійно. Це схоже на сід-підписи, але з повною функціональністю Electrum.

Підписати/перевірити повідомлення

Біткоїн-транзакція – це платіж, який містить монету, яка раніше була «заблокована» адресою. Щоб розблокувати монету (відповідно до правил Біткоїна) і мати можливість витратити її, використовуючи криптографію з відкритим/закритим ключем, потрібно довести, що ви володієте закритим ключем до адреси, яка міститься всередині. Це робиться за допомогою підпису (використовуючи закритий ключ, але не розкриваючи його).

Підписана транзакція як така є повідомленням; трохи комп'ютерних даних, хоч і за суворим протоколом.

Використовуючи криптографію з відкритим/закритим ключем, поза Біткоїном, ви можете фактично підписати БУДЬ-ЯКЕ повідомлення. Наприклад, ось повідомлення, яке я підписав після того, як вибрав адресу (і, отже, її закритий ключ). Нижче повідомлення, адреса та підпис (безглуздий текст), який з'явився після того, як я натиснув «підписати».

Чому я зупинився на гаманці Electrum

Тепер ви або будь-яка інша людина можете взяти адресу, повідомлення та підпис, помістити їх в Electrum (або інше програмне забезпечення) і переконатися, що це дійсно був правильний закритий ключ (відповідний адресі), який створив це повідомлення (насправді це той самий тип перевірки, який біткоїн-вузли роблять для будь-якої біткоїн-транзакції). Я відкрию інший гаманець, який не має відповідного закритого ключа, щоб продемонструвати перевірку. Я зайшов у вікно «Підтвердити повідомлення», потім ввів усі дані, як ви бачите вище, а потім натиснув Підтвердити:

Чому я зупинився на гаманці Electrum

Зашифрувати/розшифрувати повідомлення

Замість того, щоб підписувати повідомлення за допомогою криптографії з відкритим/закритим ключем, на виході може бути зашифрована версія повідомлення (тобто заплутана та нечитабельна) з використанням чужого відкритого ключа/адреси. Потім зашифровану версію можна надіслати будь-кому, хто має відповідний закритий ключ, тому що текст можна прочитати тільки тоді, коли закритий ключ використовується для зворотного процесу.

Чому я зупинився на гаманці Electrum

Наприклад, ви могли б отримати мій відкритий біткоїн-ключ, зашифрувати це повідомлення, як зазначено вище, відправити мені електронною поштою зашифрований текст (випадковий текст у нижньому полі), і, оскільки у мене є закритий ключ до відкритого ключа, я можу перетворити зашифроване повідомлення у вихідну форму та прочитати ваше помилкове повідомлення. Таким чином, ви можете надіслати мені текст незахищеним каналом зв'язку, і тільки я зможу його прочитати.

Це магія криптографії з відкритим/закритим ключем та один з основних компонентів, які зробили Біткоїн можливим. Ми всі повинні бути вдячні шифропанкам за те, що вони завзято боролися та перемогли уряд США, який намагався заборонити його у 1990-х роках.

Резюме

Це був довгий огляд Electrum Desktop Wallet. Сподіваюся, це пробудило у вас інтерес дізнатися, як його використовувати – я скоро опублікую гайд з цієї теми. Тим часом, можна попрактикуватися в дуже простих біткоїн-транзакціях за допомогою цієї вправи.

Це гостьовий пост Армана Пармана, Біткоїн-просвітителя, захопленого питаннями конфіденційності. Висловлені погляди є його власними і не обов’язково збігаються з точкою зору BTC Inc. або Bitcoin Magazine.

Біткоїн-освіта здатна змінити світ Біткоїн-освіта здатна змінити світ Менш ніж три роки тому Джон Деннехі, засновник Mi Primer Bitcoin, вирішив створити освітню програму з Біткоїна, щоб розширити можливості сальвадорців. Тепер ця платформа використовується не тільки для навчання десятків тисяч студентів у Сальвадорі, але і для дедалі більшої кількості учнів у всьому світі. Френк Корва 22 червня 2024
«Хороший біткоїнер»: продажність у ході передвиборчої кампанії «Хороший біткоїнер»: продажність у ході передвиборчої кампанії Біткоїнерам не слід бути ласими на передвиборчі обіцянки політиків. Більшість із них залишаються невиконаними після завершення виборів та початку каденції. L0la L33tz 22 червня 2024
Чи може Біткоїн бути продуктивним активом? Чи може Біткоїн бути продуктивним активом? Аналіз природи та ризиків різних продуктів на основі дохідності, створених на основі Біткоїна. Паскаль Хюглі 22 червня 2024