Почему я остановился на биткойн-кошельке Electrum. PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Почему я остановился на биткойн-кошельке Electrum

Это редакционная статья Армана Пармана, преподавателя биткойнов, увлеченного вопросами конфиденциальности.

На протяжении многих лет я возился с различными биткойн-кошельками и обучал многих людей надежному хранению своих закрытых ключей. Я остановился на «Настольный кошелек Electrum” как мой любимый и самый универсальный программный кошелек.

В этом эссе я расскажу о некоторых особенностях Электрума, а также о том, что мне нравится и не нравится. Это не подробное руководство о том, как использовать его и получить от него максимальную отдачу. Я также не буду вдаваться в подробности, почему вы должны иметь свои собственные биткойн-ключи; предполагается, что вы знаете и желаете это сделать, но если вам нужно знать, почему это необходимо, пожалуйста, ознакомьтесь с «Шесть причин для вывода биткойнов с бирж».

Я лично испытал особенности Электрума и разработал решения для их преодоления — при правильном использовании это самый мощный кошелек, с которым я сталкивался.

Электрум предназначен для человека, который является или стремится стать «опытным» пользователем. Поскольку он позволяет так много контроля, и из-за моего знакомства с программным обеспечением, я предпочитаю обучать этому кошельку большинство студентов как часть моей конфиденциальности/безопасности Биткойн. курс наставничества (хотя некоторым людям нужно что-то более простое в использовании). Опыт обучения его использованию, безусловно, помог мне понять, что люди считают интуитивно понятным, а что — сложным.

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

Operating System

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

Его также можно установить на телефон, но функционал мобильной версии плохой, а подключение к узлам нестабильное, поэтому я не рекомендую эту версию. BlueWallet — хорошая альтернатива кошельку для телефона.

Загрузка и проверка

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

Для тех, кто только тестирует программу, достаточно просто загрузить и использовать ее без проверки программного обеспечения — я просто не стал бы делать этого для больших сумм или если конфиденциальность вызывает серьезную озабоченность (например, если у вас есть биткойны без KYC, вам нужно соблюдайте правила конфиденциальности, чтобы монеты нельзя было идентифицировать).

Если вы действительно собираетесь использовать этот кошелек для получения значительной суммы, вам следует научиться проверять программное обеспечение с помощью gpg. Вы можете построить свои навыки вокруг этого здесь. Вы можете сделать это, ожидая моего руководства по безопасному / конфиденциальному использованию Electrum.

Окружающая среда

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

Чтобы преодолеть это, в следующем выпуске я научу вас, как сначала загрузить одноразовый кошелек, оптимизировать настройки вашей сети (подключиться к вашему собственному узлу или тому, которому вы доверяете), и только затем загрузить свой настоящий кошелек в Electrum.

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

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

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

Электрум также показывает вам список всех ваших UTXOs (но вы должны выбрать «показать монеты»), чтобы включить это.

Электрум сервер необходим

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. Программный кошелек — это программа, которая управляет вашими закрытыми ключами и адресами Биткойн. Например, Электрум, Воробей, Синий кошелек.
  1. Биткойн-кошелек — под этим я подразумеваю набор уникальных адресов, созданных детерминистически (и воспроизводимо) из вашей мнемонической сид-фразы (обычно 12 или 24 слова) — каждая сид-фраза имеет 8.6 миллиардов уникальных адресов, к которым она может получить доступ/создать.

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

Это означает, что 12 или 24 слова, созданные вашим кошельком BIP39, будут совместимы с другими кошельками BIP39, так что, если вы потеряете свой программный (или аппаратный) кошелек, вы сможете вернуть его, введя исходные слова в любой совместимый кошелек BIP39. – это не обязательно должен быть тот же бренд.

Однако у разработчика Electrum есть свои планы, и он считает отраслевой стандарт небезопасным (у него возмутительно нереалистичные опасения по поводу BIP39). Вместо BIP39 Electrum создает кошельки на основе собственного протокола, который по умолчанию не использует ни один другой кошелек. К сожалению, если вы создадите сид-фразу Electrum, вы сможете использовать эту сид-фразу только с Electrum.

