Electrum Bitcoin Wallet PlatoBlockchain Data Intelligence に落ち着いた理由。垂直検索。あい。

私がエレクトラムのビットコインウォレットに落ち着いた理由

これは、プライバシーに情熱を傾けるビットコインの教育者である Arman The Parman による論説です。

長年にわたり、私はさまざまなビットコイン ウォレットをいじくり回し、秘密鍵を安全に保持するために多くの人々を指導してきました。 私は「Electrumデスクトップウォレット」は、私のお気に入りで最も用途の広いソフトウェア ウォレットです。

このエッセイでは、Electrum の機能のいくつかと、私の好き嫌いについて概説します。 これは、それを使用して最大限に活用する方法に関する詳細なガイドではありません. また、独自のビットコイン キーを保持する必要がある理由についても説明しません。 これは、あなたが知っていて、そうしたいと思っていることを前提としていますが、なぜそれが不可欠なのかを知る必要がある場合は、 「ビットコインを取引所から引き出すXNUMXつの理由」をご覧ください。

私は直接 Electrum の特異性を経験し、それらを克服するための解決策を見つけました。正しく使用すれば、これは私が出会った中で最も強力なウォレットです。

Electrum は、「パワー」ユーザーである、またはそれを目指す人向けです。 非常に多くの制御が可能であり、ソフトウェアに精通しているため、ビットコインのプライバシー/セキュリティの一環として、ほとんどの学生にこのウォレットを教えることにしました。 指導コース (ただし、より使いやすいものが必要な人もいます)。 使い方を教えた経験は、人々が直感的に感じるものと難しいと感じるものを理解するのに確かに役立ちました.

新しい Bitcoiner が単独で使用する場合、Electrum は完全に安全に使用できますが、最初は少数の SAT のみで時間をかけてテスト環境で使用することを条件とします。

オペレーティングシステム

Electrum は、Windows PC、Mac コンピュータ、または Linux PC にインストールできます。重要なのは、ARM チップ コンピュータ (Raspberry Pi など) にインストールできることです。

携帯電話にもインストールできますが、モバイル版は機能が貧弱で、ノードへの接続が不安定なため、そのバージョンはお勧めしません。 BlueWallet は、携帯電話のウォレットの優れた代替手段です。

ダウンロードと検証

プログラムのダウンロードとインストールは、Windows と Mac では簡単ですが、Linux ユーザー、特に Linux の使用をまだ学んでいるユーザーにとっては少し注意が必要です。

プログラムをテストするだけで、ソフトウェアを検証せずにダウンロードして使用するだけでも問題ありません。大量の場合、またはプライバシーが大きな懸念事項である場合 (つまり、KYC フリーのビットコインを持っている場合は、コインを識別できないようにするために、適切なプライバシーを実践してください)。

実際にこのウォレットを多額の金額で使用することになる場合は、gpg でソフトウェアを検証する方法を学ぶ必要があります。 これを中心にスキルを構築できます こちら. Electrum を安全に/非公開で使用する方法についての私のガイドを待っている間に、それを行うことができます。

環境

Electrum の問題の 8.6 つは、コマンド ライン (特定のフラグを使用) ではなく、最も直感的な方法 (つまり、アイコンをダブルクリックするだけ) でプログラムを実行すると、ほぼ確実にランダムな Bitcoin ノードに接続され、ウォレットが公開されることです。潜在的な XNUMX 億のアドレスすべてをランダム ノードの所有者に送信します。所有者は監視会社である可能性があり、そこにはあなたのプライバシーが存在します (彼らはあなたの使用済みおよび未使用のすべてのアドレス、および IP アドレスを取得します)。

これを克服するために、次回の記事では、最初に使い捨てウォレットをロードし、ネットワーク設定を最適化し (自分のノードまたは信頼できるノードに接続)、その後で実際のウォレットを Electrum にロードする方法を説明します。

ネットワーク設定やノードが何を意味するのか分からない人もいるかもしれません。 あなたが非常に重要なことに行きたいと思うなら、あなたはそれについてここでもっと学ぶことができます 正接.

