Nayutaの広報、Hitomiです!
今回は、GreenAddress ウォレットを紹介します。ウォレットの紹介シリーズ第5回目です。第6回目は、GreenBits ウォレットを取り上げる予定です。
この記事では、GreenAddress の特筆すべき特徴を、ウォレットを実際に操作したときの画像も交えながら説明していきます。使い方に関しては、他の方がきれいにまとめている記事があると思うので、そちらを参考にしてください。
左: GreenAddress 右: GreenBits
(出典元:Google Play)
概要
GreenAddress ウォレットは、ビットコイン専用のウォレットです。マルチシグネチャアドレスと呼ばれる、複数の署名を必要とする送金アドレスが生成されます。他のウォレットでは、マルチシグがデフォルトのアドレスではない or 生成されないことが多いため、GreenAddressの特徴ともいえるでしょう。Android版は、GreenAddress(Cordovaアプリ) のほかに、GreenBits(ネイティブアプリ) というウォレットがあります。
基本情報
URL: https://greenaddress.it/en/
マルタにあるGreenAddressit社のウォレットです。2016年にBlockstream社によって買収されました。Blockstreamといえば、Liquidというサイドチェーンを最近ロンチして話題になった企業です。
Windows / OSX / Linux / Android / iOS / F-Droid で使うことが出来ます。以前は、Chromeアプリも使えたようですが、現在はないようです。いずれも日本語には対応していません。
2018年11月26日現在の最新バージョンは、以下の通りです。
・0.1.04(Windows / OSX / Linux)
・0.0.88(Android / F-Droid)
・0.0.52(iOS)
使用前の注意
1: 現在、Google Play / F-Droid からGreenAddressのページが消えており、インストールすることが出来ません。このことを説明している公の記事等は見つかりませんでした。もしかしたら、Android版は、GreenAddress(最終更新日は2017年12月17日)から、GreenBits(最終更新日は2018年8月28日)に移行させているのかもしれません。
2: GreenAddressは、ローカルで使うことが出来るウォレットです。ところが、WEBサイトの「Login」をクリックすると、インターネットに接続しながらウォレットが使えるようになります(図1・2)。いわゆる、WEBウォレットと呼ばれるものです。このWEBウォレットを始める際に、復元フレーズを入力が求められます。資産への不正アクセス等の危険性があるので使わないほうが安全でしょう。
図1: さらに「WEBアプリケーションは廃止したため、
モバイルまたはデスクトップウォレットに移行させるように」と警告がでる。
新しくGreenAddressを使用する人は、WEBアプリは避けたほうがよさそうだ。
図2: 使う場合は、復元フレーズと
次回からの簡易入力のためのPINを入力を求められる。
3: ビックカメラでは、GreenAddressからのビットコイン決済は無効にすることがあると公式WEBサイトに記載しています。
以下は、Android版の画像と一緒に説明していきます。
特徴
1: オープンソース開発です。GreeenAddressのAPI連携の情報も公開しています。
2: セグウィットネイティブアドレス(bech32)への送金に対応しています。GreenAddressは1番最初にSegwit対応をしたクライアント型ウォレットでもあります。
3: メインアカウントで生成されるアドレスは、2of2マルチシグネチャアドレス(P2SH)と呼ばれるものです。送金をする際、複数の署名を必要します。2of2の場合、2人中2人の署名が必要です。マルチシグではない通常のアドレスは、複数ではなくクライアントの署名だけが要求されます。
通常、2of2の署名は2つのクライアントのものでいいのですが、GreenAddressではクライアントとサーバーの署名が必要です。つまり、送金する際は、GreenAddressサーバーの署名が必要になるということです。
Decentralizedなビットコインの送金に、サーバーの署名が必要というのは少し変な気もします。しかし、GreenAddress側によれば、セキュリティのためにこのような仕組みしているということです。
4: サブアカウントに、2of3のマルチシグネチャアドレスを生成することもできます。2of3なので、 3人中2人の署名が必要です。3つ目の署名は、クライアントのみが知っているバックアップキーからの署名です。こうすることで、万が一、GreenAddressのサービスが使えなくなった場合でも、2つのクライアントの署名で、コインをどこかに送金することが出来るようになります。
図3・4: 2of3マルチシグのサブアカウントを作ろうとすると、
3番目の署名に必要となるバックアップキーが表示される。
5: HDウォレット(BIP32)です。復元フレーズは暗号化され、ローカルで保管されています。この復元フレーズや秘密鍵は、サーバーに送信されることはありません。(サーバーは、公開鍵と生成されたアドレス用のチェーンコードのみを受信します。)
図5: PINと復元フレーズの関係。
PINでのログインを3回間違えると、パスワードが無効になり
復元フレーズでログインしないといけない。
6: Instantというfee設定機能があります。(2of3マルチシグの場合は使えません)
通常、ビットコインの送金が確定するためには、6承認かかるといわれます。これは、二重支払い防止のためです。Instantを使うと、送金確定を待つ必要がなくなります。厳密にいえば、今後確定されるであろうという期待と、二重支払いをしていないという事実を、GreenAddressがリスクを背負って保障してくれるので、このような機能が使えます。一方、受金者はGreenAddressを信用する必要があります。
図5・6: Instant機能
7: nLockTimeが設定されています。nLockLTimeは、トランザクションにくっついたパラメーターのことです。あるunix時刻またはブロックの高さを与えると、そのトランザクションは、指定の期間前にブロックに入ることが出来ません。
その期間が訪れた際に、GreenAddress側の署名無しに、マイナーがトランザクションをマイニングすることが可能になります。つまり、クライアントが自分の署名のみでどこかに送金できるということです。
これは、(1) 2of2のアカウントを使っていて、(2) 2FAにアクセスできなくなった場合、または(3) GreenAddressのサービスが使えなくなった場合に、リカバリーツールgarecoveryを使って、資産を復元させるときに使われます。
図7: nLockTime トランザクション
図8: 期間は変更することが出来る。
「Send All nLockTime transactions by email」をタップすると
バックアップが取れる。
8: rate limitがあります。これは、Dos攻撃からサービスを守るためのものです。rate limitに引っ掛かることは滅多にありませんが、そうなってしまった場合は、サポートセンターに連絡してください。
9: RBF(Replace By Fee) を使うことができます。トランザクションが、いつまで経ってもMEMプールに入ったままで承認が行われない場合(未承認トランザクション、0承認トランザクション)、トランザクション手数料を増加して承認されるように新しいトランザクションに置き換えることができる機能です。
図8: RBF
10: Watch-only機能があります。この機能を使うと、秘密鍵がウォレットに読み込まれません。つまり、送金することが出来なくなります。例えば、インターネット接続が心配な公共の場で、トランザクションや残高だけをチェックしたいとき、受金だけをしたいときに、安心して使うことが出来ます。
ところで、Electrumの記事にも「Watching-only」という言葉が出てきました(特徴2)。似た言葉が使われていますが、内容は少し違います。Electrum はWatch-onlyにしたウオレットは、(1)履歴の閲覧、(2)受金、(3)ブロードキャストされる前のトランザクションの作成、(4)ブロードキャストを行います。一方、GreenAddressは、(1)履歴の閲覧、(2)受金しか出来ません(図11)
図9: 事前に簡易ログインのための
ユーザーネームとパスワードを設定しておきます。
図10: WEBサイトからでもWatch-Onlyでログイン出来るので
第三者のパソコンを使うことも問題ない。
図11: ElectrumとGreenAddressの比較(Watch-only)
11: ハードウェア型ウォレットのTrezor One、Ledger Nano Sに完全に対応しています。
12: 他のウォレットから秘密鍵と資産をスイープすることが出来ます。
図12: 「Receive」タブからスイープできる。
感想
GreenAddressは昔からあるウォレットで、愛用者も多いのではないでしょうか。どちらかというと、玄人向けの設定項目やUIではないかなと思います。サーバーとのマルチシグアドレスを生成することが特徴なので、このことを理解したうえで使うのがいいかもしれません。冒頭にも述べたように、Android版のアプリには、GreenBitsというウォレットが別にあります。使い勝手や特徴など異なる箇所もあるので、次回まとめていきたいと思います。