2019年12月9日、ライトニングネットワークBOLTプロトコルの4番目の実装者であり、アプリケーション開発者でもある株式会社Nayutaは、「ビットコインフルノード・SPVモード」のハイブリッドモードを搭載した初のライトニングウォレットon Androidを発表した。また同時に、そのソースコードをGithubにて公開した。世界的にモバイルでフルノードを採用をする動きを更に後押ししたい考えだ。

今回のオープンソース化により、ユーザーや開発者が、実際にウォレットがどのように動いているのかを自身で確認できたり、ウォレットを修正したりすることが可能になるという。

株式会社Nayutaは、2015年3月に設立されたパブリックブロックチェーンの2nd Layer技術を中心とした開発を行う会社だ。ライトニングネットワークのコントリビュータとしてグローバルなコミュニティで活動をしており、2nd Layer技術を使用したアプリケーションを事業会社と共同で開発なども行っている。

フルノードを動かせるモバイルが登場

一般的に、 スマートフォン等でよく使用されているビットコインウォレットはSPVモードを採用している。フルノードは高性能のCPUや広い帯域幅、大量のストレージを必要とするため、一般的なスマートフォンのスペックだとカバーできない部分が多くある。そのため通常、フルノードはPCで動かす。

しかし、最近そのフルノードをスマートフォンで動かすアイデアが出てきている。例えば、GreenAddressが開発している「ABCore」はBitcoin Coreを簡単に実行できるAndroidアプリだ。加えて、HTCは最近「Exodus 1s」というフルノードを動かせるスマートフォンを発表している。

「Nayuta Wallet」はフルノード・SPVモードを搭載

こうしたフルノードを搭載する動きを加速し、より広くビットコインやライトニングネットワークコミュニティに貢献するため、同社は「Nayuta Wallet」を実装し、そのコードを公開した。

Nayuta WalletはAndroidにABCore式の「フルノード・SPVモード」を導入した初のライトニングウォレットだ。Androidに「Nayuta Wallet」アプリを導入するだけで、ユーザーはスムーズにフルノードやライトニングネットワークを使い始めることが出来る。これによって、ユーザーには次のようなメリットがあるという。

  1. PCだけではなくモバイルでフルノードを動かすという選択肢
    Nayuta Walletは多くの標準的なAndroidで使用することが出来ます。Nayuta Walletのフルノード設定では、フルノードはもちろん全てのブロックを検証(fully validating node)、一方でストレージを節約するためにトランザクション履歴は剪定する(pruned node)。トランザクション履歴の一部しか保持しないため、ユーザーは基本的にSD cardを追加する必要がない。
  2. フルノードのコントロール性とSPVの利便性という選択肢
    tユーザーは自分にとって最も望ましいコントロール性と利便性のバランスで、フルノードとSPVモードを切り替えることが可能になる。 一般的にユーザーは、利便性や簡易性から多くの場合SPVウォレットとして使用する。しかし、ユーザーがコントロール性や主権性を望んだ際には、フルノードを使うようウォレットを切り替えることが可能。またユーザーが双方を両立して使用する設定が出来るハイブリッドモードも搭載している。このモードでは、例えばユーザーが外出している時はSPVモードでウォレットを使用し、フルノードはブロックを検証するようそのバックグラウンドで定期的に動く。 フルノードが検証する機能は、バッテリーの寿命とモバイルデータを節約するため、端末がWi-Fiに接続され充電されている時に実行される。
  3. モバイル上のフルノードとライトニングネットワーク
    ビットコインフルノードが搭載された初めてのライトニングモバイルウォレットだ。一般的なユーザーは通常のライトニングウォレットとして使える一方で、開発者やパワーユーザーはフルノードを動かすことが可能となる。

同社は、ライトニング決済は将来のビットコインウォレットにとって非常に重要な機能だという。モバイル上のフルノードとライトニングネットワークの組み合わせが両者の可能性を開いていくという。

今後の予定

同社はビットコインとライトニングネットワークコミュニティに貢献し続ける予定だ。また、今後数か月内に、IoTとライトニングネットワークを念頭に置きながら、機能を展開していく予定だという。


Nayuta Wallet: https://nayuta.co/ja/wallet
Github: https://github.com/NayutaWalletKit/NayutaWalletKit