Web3.0の入口となる Trust Wallet について

先日、Crypto Craziesさん主催のイベント「活用のブロックチェーン〜TrustとKyberNetworkで見るWeb3.0の可能性〜」で Trust について登壇させていただきました!

今回はその内容についてまとめておこうと思います。

発表スライド全量は以下にアップしてありますのでご覧ください。

はじめに

なぜモバイルなのか

私がブログでモバイルにこだわっているのは、今の世の中にはPCを持っていない人がたくさんいて、モバイル対応しないとそもそもDAppsを使うことすらできない人が多く、手軽に使うためにもスマホ対応は必須でしょ!と思っているからです。

このスライドは Trust の 開発者の Viktor が Kyber Network のリブランディングイベントで使用していたものですが、2016年の時点でインターネットのユーザはモバイルユーザが半分を超えていることがわかります。

スマホ対応は大事です!

DAppsって?

イベントのLTでSho Tさんが「DApps発散フェーズ」が来る!と仰っていましたが、まずはDAppsって何?っていうおさらいです。

いろいろな定義がありますが、現状はブロックチェーンを使っているアプリが DApps って呼ばれている感じだと思います。(そんなのDAppsじゃない!なんて議論もあったりしますが)
ブロックチェーンにアクセスするためには秘密鍵が必要であり、大部分のDAppsは運営元のサーバにアクセスして取得したWebページを入口にしてDAppsを使用します。

そのため、秘密鍵を管理するウォレットに加え、DAppsを使うためには DApps ブラウザが必要になります。

DAppsのはじめ方の詳細は「DAppsとは? スマホを使った DApps (分散型アプリケーション)入門!」に書いているのでご覧ください。

ウォレットはブロックチェーンの入口!

発散フェーズがくる!と言ってもまだまだ発展途上の技術のため、イベントのタイトルの通り「ブロックチェーンを活用」するためにはUIUXの大幅な改善が必要なのが現状だと思います。

スケーラビリティの問題解決、魅力的なアプリケーションの開発だけでなく、入口となるウォレットはもっと分かりやすいユーザインタフェースで良いユーザ体験を提供する必要があります。
使いにくいとユーザは離れていきますからね。。

そういった意味で、ウォレットもDAppsの発展には必要不可欠な要素であると言えます。

Trust Wallet とは

Trustの使い方の詳細は「超便利なスマホアプリ! Trust ウォレットの使い方! Ethereum の DApps やってみた!」をご覧ください。

スライドに補足すると、

複数の秘密鍵を管理し、簡単に切り替えが可能です。
また、既に利用しているMetaMask や MEW の秘密鍵があれば、インポートすることもできます。

オープンソースで開発しており、セキュリティ診断も受けているのでセキュリティ面は安心です。
ただ、Androidは比較的自由にストアにアプリをリリースできることから、オープンソースにするとパクられてウォレットの詐欺アプリが多く出てしまう問題があります。
これをすべて追跡することは不可能なのでオープンソースは途中でやめている状態です。(途中のバージョンのソースは公開されています)

ETCやPOAなど他のネットワークにも簡単に切り替えることができる点も特徴です。

Trust 開発チーム

Trust の開発は、わずか3名の社員で数カ月で作ったのだからすごい話です。
オープンソースということもあり、開発を手伝うコミュニティにも支えられています。

社員3名は別々の地域に住んでおり、オフィスは存在しない会社だそうです。
あえて言うならスタバがオフィスとのこと。新時代って感じですね!

Trust Wallet の特徴

直観的なUI

ぱっと見てわかるUIは重要ですね。

Trust は Telegram を参考にして UI が作られています。
各企業が大金を費やして研究開発したUIに間違いはない!ってことでそれに乗っかっている感じですね!

ERC20 & ERC721 トークン管理

MEW等、トークンを表示するためにはコントラクトアドレスを入れないと出てこないと思いますが、Trust では規格に準拠していれば自動で一覧に表示されます。便利ですね!

トークンのリストはAPIを使って取得しています。
このAPIもTrust チームで用意していてオープンソースになっていますし、だれでもAPIを利用することが可能です。
(APIについては後述)

ERC721はOpenSeaから情報を取得しています。
そのため、OpenSeaで対応していないものは表示されないのが現状です。

そして、面白い特徴として、Trust は ERC20トークンの画像を取得するAPIも提供しています。
このAPIによってウォレットに画像が表示されています。

この画像データは誰でも追加することが可能なので、自作トークンのアイコンをTrust ウォレットに表示させることができます!

プッシュ通知

単純だけど意外と実装が大変なのがプッシュ通知です。

プッシュ通知を送るためには端末IDが必要なので、サーバ側でウォレットアドレスと端末IDを管理する必要があるんです。

先程のERC20のトークンリスト取得のAPIを自前で用意しているのもプッシュ通知のためと言ってもいいかもしれません。(プッシュ通知しないなら他のAPIサービスを使えばよいので)

