COIN TOKYO

¥966,859
BTC -0.17%
¥24,452
ETH -0.49%
¥25.42
XRP -0.47%
¥35,681
BCH -1.02%
  • 2020/03/04
  • 2020/03/04
  • 株式会社モバイルファクトリー 三浦辰典

DAppsのオンボーディングとUniversal Loginについて

このエントリーをはてなブックマークに追加
DAppsのオンボーディングとUniversal Loginについて -コイン東京
この度は東証一部上場企業のモバイルファクトリーでブロックチェーン事業開発を担当されている三浦辰典氏に記事を寄稿して頂きました。Universal Loginについて、DAppsの観点から紹介して頂いています。

しばらく前の話になってしまいましたが、2019年10月8日から大阪南港ATCホールにてEthereumの国際カンファレンス「Devcon 5」が開催されました。

開発者向けカンファレンスとしては世界最大級であり、各国から著名な開発者が大阪に集結し4日間にわたる議論を繰り広げました。

分散型アプリケーション(DApps)を身近にすることをミッションとしているビットファクトリーもPhase 0のスポンサーとしてDevconを支援しています。私もエンジニアとして参加させていただきました。今回はカンファレンスの中で特に印象に残ったUniversal LoginについてDAppsの観点から紹介します。

DAppsとネイティブアプリの決定的な違い

いわゆる「仮想通貨バブル」が弾けて久しいですが、ブロックチェーンはまだまだ実社会に浸透しているとは言えません。

Ethereumのスマートコントラクトを利用したDAppsの利用者はスマートフォンのネイティブアプリに比べればはるかに少ないのが現状です。その一因としてDAppを使い始める際に必要な手順が多く、かつその理由が理解しにくいことがあるでしょう。

DAppsのオンボーディングをスムーズにするためにはユーザログインの機構を直感的にしなければなりません。一般的なアプリのログインと比較してDAppsのログインを分かりやすくするにはどうすればよいか考えていきます。

ネイティブアプリはどのようにログインのハードルを下げたのか

一昔前のWebアプリといえばユーザ名とパスワードによる認証が一般的でした。しかし人間はサービスごとに設定した複雑なパスワードを忘れやすく、またパスワードは盗まれやすいという問題を抱えており、ユーザと開発者双方の管理が煩雑な割に不正ログインなどのセキュリティ事件を完全に防ぐことが困難でした。

しかし、インターネットでGoogleやTwitter, Facebookの提供するサービスが人気になるにつれて、彼らのプラットフォームを利用したログイン機構が整備されました。これがOAuthやOpenID Connectです。最近のWebアプリではログイン画面に「Sign in with Google」などのボタンが並ぶようになりました。

このボタンからユーザ登録を行った場合、一度Googleなどのサービスで認証を行った後に元のWebアプリに戻るように遷移するので新たにパスワードを設定する必要がありません。ユーザは先の大企業のサービスのパスワードだけを覚えればよくなり、様々なパスワードを覚える手間から解放されました。

一方で、人々がインターネットをPCからではなくスマホ、タブレットから利用するようになったことで、ネイティブアプリから直接インターネット上のコンテンツに触れるようになりました。

AppStoreやGooglePlayからダウンロードするネイティブアプリでは、Webアプリのようなログインが最初の1回だけで済むものも多く、毎回ログインする手間がないため快適にサービスを使うことができます。このように、ログインというサービスの最初のハードルは下がり続けてきました。

DAppsへのログインは現時点でハードルが高い

さて、2020年現在に有名なDAppsのほとんどは、アクセス時にMetamaskあるいは他のウォレットと連携するように求めてきます。これはDAppsがユーザアカウントを利用してサービスを提供するものである以上当たり前のことです。

しかし、DAppsに慣れ親しんでいるユーザはともかく、初めてDAppsに触れるユーザにとってこれは不自然な動きです。あるサービスを利用するためにMetamaskやDapper等の一見得体の知れない拡張機能を入れなければならないことはユーザに不信感を抱かせます。