Electrum ウォレットには、アドレスを表示する非常にきれいなレイアウトがありますが、メニューに移動して「アドレスを表示」を選択する必要があります。 次に、最初の 20 個の受信アドレスのリストが緑色で強調表示され (4.6 億個ありますが、明らかにすべてが表示されているわけではありません)、黄色で強調表示された最初の 10 個の受信アドレスのリストが表示されます (このタイプのアドレスは 4.6 億個あります)。 )。

他の多くのソフトウェア ウォレットは、アドレスのリストを表示せず、ウォレットにコインを送るように要求された場合にのみアドレスを提供します。 これは、物事をシンプルに保つためにユーザーから情報を隠しますが、学習する機会が提示されないため、ユーザーは無知のままになりがちです。 携帯電話で Ledger Live または Trezor スイート、または Blue Wallet を使用している多くの人に会いましたが、「変更」アドレスと呼ばれるものは言うまでもなく、無限のアドレスがあることに気づいていません。

Electrum はまた、あなたのすべてのリストを表示します。 UTXOs (ただし、「コインを表示」を選択する必要があります)それを有効にします。

エレクトラムサーバーが必要

Electrum Wallet は Bitcoin Core ノードに直接接続できません。 これは面倒ですが、electrum の実行速度が向上します。 はるかに高速。 引き続き Bitcoin Core が必要ですが、Electrum Server と呼ばれるソフトウェアも必要になります (これにはさまざまな種類があり、それぞれに長所と短所がありますが、ここでは説明しません)。 一部の人にとっては、Bitcoin Core のインストールは非常に困難です。 Electrum Server のインストールは非常に難しく、かなり専門的である必要があります。

簡単かつ積極的に強化するために、最初のノードに MyNode のようなノード パッケージをインストールすることをお勧めします (私のガイドを参照してください) または Raspiblitz (私のガイドを参照してください)、通常の PC へのノードと関連ソフトウェアのインストールに進む前に。

これらのパッケージにはいくつかの弱点がありますが、Raspberry Pi 4 に 300 回インストールするだけで多くのアプリケーション (Electrum Server、Lightning、BTCPay Server、Mempool ビューアーなど) を取得できるため、最初は優れています。 XNUMX つ、場合によっては検証することもできます)、費用はすべての機器でわずか約 XNUMX ドルです (ソフトウェアは無料です)。 あなたのスキルと興味が進むにつれて、より高度なノードのセットアップを検討することをお勧めします (どれも高価ではありません)。 なぜノードを実行する必要があるのか​​ 疑問に思っている場合は、 ここにXNUMXつの優れた理由があります.

ウォレットの作成

先に進む前に、XNUMX 種類のウォレットを定義しておくと便利だと思います。

  1. ソフトウェア ウォレット – これは、ビットコインの秘密鍵とアドレスを管理するプログラムです。 例: Electrum、Sparrow、Blue Wallet。
  1. ビットコイン ウォレット – これは、ニーモニック シード フレーズ (通常は 12 または 24 語) から決定論的に (そして再現可能に) 作成される一意のアドレスのコレクションを意味します。各シード フレーズには、アクセス/作成できる 8.6 億の一意のアドレスがあります。

Electrum は、デフォルトで標準ではないウォレットを作成しますが、これは非常に面倒です。 最も一般的なプロトコルは BIP39 (Bitcoin Improvement Proposal 39) と呼ばれ、ほぼすべてのウォレットで使用されます。

つまり、BIP12 ウォレットが作成した 24 または 39 ワードは、他の BIP39 ウォレットと互換性があるため、ソフトウェア (またはハードウェア) ウォレットを紛失した場合、互換性のある BIP39 ウォレットにシードワードを入力することで取り戻すことができます。 – 同じブランドである必要はありません。

しかし、Electrum の開発者には独自の計画があり、業界標準は安全ではないと考えています (彼は BIP39 について非常に非現実的な懸念を抱いています)。 BIP39 の代わりに、Electrum は独自のプロトコルに基づいてウォレットを作成します。これは、他のウォレットがデフォルトで使用するものではありません。 残念ながら、Electrum シード フレーズを作成した場合、そのシード フレーズは Electrum でのみ使用できます。

