Electrumの使い方(応用編2・マルチシグネチャ)

Electrumでは、マルチシグネチャアドレスを作成することによって二段階認証的に送金を行いセキュリティを高めることができます。

第三者のサービスに秘密鍵の1つを渡す方法と、自分が管理する二台のPCを利用する方法の二つがあります。特に後者は、コールドストレージ機能と組み合わせて利用することにより、非常に高いセキュリティを保つことができるのでおすすめです。

マルチシグネチャによる二段階認証

①1台のPCによる二段階認証(外部サービスへの依存)

TrustedCoinという外部のサービスを利用することにより二段階認証の設定ができます。これは2 of 3のマルチシグネチャアドレス(1つのアドレスに対し3つの秘密鍵が存在し、送金のためにはそのうち2つの秘密鍵が必要となるアドレス)を作成し、3つのうち1つの秘密鍵をTrustedCoinに預けるものです。

ユーザーのPCには通常1つの秘密鍵のみが含まれており、2つの秘密鍵を紙媒体でバックアップ・復元用に保管しておくことになります。3つのうち2つの秘密鍵を自分で所有しているので、TrustedCoinがサービス停止しても出金できなくなることはありません。

実際の送金の際にはスマートフォンアプリのGoogle Authenticator(Google認証システム)を利用することになります。バックアップのウォレット種(seed)をしっかりと保存しておけば、スマートフォンを紛失してもウォレットを復元することが可能です。

なお、この二段階認証を利用するには送金毎にTrustedCoinに0.0005BTCを支払う必要があります。

まずは、メニューの「ファイル」→「新規・復元」からウォレットを新規作成します。作成画面で「Wallet with two-factor authentication(二段階認証方式ウォレット)」を選択し次へ進みます。

最初に説明したような2 of 3のマルチシグネチャアドレスや送金毎にTrustedCoinに支払う料金などに関する説明が書かれています。次へ進みましょう。

「Create a new seed」を選択すると、12単語のウォレット復元用のseed(ウォレット種)が表示されます。このウォレット種さえ覚えておけばTrusted Coinが停止したり、スマートフォンを紛失してもビットコインを失うことはありません。逆に言えば、ウォレット種を盗まれると二段階認証の意味がなくなるので厳重に保管しましょう。

メモの間違いがないようにウォレット種を入力して次に進みましょう。

通常のウォレットと同様に送金時などに必要となる任意のパスワードを設定します。

TrustedCoinを利用するため、メールアドレスを登録する必要があります。

次にスマートフォンに事前にインストールしておいたGoogle Authenticator(Google認証システム)を利用してQRコードを読み取りましょう。アプリ上に表示されている6桁のコードを入力すれば完了です。

ウォレットの作成が完了しました。マルチシグネチャウォレットは通常のアドレスとは違い3から始まることになります。このように作成されたウォレットは右下にTrustedCoinのマークが表示されていることが分かります。

ビットコインの受け取り時には通常のウォレットと同様に使用することができます。

送金時には「Additional fees」として0.0005BTCの追加の手数料がかかることがわかります。

Google Authenticator(Google認証システム)内のコードを入力するまで送金はできないこととなります。

②2台のPCによる二段階認証

前半の方法は1台のPCのみでできるので便利ではありますが、外部のサービスに依存する必要があることや追加の手数料がかかるため、あまりおすすめはできません。

しかし、もし2台のPCを持っているのであれば、これから説明する方法で二段階認証を行うことにより大幅にセキュリティが高くなります。コールドストレージ機能と組み合わせればさらにセキュリティは増しますが、オフラインのPCを用意する必要があります。

2台のPCはあるがオフラインPCを用意できず、コールドストレージ機能を利用できないという場合も、この方法でセキュリティを高めることが可能です。

※2台のPCに分けたほうがセキュリティは高くなりますが、1台のPCでもマルチシグネチャウォレットは作成可能です。ウォレット種さえ覚えておけば1台のPCだけでマルチシグネチャウォレットを作成できるので、2台のPCのうちの1台が故障してもすぐに復元可能です。

これから説明する作業は2台のPCで同時並行で行ってください。まずは、メニューの「ファイル」→「新規・復元」からウォレットを新規作成します。作成画面で「Multi-signature wallet(マルチシグネチャウォレット)」を選択し次へ進みます。