例えば、普段スマホのブラウザでインターネットをしていてリンクを踏んだ瞬間にAppStoreが立ち上がってしまうことがあります。アプリのインストールを目的に意図して踏んだリンクならともかく、突然知らないアプリを開こうとしたらすぐに閉じるのが普通でしょう。

Metamaskにも同様のことが言えます。慣れ親しんでいるスマートフォンのアプリならまだしも、今まで入れたことがないGoogle ChromeやFirefoxの拡張機能をアプリひとつのために導入するのは抵抗があるのではないでしょうか?

また、日本ではブラウザのシェアの約25%がMetamaskの対応していないMicrosoft EdgeやInternet Explorer、Safariであるというデータもあり、スマホさえ持っていれば誰でも使えるネイティブアプリと比べると、ユーザへのリーチという点でも問題があります。

つまり、アプリへのログインという最初の段階がWebアプリやネイティブアプリに慣れているユーザにとっては難しすぎるのです。これではDApps自体をユーザに評価してもらうことすらできません。

しかし、ユーザ自身がEthereumのウォレットを持ち、Etherやトークンを所持することはDAppsに不可欠です。なんとか既存のWebアプリやネイティブアプリに近い形でユーザにログインさせることができればユーザの抵抗を減らしたいところです。

そのひとつの方法として登場したのがUniversal Loginです。

Universal LoginはERC 1078という規格を用いて、既存のWebアプリのログインフローに近い動きを実現しています。Devcon 4でプロトタイプが公開されていましたが、今回のDevcon 5でβ版が発表され実際のアプリで動いている様子が見られました。ワークショップで流されたデモ動画がこちらです。


Universal Login Demo

Universal LoginがDAppsへのログインの解決策となるか

Universal Loginはスマートコントラクトを利用してEthereumのシステム上にユーザのウォレットを生成します。ユーザのアカウントはENS(Ethereum Name Service)であり、username.domainの形で書かれるためユーザの指定した文字列が直接使われます。

そのため、ランダムな文字列になるウォレットアドレスに比べると自分のアカウントであることが分かりやすいです。ちょうどTwitterやInstagramのアカウントを作成し、ユーザ名を共有できるのと似ています。

Universal Loginの有用な点はこうして生成したアカウントを別のDAppsやデバイスからも利用できることです。動画の2:00ごろをみると分かるように、新しいDAppsでENSを入力してログインしようとすると絵文字が画面に表示されます。この絵文字を元のDAppsで選択するだけで認証することが可能です。

ちょうどスマホに届いたSMSに記載された数桁のコードを入力する認証形式に似ており、操作に迷うユーザの数を減らすことができます。

以降も同様に新しいDAppsを利用するたびにアカウントと紐付けていくことができるので、ひとつの分かりやすい見た目のアカウントで複数のサービスを利用するWeb2.0に近いログイン体験を作ることができました。

もう一つ重要なメリットとしてコントラクトウォレットでありながらユーザからEtherを送金する必要がない点があります。動画の0:30ごろではENSの指定後にユーザが持っている暗号資産を送金するか、クレジットカードまたは銀行口座で決済するかを選ばせています。

後者を選んだ場合払った通貨分のEtherが生成されたウォレットに入るようになっています。これもオンボーディングにおいて大変有用な仕組みです。既存のDAppsユーザは自分のウォレットといくらかのEtherを持っていることを前提としているため、ウォレットを確認できない場合ウォレットをダウンロードさせる流れにせざるをえません。

しかし、DAppsを使い始める途中でEtherを法定通貨と交換できる仕組みを導入することで、ウォレットを作ってEtherを買うというユーザの関心の外に注意を向かせなければならない問題を回避することができます。

現在のDAppsのユーザは元から暗号資産やEthereumに興味がありウォレットを所持している人がほとんどでしょうが、これからのインターネットではユーザがブロックチェーンを利用していることを意識しないDAppsが増えていくでしょう。

そうなったときに必要なのはサービス自体に集中させられる組み込み型のウォレットなのではないかと考えています。