重要なのは、Electrum では BIP39 ウォレットを復元できることですが、その方法を知っておく必要があります。 ただし、 作ります あなたのためのBIP39ウォレット。 しかし、これを回避する方法があります。

また、単純に XNUMX つのアドレスを Electrum にロードしてその残高を観察することもできます。それはあなたのものである必要さえありません (ただし、残高を使うことについて考えないでください。秘密鍵をロードしない限り、それは不可能です。その場合、アドレスはあなたのものになります)。

Electrum を使用して Bitcoin ウォレットを作成または復元する場合、どのアドレス タイプを使用するかを選択できます。

  • レガシー – これらのアドレスは 1 – 元のビットコイン アドレスで始まります。
  • Pay-to-Script-Hash – これらのアドレスはすべて「3」で始まります。
  • Segwit – Segwit ソフト フォーク後の 2017 年から、「Pay-to-witness-public-key-hash」(「Native Segwit」または「Bech32」とも呼ばれます) を作成できます。 これらは現在最も一般的に使用されています。 それらはすべて「bc1q」で始まります。
  • 主根。 これは新しいもので、Electrum ではまだサポートされていません。 Taproot は 2021 年にソフトフォークしました。アドレスは「bc1p」で始まります。

リストされている最初の XNUMX つのアドレス タイプは、互いに少し異なるように見える拡張公開鍵を持っています。 それぞれ xPub、yPub、zPub で始まります。 タップルートは tPub だと思いますが、まだ慣れていません。 ビットコインの公開鍵と秘密鍵に関するその他の教育資料については、次のことができます。 ここで読みます。

ラベル

この機能は独自のものではありませんが、コインを適切に管理してプライバシーを維持したい場合は非常に重要です。 UTXOにラベルを付けることで、他の人と一緒に使うのを避けたいUTXOがわかります。 たとえば、KYCなしまたは混合コインを持っていて、それをKYCコインと一緒に選択し、合計をどこかに送信すると、プライベートコインはKYCコインを所有する人に属していると識別できます(誰かがKYCコインを持っているため)両方を一緒に使う能力)。 そうしないでください。 ラベルはファイルに保存できるため、ウォレットが重複している場合に別のコンピューターにアップロードできます。

コインの選択

コインの選択は素晴らしい機能です。 アドレス ウィンドウに移動して、使用するコインを選択するか、複数のコインをグループ化して使用できます。 他のソフトウェアと同様に、使用するコインを選択しない場合、Electrum は使用するのに「最適な」コインを選択しますが、ソフトウェアは常に何が最適かを認識しているわけではありません。 どのコインが合体しないのか、どれがダストアタックなのか、どのコインが混ざっているのかが分かりません。 You それらにラベルを付けたので、これを知ってから、それを管理する方法を決定できます。

送受信

ビットコインの送金プロセスは非常に「微調整可能」です。 シンプルに保つことができますが、常に使用することをお勧めする高度なボタンもあります。少なくとも慣れることを学ぶ. ここでは、Bitcoin トランザクションの重要な要素を正確に確認できます。入力 (Tx ID とアドレスを含む)、出力、リストされたアドレスが自分のウォレットにあるかどうか (色分けによる)、マイニング料金とそれを微調整する機能、トランザクションのサイズ (バイト単位)、ロック時間がある場合、および手数料による置換が有効になっている場合。 これらすべてが何を意味するのかをすぐに知る必要はありませんが、少なくともそれらはそこにあり、経験を積むにつれて、何を学ぶべきかがわかります.

受信時に受信タブに移動すると、次の未使用アドレスが提供されます。必要に応じてコピー/貼り付けしたり、QR コードを生成したりできます。 または、住所ウィンドウに移動して、表示されている住所を選択して請求書を作成することもできます。 右クリックして詳細を選択すると、アドレスの QR コードを作成するボタンが表示されるか、アドレス テキストをコピーすることができます。

