BlueWalletの使い方からLightning Networkを考える
執筆者:望月 紀生(HashHubインターン:@mochiblock)
はじめに
先日Lightning Networkに対応したウォレットであるBlueWalletが非常に使いやすい!という声を聞いたので、今回はその使い方をダウンロードからみていきます。そこからLightning Networkについて思ったことを書いていきます。
HashHubインターンなら『Denryu』の使い方を紹介しろよ!!という声が聞こえてきそうですが、今回は聞こえなかったことにします。ちなみにDenryuもすごく使いやすいので、みなさん使ってくださいね。
*ビットコインはご自分で用意してください٩( ᐛ )و
ダウンロード
ダウンロードはこちらでhttps://bluewallet.io
スマホ版に特別なインストール方法はないので、Apple StoreかGooglePlayでダウンロードするだけです。今までiOSに対応したライトニングウォレットはかなり少なかった気がしますが、こちらもしっかり対応されてるみたいですね。素晴らしい。
開く
開くと最初に普通のビットコインウォレットを作るかライトニングウォレットを作るか聞かれます。今回はライトニングを選択します。名前は入れても入れなくても大丈夫です。
また、すでにウォレットがある場合は、画面下にある"Import wallet"で移行することが出来ますので、ここにニーモニックなどを入力しましょう。(注:ウォレットのseedをサーバー側に渡すことになるので、大量のBTCが入っているウォレットはセキュリティの観点から望ましくありません。あくまで自己責任でInportしましょう)
もし作り間違えても後で新しいものを作ることができます。ただし、BitcoinかLightningかの属性は変えることが出来ませんのでご注意を。名前は後でも変えられます。
受け取り
資金の入っているウォレットをインポートしない限りは受け取りしか出来ません。そのためまずは受け取りをしてみましょう。
財布を作ると左のような画面ができます。下にReceiveとありますので、押してください。すると受け取りたい金額と、その支払いの説明を入力する欄が現れますので、両方とも入力したらCreateを押してください。
特にDescriptionの方は何かしら入れないとダメなようなので、一文字でもいいので入れましょう。さらに高額支払いはまだできないようで、自分が試した時は2999999satoshiが限度のようでした。
無事終わると支払いQRコードが表示されます。このQRコードを使って支払いしてもらっても大丈夫ですし、その下にあるlnbc10....みたいなものを支払い側に送って、支払ってもらうのもありです。
ちなみに自分は、すでにスマホ内にあったウォレットから写しました。手順としては
- QRコードをスクショ
- スクショを、slackで自分に送信
- Bluewalletで読み取る
という形で移しました。
注:現時点では全ての受け取りは Lightning Network 経由でもらう必要があります。そのため通常のwalletからもらうことはできません。すでにLN Walletを使っている友人からもらうなどしましょう
完了すると以下の画面のようにすぐに反映されます。体感で1秒ぐらいでしょうか。非常に早かったです。
送金に関しては、先ほどのような支払いQRコードを読み取るか、lnbc....の部分を送って貰って支払う形になります。
やっぱり速い
正直普通の電子マネーに比べれば特段早い訳ではありませんが、Bitcoin決済であると考えると非常に速いです。通常は10分以上かかる訳ですからね。現状高額決済は出来ませんが、100円,200円程度なら十分使えるなと感じました。
やっぱりめんどくさい
先ほど受け取りをしましたが、面倒な点がありました。そう、受け取り側が、受け取る金額を指定しなければならない点です。というのもLightning Networkではinvoice(=請求書)を最初に発行する必要があります。これを発行するために最初に金額を指定しておく必要があります。
一般店舗だと、これで問題ないでしょう。でも今回のようにとりあえず入金したいという時は面倒です。またinvoiceには発行期限が設定されており(無期限も出来る)、後でX円支払う時に期限が切れてしまっていたら、もう一度invoiceを発行して貰わなければなりません。またLightning Networkでよく言われるマイクロペイメントですが、もし1秒ごとに1satoshi払うという場合は1秒ごとにinvoiceを発行しなければなりません(データベースを使って、後でまとめた金額をinvoiceで請求すれば毎回ではなくなりますが)。ユーザーはそのやりとりを体感することはないでしょうが、システムとしては微妙ですよね。そういう点でBitcoinのようなアドレスベースで支払えないのは面倒です。
ちなみになぜinvoiceベースで支払うのかはこちらの記事で考察されています。またinvoiceなしで支払い出来るような提案もされているので、この状態は今だけかもしれません。
”でも”使いやすい
Bluewalletの使いやすい点は『チャネルを貼る煩わしさを経験しなくて良い』ことだと思います。
今更ではありますがLightning Networkはオフチェーン技術です。Bitcoinネットワーク層とは別にもう一つペイメント層を作り、そこでノード間が繋がっています。このノード間の繋がりがチャネルになりますが、これは本来手動です。必ず何かしらのノードとチャネルを繋げる必要があり、繋がらない限りは送金ができません。
Bitcoinの場合ソフトをダウンロード・起動した時点で自動的にノードと繋がり、送金可能になります。ライトニングではBitcoinネットワークにトランザクションをブロードキャストし、これがブロックに取り込まれることでチャネルが開かれます。つまり最低10分です。これが出来ないと送金ができないので、ウォレットをダウンロードしてすぐにライトニング払い!とはいきませんでした。これはチャネルの存在を知らない人にとっては摩訶不思議ですね。
ですがBlueWalletはそれを固定のノード経由で行うことで、その煩わしさをなくしています。ある意味取引所のように、秘密鍵を事業者側に預けるる形になっているため、セキュリティに不安がある方もいるかもしれませんが、そこはトレードオフと割り切ることでUXの大幅な改善に繋げたということでしょう。そのためユーザー側はこのトレードオフをしっかり理解した上で使用する必要がありそうです。
詳しくはこちらの記事で書かれていますので興味のある方は読んでみてください。ただ自分で他のノードに繋ぐこともできるようなので、自分で繋げない訳ではないです。
まとめ
UI/UXの点では一気にトップに躍り出たのではないかと思います。特にiOSにも対応しているのは大きいです。また他のLappsとも連携している点も素晴らしいと思います。
ただしUXの部分はそれを実現するために、トレードオフによって実現されています。最終的に多くの人が気にしないかもしれませんが、もしもウォレットを開発する際は、どこまでを運営が負担することでUXを向上させるかを考えた方がいいかもしれません。
参考資料
お知らせ
■ブロックチェーンエンジニア集中講座開講中!
HashHubではブロックチェーンエンジニアを育成するための短期集中講座を開講しています。お申込み、詳細は下記のページをご覧ください。
ブロックチェーンエンジニア集中講座:https://www.blockchain-edu.jp/
■フレセッツ株式会社では仮想通貨の事業者向け BtoB ウォレットの開発をしていただけるエンジニアを募集しています!詳しくはこちら→https://fressets.com/career/
■HashHubでは入居者募集中です!
HashHubは、ブロックチェーン業界で働いている人のためのコワーキングスペースを運営しています。ご利用をご検討の方は、下記のWEBサイトからお問い合わせください。また、最新情報はTwitterで発信中です。
HashHub:https://hashhub.tokyo/
Twitter:https://twitter.com/HashHub_Tokyo