Чому я зупинився на Electrum Bitcoin Wallet PlatoBlockchain Data Intelligence. Вертикальний пошук. Ai.

Чому я зупинився на біткойн-гаманці Electrum

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

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

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

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

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

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

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

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

Її також можна встановити на телефоні, але функціональність мобільної версії погана, а її з’єднання з вузлами нестабільне, тому я не рекомендую цю версію. BlueWallet — хороша альтернатива гаманцю для телефону.

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

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

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

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

Навколишнє середовище

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

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

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

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

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

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

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

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

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

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

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

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

  1. Програмний гаманець – це програма, яка керує вашими закритими ключами та адресами Bitcoin. Наприклад, Electrum, Sparrow, Blue Wallet.
  1. Біткойн-гаманець – під цим я маю на увазі набір унікальних адрес, які створюються детермінованим (і відтворюваним) з вашої мнемонічної початкової фрази (зазвичай 12 або 24 слова) – кожна початкова фраза має 8.6 мільярда унікальних адрес, до яких вона може отримати доступ/створити.

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

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

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

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

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

Створюючи або відновлюючи біткойн-гаманець за допомогою Electrum, ви можете вибрати тип адреси:

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

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

етикетки

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

Вибір монет

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

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

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

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

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

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

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

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

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

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

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

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

ПСБЦ

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

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

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

Платити багатьом (PayJoin і CoinJoin)

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

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

Межа розриву

Важливою особливістю, яка є не у всіх гаманців, є можливість встановити ліміт розриву. Як я вже згадував раніше, кожен гаманець — це набір із 8.6 мільярдів адрес. Програмний гаманець повинен підключитися до вузла та запитати, чи пов’язано з адресою біткойни. Він не збирається перевіряти всі 8.6 мільярда з них. Electrum запитує перші 20 адрес. Якщо їх uded, він попросить ще 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.

Підпишіть/перевірте повідомлення

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

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

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

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

image1

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

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

image2

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

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

Підсумки

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

Це гостьовий пост від Армана Пармана. Висловлені думки є повністю їх власними і не обов’язково відображають думки BTC Inc або Журнал Bitcoin.

Часова мітка:

Більше від Журнал Bitcoin