Важно отметить, что Electrum позволит вам восстановить в нем кошелек BIP39, но вы должны знать, как это сделать. Однако не будет, Создайте кошелек BIP39 для вас. Но есть способы обойти это.

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

При создании или восстановлении биткойн-кошелька с помощью Electrum вы можете выбрать тип адреса:

  • Наследие — эти адреса начинаются с 1 — исходные биткойн-адреса.
  • Pay-to-Script-Hash — все эти адреса начинаются с «3».
  • Segwit. С 2017 года, после софт-форка Segwit, вы можете создать «платный хеш-ключ-свидетеля» (также называемый «Native Segwit» или «Bech32»). Именно они сейчас используются чаще всего. Все они начинаются с «bc1q».
  • Стержень. Это новое и еще не поддерживается Электрумом. Taproot был софтфорком в 2021 году. Адреса начинаются с «bc1p».

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

Этикетки

Эта функция не уникальна, но очень важна, если вы хотите сохранить конфиденциальность за счет хорошего контроля над монетами. Помечая свои UTXO, вы будете знать, какие из них вы, возможно, не хотите тратить вместе с другими. Например, если у вас есть монета без KYC или смешанная монета, и вы выбираете ее вместе с монетой KYC и отправляете куда-то объединенную сумму, то приватная монета может быть идентифицирована как принадлежащая тому, кто владеет монетой KYC (поскольку кто-то имел возможность провести и то, и другое вместе). Не делай этого. Этикетки можно сохранить в файл, чтобы их можно было загрузить на другой компьютер, если у вас есть дубликаты кошельков.

Выбор монет

Выбор монет - отличная функция. Вы можете перейти к окнам своего адреса и выбрать монету, которую хотите потратить, или сгруппировать несколько из них для траты. Если вы не выберете, какую монету хотите потратить, как и любое другое программное обеспечение, Electrum выберет «лучшую» монету для вас, но программное обеспечение не всегда знает, что лучше. Он не знает, какие монеты нельзя объединять, какие пылевые атаки, а какие смешивать. Ты знайте это, потому что вы пометили их, и тогда вы можете решить, как с этим справиться.

Отправка / Прием

Процесс отправки биткойн-платежей очень «тонко настраивается». Вы можете сделать это простым, но есть также расширенная кнопка, которую я призываю людей всегда использовать — по крайней мере, научитесь знакомиться. Здесь вы можете точно увидеть важные элементы транзакции Биткойн — входы (с идентификаторами и адресами Tx), выходы, найдены ли какие-либо перечисленные адреса в вашем собственном кошельке или нет (посредством цветового кодирования), комиссия за майнинг и возможность тонкой настройки, размер транзакции (в байтах), есть ли время блокировки и включена ли replace-by-fee. Вам не нужно сразу знать, что все эти вещи означают, но, по крайней мере, они есть, и по мере приобретения опыта вы будете знать, о чем нужно учиться.

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

Как только платеж будет отправлен на адрес и будет находиться в мемпуле, Electrum покажет вам платеж, находящийся рядом с адресом, что удобно — вам не нужно ждать, пока майнер добудет монету для вас. знать, что платеж идет. Электрум также позволяет тратить такая непроверенная монета.

Если отправитель установил очень низкую комиссию и подтверждение занимает некоторое время, вы можете ускорить платеж, потратив неподтвержденную транзакцию на другой ваш адрес. В этой второй (нисходящей) транзакции вы можете добавить высокую комиссию за майнинг. Чтобы получить комиссию, майнер должен будет включить первую транзакцию (неприбыльную) и созданную вами последующую транзакцию (прибыльную) — почему? Потому что вторая транзакция недействительна до тех пор, пока не будет действительна первая транзакция (поскольку вы не можете потратить монеты, которых теоретически не существует). Этот прием называется «ребенок платит за родителя».