サーバ側でブロックを解析して、トークン転送のトランザクションがあったらプッシュ通知をしています。

ただ、課題もあり、プッシュ通知のローカライズが今のところ出来ていません
ローカライズするためにはサーバ側でアドレスに対して言語情報を紐づける必要がでてくるためです。

ウォレットの利便性とプライバシーのトレードオフは難しい課題ですね。

DAppsブラウザ

DAppsを使用するのに不可欠なブラウザ機能です。
DAppsで使用するETHやトークンはウォレットから直接支払われることになります。

また、サポートするDAppsは一覧になっているので便利です。
ただ、載っていないものでも使えるものは多いので、載っていないからといってあきらめないでください笑(IDEXなど)

ちょっと残念なのが、先日iOS版は一部のDAppsを一覧から消さないとAppStoreからTrustアプリごと消すぞ!という脅しがあり、現状は不完全なリストになっています。

ただ、ブックマークがあるので直接URLのぞけば大丈夫です。
詳細は「Apple の規制に負けない!Trust のブックマーク機能の使い方!」をご覧ください。

日本語対応

Trust はローカライズが進んでいます!
日本の翻訳はかなり順調です。

それは、horyさん(@hory_BTC)が頑張ってくれて初版の大量の翻訳をしてくれて、その後の追加機能の翻訳を私が追いつき続けているという影の努力があるからです笑

単語や文章だけを見て翻訳するのはかなり大変なので間違っているところもあると思います。
変な訳があったらこっそり教えてくださいww

Trust のさらなる便利機能

Trust SDK

現状のDAppsはほぼブラウザベースでUXが微妙です。

だからと言って、ネイティブアプリ側でウォレット機能を作るのは開発者にとって手間ですし、利用者側もゲーム開発者を信じる必要があります。
そこで、Trust の SDK を使えば、秘密鍵を使うところだけは Trust にお任せするようなネイティブアプリを作ることができるのです。

SDKはリリース済なので、利用したアプリが開発されるのを待つ状態です。
おそらく、Loom network のゲームで利用されると思います。

Trust-Ray

上の説明でAPIの話を出しましたが、Trust は多数のAPIを利用して作られています。
それを図示したのが上記のスライドの図です。(私がソースから逆生成した図なので間違ってたら教えてください)

トランザクションの発行や残高の取得については Infura を経由してブロックチェーンにアクセスしていますが、トランザクション一覧やトークンの一覧の取得などの便利機能はTrust のサーバ側でブロック情報を解析して蓄積したDBから取得しています。

その他、価格はCoinMarketCap、ERC721はOpenSea、ERC20の画像データはGithub、DAppsの情報は Trust のサーバから取得しています。

このAPI群はすべてオープンなので誰でも使うことが出来ます。

実際、ERC20の画像データは、Balance.io0x Tracker で使用されています。
DApps情報のAPIを使って Trust の DApps 一覧と同期するように私が作ったのが「Trust DApps List」です。

Decentralized Wallet

ただ、これだけAPIを使っているとウォレットが中央集権的だなーという印象を受けると思います。
でも、ほとんどのウォレットアプリがAPIを使っているのが現状なんです。

Trust はAPIを提供するサーバがダウンした場合でも最低限のトランザクション発行や残高の取得は実施できるようにしています。
本当だったら全部サーバのAPIに集約したほうが開発者としては楽なんですが、サーバが落ちた時のことも考慮して、 ” Decentralized Wallet ” というこだわりを持って対応しているのです。

Trust Platform

トークンセールに関して具体的な法律的解釈が無いことから中止にしたTrust Platformです。
トークンが販売できないとなると、エコシステムが不完全になるのでウォレット機能の確実な進展に力を入れているのが現状です。

あと、Viktorがトークンセールの各種調整のせいで2ヶ月全然開発できなかったってのも理由としては大きいと思います。

今後、環境が整備されたらまた計画がスタートする可能性はあります。
詳細は「Trust Platform で実現される DApps エコシステム【TST トークン】」をご覧ください。

Trust Wallet の直近の予定

今後の予定で一番気になるのは先日 Viktor が来日した理由ですね。。。
私も教えてもらっておらず、今後発表するよ!と言われています。

気になりますね!

さいごに

Sho Tさん(@showying_art)はじめとする 運営の方々、イベントに協賛いただいた Crypto Times 様、ご参加いただいた方々、ありがとうございました!

またこういった機会がありましたらよろしくお願いします!

 

Twitter でマキオをフォローしよう!

ABOUTこの記事をかいた人

日本最大級の金融系WEBシステムのエンジニアをやりながらブロックチェーン技術を研究中。 DApps×スマホの未来に期待し、スマホ中心に記事を展開しています。 Binance に買収されたことで一躍有名になった Trust Wallet の日本Telegramグループのadminをやっています。