アドレスへの支払いが行われ、mempool で待機中になるとすぐに、Electrum はアドレスと一緒に支払いを表示します。これは便利です。マイナーがコインをマイニングするのを待つ必要はありません。支払いが来ることを知っています。 Electrum では、次のこともできます。 過ごす そのような未確認のコイン。

送信者が非常に低い手数料を設定しており、確認に時間がかかる場合は、未確認のトランザクションを別のアドレスに送信することで、支払いを急ぐことができます。 その XNUMX 番目の (ダウンストリーム) トランザクションでは、高いマイニング料金を追加できます。 手数料を徴収するために、マイナーは最初のトランザクション (有利ではない) と、作成した下流のトランザクション (有利) を含める必要があります。 最初のトランザクションが有効になるまで、XNUMX 番目のトランザクションは無効になるためです (理論的に存在しないコインを使うことはできないため)。 この手法は、「子が親に支払う」と呼ばれます。

支払いを高速化するために Electrum で可能なもう XNUMX つの手法は、RBF (replace by fee) と呼ばれます。 これは、 受信機 上記の「子供が親に支払う」と同じように行う。 代わりに、せっかちな受信者は、 トランスミッタ RBF を実行します。 送信者は、「使用済み」でまだマイニングされていない元の UTXO をブロックチェーンに再送信します。 その UTXO は、別のトランザクション (最初のトランザクションと同じアドレスまたは別のアドレスに支払う) に入れることができ、より高いマイニング手数料がかかります。 XNUMX つのトランザクションのうち、最初にマイニングされた方が有効になり、もう一方は無効になります。

補足として、RBF は詐欺の可能性を許容します。 受取人 (商人) が未確認のトランザクションを「支払い受領済み」として受け入れ、支払いの送信者に商品を配達した場合、送信者は元の支払いがマイニングされる前に RBF トランザクションを実行する機会があります。 彼らは自分の住所を支払いの受取人として使用し、高額の手数料を追加します。 それがマイニングされると、元のトランザクションは無効になり、mempool からすべてのノードによってドロップされ、マーチャントのウォレットからの残高はなくなります。 これが、ビットコインを入金すると、ビットコイン取引所がブロックチェーンでの確認を待ってからアカウントに入金されることに気付く理由です。

マルチシグウォレット

Electrum はマルチシグ ウォレットを非常にうまく管理しており、しばらくの間、使用できる唯一のソフトウェア ウォレットであると私は信じていました。 ホット キー (ソフトウェア ウォレット) またはコールド キー (ハードウェア ウォレットを接続) を持つ署名者を持つことができます。 マルチシグ公開鍵は、異なる日に、異なるコンピューター (またはハードウェア ウォレット) の異なる場所で一度に XNUMX つずつ作成できます。分散させることで、単一障害点/攻撃のリスクが軽減されます。 どこまで予防策を講じるかはあなた次第です。

マルチシグ ウォレットとキーに関する追加情報 ここで見つけることができます、将来これらの財布を作るためのガイドがあります. ウォレットの作成プロセスは優れていますが、一度知ってしまうと関係のない癖がいくつかあります。

次に説明するマルチシグ ウォレットの重要な機能である、部分的に署名されたビットコイン トランザクション (PSBT) を Electrum が処理する方法が非常に気に入っています。

PSBT

Electrum ビットコインのトランザクションは、一連のテキスト (すべてのコンピューター データと同様に、それ自体が XNUMX 進数を表す) だけで表されます。 そのテキストをファイル、QR コード、またはクリップボードに保存する機能があります (たとえば、電子メールにコピー/貼り付けするためのテキストとして)。 そのテキストは、どこにでも送信できます。 そうしたい場合は、テキストを抽出して電子メール、物理的な手紙、モールス信号、煙信号、ブラック ホールを介した過去の重力波、解釈ダンスなどで送信できます。それはあなた次第です。

Electrum は、そのテキストを抽出して保存する機能を提供します。 署名されています。 After 署名されているか、マルチ署名設定になっている場合 部分的に 署名しました。