Другой метод, возможный с Electrum для ускорения платежей, называется RBF (replace by fee). Это невозможно для получатель сделать, как описано выше, с «ребенок платит за родителя». Вместо этого нетерпеливый получатель должен спросить отправитель выполнить РБФ. Отправитель повторно отправит исходный UTXO, который был «израсходован», но еще не добыт в блокчейн. Этот UTXO можно поместить в альтернативную транзакцию (расходуя на тот же адрес, что и первая транзакция, или на другой) и с более высокой комиссией за майнинг. Какая из двух транзакций будет добыта первой, будет действительной, а другая станет недействительной.

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

Кошельки с мультиподписью

Electrum очень хорошо управляет кошельками с мультиподписью, и какое-то время я полагал, что это был единственный программный кошелек, который вы могли использовать. У вас могут быть подписчики с горячими ключами (программные кошельки) или холодными ключами (подключение аппаратных кошельков). Публичные ключи с мультиподписью можно создавать по одному, в разные дни, в разных местах на разных компьютерах (или аппаратных кошельках) — их распространение снижает риск единой точки отказа/атаки. Насколько далеко вы отнесетесь к мерам предосторожности, зависит от вас.

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

Мне очень нравится, как Electrum обрабатывает частично подписанные биткойн-транзакции (PSBT) — важную особенность кошельков с мультиподписью, о которой пойдет речь далее.

ОВО

Биткойн-транзакция Electrum представлена ​​просто набором текста (который, как и все компьютерные данные, представляет собой двоичные числа). У вас есть возможность сохранить этот текст в файл, QR-код или в буфер обмена (как текст, например, для копирования/вставки в электронное письмо). Этот текст можно отправить куда угодно и как угодно. Если вы так склонны, вы можете извлечь текст и отправить его по электронной почте, физическим письмом, азбукой Морзе, дымовыми сигналами, гравитационными волнами назад во времени через черную дыру или интерпретирующим танцем — это зависит от вас.

Электрум дает вам возможность извлечь этот текст и сохранить его, до это подписано, после он подписан или находится в режиме мультиподписи, когда он частично подписан.

Мультиподпись особенно интересна. Если есть, например, 3 держателя ключей по всему миру, вы можете подписать транзакцию на своем компьютере, извлечь частично подписанную биткойн-транзакцию, отправить ее по электронной почте (или QR-код во время видеозвонка) другому участнику за границей, они могут импортировать ее, подписать его, а затем отправить третьему лицу для подписания и передачи. Нет, это не уникально для Электрума, мне просто нравится, как Электрум с этим справляется. Однако рабочий процесс не интуитивно понятен и требует практики.

Оплата многим (PayJoin и CoinJoin)

Существует скрытая функция (поиск в меню), где вы можете выбрать несколько направлений (несколько выходов) при тратах. Например, вы можете взять 6.15 биткойна и отправить 0.01 биткойна 615 разным сотрудникам за одну транзакцию. Эта функция позволяет вам создавать PayJoins вручную — то, что может сделать или даже понять только меньшинство людей, но, тем не менее, это круто.

Pay to Many также позволяет вам создавать свои собственные CoinJoins вручную. Для получения дополнительной информации о том, что это такое и как это сделать, см. см. это руководство.

Ограничение разрыва

Важная функция, которая есть не у всех кошельков, — это возможность установить лимит гэпа. Как я упоминал ранее, каждый кошелек представляет собой набор из 8.6 миллиардов адресов. Программный кошелек должен подключиться к узлу и спросить, связан ли адрес с биткойнами. Он не собирается проверять все 8.6 миллиарда из них. Электрум запрашивает первые 20 адресов. Если их удед, то попросит еще 20 и так далее. Это будет продолжаться до тех пор, пока узел не вернет 20 неиспользуемых адресов подряд.

Это способ объяснить, что ограничение по умолчанию равно 20, но вы можете изменить это. Почему ты? Потому что иногда продавцы позволяют клиентам самостоятельно создавать биткойн-адреса через платежное приложение (например, мой пожертвование страницы, Подсказка Подсказка). Если первые 20 клиентов выставят счета (каждому по одному адресу, последовательно выдаваемому приложением), а затем 21-й клиент создаст счет и оплатит его, кошелек Electrum окажется пустым. Это происходит потому, что первые 20 адресов будут опрошены, найдены неиспользуемыми, а затем Electrum прекратит поиск. Electrum позволяет вам изменить лимит разрыва, например, до 500, но инструкций нет, вам нужно поискать в Интернете или найти прямо здесь:

