Почему я остановился на кошельке 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 дает вам возможность извлечь этот текст и сохранить его до того, как он будет подписан, после того, как он будет подписан, или в режиме мультиподписи, когда он частично подписан.

Мультиподпись особенно интересна. Если есть, например, 3 держателя ключей по всему миру, вы можете подписать транзакцию на своем компьютере, извлечь частично подписанную биткоин-транзакцию, отправить ее по электронной почте (или 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.

MICA и будущее регулирование биткоина в Украине MICA и будущее регулирование биткоина в Украине Разработка и введение в действие фреймворка MiCA открывает новую страницу в истории регулирования биткоина и криптовалют, что значительно повлияет на их легальное положение во всем мире, не ограничиваясь исключительно странами Европейской экономической зоны. Новые правила привнесут значительные изменения, создав регулируемое пространство, в котором интересы потребителей и бизнеса в сфере криптоактивов будут находиться в балансе. Анна Воеводина 22 апреля 2024
Как Биткоин может повлиять на финансовую инклюзивность среди меньшинств Как Биткоин может повлиять на финансовую инклюзивность среди меньшинств Биткоин был разработан, чтобы предоставить людям доступ к финансовым услугам, а не просто обогащать ранних пользователей. Киара Тейлор 21 апреля 2024
Синергетическое будущее Биткоина и Ethereum за пределами трайбализма Синергетическое будущее Биткоина и Ethereum за пределами трайбализма Как Биткоин и Ethereum могут дополнять друг друга в долгосрочной перспективе, а не существовать как конкуренты? Ив Ла Роуз 21 апреля 2024