マルチシグネチャは特に興味深いものです。 たとえば、世界中に 3 人のキー所有者がいる場合、コンピューターでトランザクションに署名し、部分的に署名されたビットコイン トランザクションを抽出し、それを電子メール (またはビデオ通話で QR コード) で海外の別の参加者に送信し、インポートして署名することができます。それから、署名とブロードキャストのために第三者に送信します。 いいえ、これは Electrum に固有のものではありません。私は Electrum の処理方法が気に入っています。 ただし、ワークフローは直感的ではなく、練習が必要です。

Pay To Many (PayJoin と CoinJoin)

支出時に複数の目的地 (複数の出力) を選択できる隠し機能 (メニューを検索) があります。 たとえば、6.15 ビットコインを受け取り、0.01 ビットコインを 615 人の異なる従業員にすべて XNUMX 回のトランザクションで送信できます。 この機能を使用すると、PayJoins を手動で作成できます。これは少数の人々だけが行う、または理解することさえありますが、それでもクールです。

Pay to Many では、独自の手動 CoinJoins を作成することもできます。 それが何であるかとその方法の詳細については、 このガイドを参照してください.

ギャップ制限

すべてのウォレットが備えているわけではない重要な機能は、ギャップ制限を設定できることです。 前述したように、すべてのウォレットは 8.6 億のアドレスの集まりです。 ソフトウェア ウォレットはノードに接続し、アドレスにビットコインが関連付けられているかどうかを確認する必要があります。 8.6 億個すべてをチェックするわけではありません。 Electrum は最初の 20 個のアドレスを要求します。 それらが uded の場合、さらに 20 を要求します。 ノードが未使用のアドレスを 20 個続けて返すまで、これを維持します。

これは、デフォルトのギャップ制限が 20 であることを説明する方法ですが、これは変更できます。 なぜですか? マーチャントは、顧客が支払いアプリ (私のような 寄付ページ、 ヒントヒント)。 最初の 20 人の顧客が請求書を作成し (それぞれ 21 つのアドレス、アプリによって順次提供されます)、20 番目の顧客が請求書を作成して支払うと、Electrum ウォレットは空に見えます。 これは、最初の 500 個のアドレスがクエリされ、未使用であることが判明し、その後 Electrum が検索を停止するために発生します。 Electrum を使用すると、たとえば XNUMX にギャップ制限を変更できますが、指示はありません。オンラインで調べるか、ここで見つける必要があります。

最初にメニューに移動する必要があります: ビュー→コンソールを表示し、コンソールに次のコマンドを入力します (もちろん、「500」は別の数字に変更できます):

ウォレット.change_gap_limit(500)

このコマンドを使用すると、アドレス ウィンドウに 500 個の新しいアドレスが表示されます。

ウォレットを見る

これらは、ハードウェア ウォレットが接続するために必要な、秘密鍵のないウォレットです。 ハードウェア ウォレットを持つほとんどの人は、デバイスに「付属の」コンピュータ上のソフトウェアを使用しますが、通常はオープン ソースではありません。 Electrum は、あらゆるハードウェア デバイスで使用できる代替手段です。

エアギャップコンピュータ

インターネットに接続できないコンピューター (エアギャップコンピューター) に Electrum をインストールすることは可能です。 そのコンピューターを使用して、ハードウェア ウォレットが提供するシード フレーズがシードから正しいアドレスを作成したことを確認できます。

たとえば、BitBox02 ハードウェア ウォレットを購入すると、24 ワードのシードが作成され、そこからアドレスが作成されます (関連する秘密鍵は表示されません)。 あなたが持っているパラノイアのレベル (および保存しているビットコインの量) によっては、組み込みソフトウェアを信頼しないことを選択し、最初はそれが作成するアドレスが CEO のものであると想定することもできます。

アドレスが本物であることを確認するには、シード ワードを別のウォレット (Electrum など) に入れる (復元する) 必要があります。 Electrum が同一のアドレスを生成することを確認します。 それはとても簡単ですが、Electrum を搭載した古いコンピューターにシードを入力するだけではいけません。 さて、あなた できる マルウェアがキーストロークを抽出してビットコインを盗む可能性があります。