マルチシグネチャの形式を指定します。用途や利便性を考えて自由に設定できますが、ここでは、そのまま2 of 2(1つのアドレスに対し2つの秘密鍵が存在し、送金のためにはそのうち2つの秘密鍵が必要となる)として、次に進みましょう。

「Create a new seed」を選択すると、通常のウォレットと同様に復元用のウォレット種(seed)が表示されるのでメモしてください。2つのPCそれぞれで別々のウォレット種が表示され、マルチシグネチャウォレットの復元には2つのウォレット種両方が必要となります。やや面倒で紛失に十分気を付ける必要がありますが、その分セキュリティはより高いと言えます。

確認のためにウォレット種を入力して次に進んだら、ウォレットのマスター公開鍵(ウォレット内のすべてのアドレスと結びついている文字列、秘密鍵の情報は含まれない)が表示されます。基本的にこの情報は利用しないので無視して次に進めて構いません。次の画面で使用するのでメモ帳などに貼りつけてください。

続いてもう一方のPCの鍵情報を入力するための選択肢が表示されます。ここでは「Enter cosigner seed」を選択しましょう(「Enter cosigner key」を選択すると、先ほどのマスター公開鍵からマルチシグネチャウォレットを作成することも可能です。マスター公開鍵からウォレットを作成すると、一方のPCがハッカーに監視されていたとしてもビットコインを盗まれるリスクが減るのでより安全とは言えますが、USBメモリ等でマスター公開鍵を移動させなければならないので、やや面倒です。)。「Enter cosigner key」を選択しましょう。

先ほどメモをとっておいたもう一方のPCのマスター公開鍵をUSBメモリ等を使って移動させて貼りつけましょう。なお、「Enter cosigner seed」を選択し、両方のPCのseedを入力した場合、2つのseedがウォレット内に保存されるため、もう一方のPCでの承認を必要とせず実質的にマルチシグウォレットの意味がなくなります(PCが故障するなどして承認できなくなった場合は、この方法で2つのseedから資産を復元することができます。)。

ウォレットの作成が完了しました。マルチシグネチャアドレス特有の3からはじまるアドレスであることがわかります。

ビットコインの受け取り時には通常のウォレットと同様に使用することができます。

コールドストレージを利用せず2つのオンラインPCを利用する場合は、送金時にインターネットを利用してElectrumのサーバーに取引を送信することにより、簡単に2つのPC間で取引情報のやりとりが行えます。

この機能はCosigner Poolと呼ばれ、2つのPC両方で上部メニューの「ツール」→「プラグイン」から「Cosigner Pool」にチェックを入れれば利用可能です。

ただし、この機能を利用するとセキュリティがやや低下する上に不安定でうまく動作しない場合もよくあるようなので、通常はあまりおすすめしません。

一方のPC(コールドストレージ機能を利用する場合はオンラインPC)で通常通り送金を行おうとすると上のような画面が表示されます。状態が「一部署名済み(1/2)」となっており、2つの秘密鍵のうち1つしかまだ署名が行われていないことが分かります。

取引を送信するにはもう一方のPCに取引を移し、さらに2つ目の署名を行う必要があります。取引を移すには、QRコードを読み取るか、「保存」してUSBメモリ等で移すか、Cosigner Poolを利用してネット上で送信するかの3つの方法があります。通常は、「保存」をクリックして取引情報をUSBメモリを使って移動させるのが良いでしょう。

USBメモリで移す場合は、移動先のPCの上部メニューの「ツール」→「取引情報を読み込む」→「ファイルから」を選択してください。取引上をが読み込まれると上のような画像が表示されます。

署名をクリックして取引に署名を行ってください。

署名が行われると状態が「署名しました」に変わり、取引を送信できるようになります。「発信」ボタンをクリックしてください。

コールドストレージ機能と併用している場合は取引の送信ができないはずなので、「保存」をクリックして取引情報をUSBメモリに再度保存した後、オンラインPC上で取引を読み取って送信してください。

最終更新日: 2017年01月05日

コメント欄

ゲスト(匿名)としての投稿の場合は、任意のメールアドレス(非公開、123@456.com等ランダムな文字列でも可)の入力も可能です。SNS等を利用してログインした場合には、自分の投稿を編集することができます。