Придется сначала зайти в меню: view→show console, а затем набрать в консоли эту команду (конечно, «500» можно поменять на другое число):

кошелек.change_gap_limit(500)

С помощью этой команды вы увидите 500 новых адресов в адресном окне.

Просмотр кошельков

Это кошельки без закрытых ключей, необходимые для подключения аппаратных кошельков. Большинство людей с аппаратным кошельком используют программное обеспечение на компьютере, которое «поставляется с» устройством, но обычно оно не имеет открытого исходного кода. Electrum — это альтернатива, которую можно использовать с любым аппаратным устройством.

Компьютеры с воздушным зазором

Можно установить Electrum на компьютер, который никогда не может подключиться к Интернету (компьютер с воздушным зазором). Этот компьютер можно использовать для проверки того, что исходная фраза, выдаваемая аппаратным кошельком, создала правильные адреса из исходной фразы.

Например, вы можете купить аппаратный кошелек BitBox02, и он создаст для вас начальное число из 24 слов и на его основе создаст адреса (со связанными закрытыми ключами, скрытыми от просмотра). В зависимости от уровня вашей паранойи (и количества биткойнов, которые вы храните), вы можете не доверять встроенному программному обеспечению и сначала предположить, что создаваемые им адреса принадлежат генеральному директору.

Чтобы проверить подлинность адресов, вам нужно поместить сид-слова (восстановить) в другой кошелек — например, Electrum; и убедитесь, что Electrum генерирует идентичные адреса. Это достаточно просто, но вы не можете просто ввести seed в любой старый компьютер с установленным на нем Electrum. Ну вы может но вы действительно не должны этого делать — вредоносное ПО потенциально может извлечь ваши нажатия клавиш и украсть ваши биткойны.

Одним из решений является ввод семян в Electrum на чистом и безопасном компьютере с воздушным зазором (или аппаратном кошельке другой марки).

Самый дешевый способ — с Raspberry Pi Zero — раньше они стоили около 10 долларов до дефицита, вызванного пандемией. Чип ARM на этих устройствах означает, что не все программные кошельки совместимы. Электрум есть и работает великолепно.

Вот как построить свой собственный. Это похоже на начальное подписание, но имеет полную функциональность Electrum.

Подписать/проверить сообщение

Биткойн-транзакция — это платеж, содержащий монету, которая ранее была «заблокирована» адресом. Чтобы разблокировать монету (в соответствии с правилами Биткойн) и иметь возможность потратить ее, используя криптографию с открытым/закрытым ключом, нужно доказать, что он владеет закрытым ключом к адресу, содержащемуся внутри. Это делается с помощью подписи (используя закрытый ключ, но не раскрывая его).

Подписанная транзакция сама по себе является сообщением; немного компьютерных данных, хотя и по строгому протоколу.

Используя криптографию с открытым/закрытым ключом, вне Биткойна, вы можете фактически подписать ЛЮБОЕ сообщение. Например, вот сообщение, которое я подписал после того, как выбрал адрес (и, следовательно, его закрытый ключ). Ниже сообщение, адрес и подпись (бессмысленный текст), которая появилась после того, как я нажал «подписать».

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

image1

Зашифровать/расшифровать сообщение

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

image2

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

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

Обзор

Это был длинный обзор настольного кошелька Electrum. Надеюсь, это пробудило у вас интерес узнать, как его использовать — я скоро выпущу руководство по этому вопросу. Тем временем, возможно, стоит попрактиковаться в очень простых биткойн-транзакциях, следуя это упражнение.

Это гостевой пост Армана Пармана. Высказанные мнения являются полностью их собственными и не обязательно отражают точку зрения BTC Inc или Биткойн-журнал.

Отметка времени:

Больше от Биткойн-журнал