XNUMX つの解決策は、クリーンで安全なエアギャップ コンピューター (または別のブランドのハードウェア ウォレット) の Electrum にシードを入力することです。

最も安価な方法は、Raspberry Pi Zero を使用することです。パンデミックによる不足が発生する前は、約 10 ドルでした。 これらのデバイスの ARM チップは、すべてのソフトウェア ウォレットが互換性があるわけではないことを意味します。 Electrum は素晴らしく機能します。

ここにあなた自身を構築する方法があります. シード署名者に似ていますが、Electrum の全機能を備えています。

メッセージに署名/確認する

ビットコイン トランザクションは、以前にアドレスによって「ロック」されたコインを含む支払いです。 (ビットコインのルールに関して) コインのロックを解除し、公開/秘密キー暗号化を使用してコインを使用できるようにするには、含まれているアドレスへの秘密キーを所有していることを証明する必要があります。 これは署名によって行われます (秘密鍵を使用しますが、公開はしません)。

署名されたトランザクション自体がメッセージです。 厳密なプロトコルに従っていますが、少しのコンピューターデータ。

ビットコイン以外の公開鍵/秘密鍵暗号を使用すると、実際に任意のメッセージに署名できます。 たとえば、アドレス (およびその秘密鍵) を選択した後に署名したメッセージを次に示します。 以下は、「署名」をクリックした後に生成されたメッセージ、アドレス、および署名 (無意味に見えるテキスト) です。

これで、あなたまたは誰でも、アドレス、メッセージ、および署名を受け取り、それを Electrum (または他のソフトウェア) に入れることができます。 確認する そのメッセージを生成したのは本当に正しい秘密鍵 (アドレスと一致する) であったこと (これは実際には、ビットコイン ノードがビットコイン トランザクションに対して行うのと同じタイプの検証です)。 検証を実演するために、関連する秘密鍵を取得していない別のウォレットを開きます。 「メッセージの確認」ウィンドウに移動し、上記のようにすべての詳細を入力してから、[確認] をクリックしました。

image1

メッセージの暗号化/復号化

の代わりに 署名 公開鍵/秘密鍵暗号を使用したメッセージの場合、出力は では使用できません 他の誰かの公開鍵/アドレスを使用して、メッセージのバージョン (つまり、ごちゃごちゃしていて読めない)。 暗号化されたバージョンは、対応する秘密鍵を持っている人なら誰にでも送信できます。これは、プロセスを逆にするために秘密鍵が使用された場合にのみテキストを読み取ることができるためです。

image2

たとえば、あなたは私のビットコインの公開鍵を与えられ、このメッセージを上記のように暗号化し、暗号文 (一番下のフィールドにあるランダムに見えるテキスト) をメールで送ってくれました。私は公開鍵に対する秘密鍵を持っているので、元に戻すことができます。暗号化されたメッセージを元のフォームに戻し、間違った考えのメッセージを読みます。 このようにして、安全でない通信チャネルを介して私にテキストを送信できますが、私だけがそれを読むことができます.

これは公開鍵/秘密鍵暗号化の魔法であり、Bitcoin を可能にした主な要素の 1990 つです。 XNUMX 年代にサイファーパンクを禁止しようとした米国政府に対して、サイファーパンクが懸命に戦い、勝利したことを、私たちは皆感謝すべきです。

まとめ

これは、Electrum デスクトップ ウォレットの長いレビューでした。 うまくいけば、それがあなたの興味をそそり、それを使用する方法を学ぶことに興味を持っています.これについてのガイドをすぐにリリースします. それまでの間、次のように非常に基本的なビットコイン取引を練習する価値があるかもしれません。 この演習.

これはArmanTheParmanによるゲスト投稿です。 表明された意見は完全に独自のものであり、必ずしもBTCIncまたは Bitcoin Magazine.

タイムスタンプ:

より多くの Bitcoin Magazine