以上のようにDAppsを利用するユーザにとっては良いことづくしのように見えるUniversal Loginですが、DApps側が対応している必要があるため開発の手間はやや増えます。ですが、公式ドキュメントが整備されつつありWebアプリ開発者に寄りそう姿勢が感じられます。

ちょうど今のWebアプリで「Sign in with Google」などを用意するのが事実上必須になっているように、DApps開発者もUniversal Loginを受け入れていくのではないでしょうか。

Universal Loginの問題点

ただし、Universal Loginにもいくつか未解決の課題があります。まずアカウントにログインできなくなったときの復旧にバックアップコードが必要です。

動画の3:43ごろを見ると分かるようにすべてのログイン可能なデバイス(PC、スマホなど)を紛失した場合にはバックアップを求められます。バックアップコードはランダムな文字列なので、ニーモニックよりは文字数が減っているとしても覚えたり書き留めたりする負担は残っています。

もうひとつはクレジットカードまたは銀行口座からの送金によるアカウント生成ができる国に制限があることです。現在のUniversal Loginではフランスやドイツなど一部の国でのみ決済が可能になっており、日本は対象外となっています。

そのため日本のユーザは今までと同様に取引所などで暗号資産を買うか、人に譲ってもらう必要があります。日本のユーザが自然にDAppsを利用できるようにぜひ対応を進めてもらいたいところです。

Universal Loginによってウォレットは不要になるのか?

さて、人間がDAppsを使う上では理想的に見えるUniversal Loginですが、果たして既存のウォレットはもはや無意味なものになってしまうのでしょうか?

確かに、DAppsのオンボーディングという点ではユーザにウォレットを意識させないUniversal Loginは他に比べて有利でしょう。しかし、他のウォレットにもそれぞれ特長があります。

例えば、暗号「資産」を保存するとき最も安全なのはハードウェアウォレットであることは変わりありません。

ハードウェアウォレットは自宅などの安全な場所でインターネットから切り離しておくことで物理的な盗難やハッキングを防止することができる一方、Etherの送金やトランザクションの生成のためにはパソコンやスマホとケーブルで接続する必要があり不便でした。

しかし、昨年登場したLedger Nano XはハードウェアウォレットでありながらBluetoothによる無線通信に対応し、安全性と利便性と両立しようとしています。

またパソコン上で利用するデスクトップアプリや、スマホのネイティブアプリも進化しています。これらのウォレットはハードウェアウォレットほどではないにしてもデバイスのストレージ内に秘密鍵を保存するため安全ですが、異なるデバイス間の鍵管理の煩雑さがDAppsを利用する上で不便でした。

その解決策としてDAppsの画面に表示されたQRコードをスマホのカメラで読み込むことによりスマホアプリのウォレットと連携させる仕組みがあり、Wallet Connectや我々Uniqys ProjectのQuragé Linkが提案されています。他にも、MyEtherWalletやArgentなどEthereumのスマートコントラクトを使い、Webベースで管理を行うコントラクトウォレットも種類を増やしています。

いずれにせよ、ユーザにとって重要なことはDAppsを使う上でウォレットの選択肢があることです。今までDAppsに触れてこなかった層をスムーズにオンボーディングさせるにはUniversal Loginが有効なことは間違いないでしょう。

しかしUniversal Loginを導入したから今までのウォレット利用者を排除するということはありません。Ethereumのスマートコントラクトという仕組みをユーザそれぞれの納得のいく形で使うことができる状態こそが分散型であるひとつの意味です。

ブロックチェーンや暗号資産そのものへの興味・関心の有無にかかわらず、すべての人々がDAppsを身近に利用している世界を目指して、各ウォレットやDAppsは発展を続けていくでしょう。我々Uniqys Projectもその一員として今後も開発を続けていきます。

※現在「Universal Login」は「UniLogin」に名称を変更しています。
https://unilogin.io/

仮想通貨の最新情報をお届けします!

関連キーワード

人気記事ランキングまとめ

もっと見る