コラム Column

これを読めばweb3ウォレットを理解できる!

img-web3-wallet

■はじめに

ブロックチェーン技術の普及に伴い、その技術をベースとしたweb3というキーワードが注目を集めています。web3は次世代の分散型インターネットとも呼ばれています。その分散型インターネット上で各ユーザが使用しているのがweb3ウォレットというアプリケーションです。web3ウォレットは金融インフラにおいても、今後ますます重要な役割を担うようになると考えられており、多くの企業や団体がweb3ウォレットの開発に取り組んでいます。

▼TISのweb3に関する詳しい取り組みはコチラをクリック
top画像-blockchain

本コラムでは、web3ウォレットに関する疑問に答えつつ、web3ウォレットが理解できるように解説していきます。

1.web3ウォレットとは?

web3ウォレットとは、簡単にいうとブロックチェーン上で暗号資産(仮想通貨)の取引などを行うために使用するアプリケーションのことです。web3というキーワードが出てくる以前は、単に「ウォレット」や「デジタル・ウォレット」と呼ばれていました。

最近ではビットコインやイーサリアムなどの暗号資産だけでなく、非代替性トークン(NFT)などのデジタル資産の管理や、ブロックチェーン上に構築されているDApps(Decentralized Applications:分散アプリケーション)にアクセスするためにも使用されており、いわゆるweb3と言われるブロックチェーン・ネットワーク上で使用されていることから「web3ウォレット」と呼ばれるようになりました。

2.web3ウォレットの中に暗号資産が入っているの?

img-web3-wallet-中身

このweb3ウォレットですが、名称が「ウォレット」となっているだけに、「お財布」をイメージされている方も多いのではないでしょうか。実際、お財布の中には「お金」が入っているのと同様に、web3ウォレットの中には「暗号資産」や「NFT」が入っていると思っている方も、少なからずいるのではないかと思います。

しかし、お財布の中からお金が盗まれる(抜き取られる)ように、暗号資産が盗まれたと聞くと、web3ウォレットの中から暗号資産が引き出されたとイメージしてしまうのは間違いです。結論からいうとweb3ウォレットの中に暗号資産やNFTは入っていません。実は、web3ウォレットの中に入っているのは本質的には「秘密鍵」だけなのです。

暗号資産やNFTなどのブロックチェーン上のデジタル資産を取引する(トランザクションを発行する)ためには、そのデジタル資産の所有者(=ユーザ)が持つ秘密鍵を使ってトランザクションに署名をする必要があります。web3ウォレットは、その署名のために使う秘密鍵を管理してくれているアプリケーションなのです。一般に1つのweb3ウォレットは複数の秘密鍵を管理することができるようになっており、このためweb3ウォレットは「お財布」というよりはむしろ、複数の鍵を管理している「キーホルダー」と呼んだ方が実体に近いイメージになります。では、実際の暗号資産やNFTなどのデジタル資産はどこに入っているのでしょうか?

答えは、ブロックチェーンの中に入っています。ブロックチェーン上に刻まれている(記録されている)値や状態そのものが、デジタル資産の実体となります。ブロックチェーンには、例えば「Aさんかビットコインを〇〇BTC持っている」や、「Bさんが××のNFTを持っている」などの値や状態が記録されており、デジタル資産の実体とは、このようなブロックチェーン上の記録でしかありません。その記録を更新することが取引(トランザクション)を行うことであり、そのトランザクションの発行のために秘密鍵が必要になるといった具合です。

web3ウォレットというアプリケーションは、この秘密鍵を管理(保管)してくれていて、管理している秘密鍵に関連するデジタル資産の情報を、ブロックチェーン上の記録を参照しながら表示してくれています。つまり、「この秘密鍵をもつユーザはビットコインを〇〇BTC持っている」や「この秘密鍵をもつユーザは××のNFTを持っている」などの情報自体はブロックチェーン上にあり、web3ウォレットはその情報を表示してくれているだけなのです。ですので、web3ウォレット中には暗号資産もNFTも入っていないのです。

3.暗号資産が盗まれるとは?

img-暗号資産が盗まれる

web3ウォレットの中には暗号資産もNFTも入っていないというのに「暗号資産が盗まれる」とは、どういう状況を指すのでしょうか。先ほど、暗号資産やNFTなどのデジタル資産の実体はブロックチェーン上に記録されている値や状態そのものであると説明しました。しかし、ご存じの通りブロックチェーンには改ざん耐性があり、これらの値や状態を勝手に書き換えて盗む(所有者を自分に書き換える)ことはできません。ブロックチェーン上の値や状態を書き換える(更新する)ためにはトランザクションを発行する必要があり、そのためには先に説明したように、デジタル資産の所有者の秘密鍵を使った署名が必要です。

このため、「暗号資産を盗む」とは、「暗号資産の所有者を書き換える」ことになり、そのためには「所有者の秘密鍵で署名する」必要があります。ですので、「暗号資産が盗まれた」状況とは、つまり「秘密鍵が盗まれた」状況を指すことになります。このように、秘密鍵が盗まれてしまうと、その秘密鍵に関連するデジタル資産はトランザクションを発行することで自由に取引されてしまいます。所有者を書き換えられて盗まれることにつながりますので、秘密鍵が盗まれないように管理することは極めて重要なことです。

4.デジタル資産を安全に守るために重要なこと

秘密鍵を盗まれてしまうと上述のように大変なことになりますが、同様に紛失してしまっても大変なことになります。秘密鍵を紛失してしまうと、トランザクションへの署名ができなくなってしまいます。たとえ当該のデジタル資産の所有者であっても、そのデジタル資産を操作する(取引に使う)ことができなくなってしまい、実質的にそのデジタル資産を失ったことと同じです。そのため、盗まれないように対策することに加え、紛失に備えてバックアップやリカバリ手段を設けておくことが重要です。一般的なweb3ウォレットにはそのようなバックアップやリカバリ手段を提供する機能が備わっています。

5.秘密鍵管理の解決策は?

img-鍵

web3に参加しようとするユーザにとって、秘密鍵の管理は重要であるが故にやっかいでもあります。一般ユーザがweb3の領域になかなか踏み込めない(まだまだ一般に広く浸透していない)1つの要因ともなっています。もちろん、このような秘密鍵の管理をユーザが直接行わず、暗号資産取引所/交換所などのサービス事業者といった第三者に任せて、秘密鍵を預けることも可能です。

しかし、このような場合、秘密鍵のセキュリティは完全に第三者を信用するしかなく、第三者のセキュリティが甘ければ秘密鍵が漏洩してしまい、デジタル資産が盗まれてしまいます。実際、過去に暗号資産(仮想通貨)が大量に盗まれたいくつかの事件は、こうしたことが原因です。「鍵のセキュリティはもちろん保ちたいけれど、管理は大変なので自分では行いたくない。かといって第三者には任せたくない。」が本音ではないでしょうか?そうした鍵管理の悩みを解決するとともに、web3におけるUXを劇的に改善すると期待されている技術の1つが「Account Abstraction(アカウント抽象化)」と呼ばれるものです。Account Abstraction を使ったweb3ウォレットでは、秘密鍵の管理自体が不要となります。

6.Account Abstraction とは?

Account Abstraction は、イーサリアムのコミュニティで注目されている技術です。今後この技術を応用したさまざまなweb3ウォレットのプロダクト開発が期待されています。Account Abstraction を応用すると、次のようなweb3ウォレットを実現できます。

①秘密鍵の保持が不要になる(管理しなくてよい)
②秘密鍵ではなく任意の認証方法(パスワード、生体認証、マイナンバーカードの本人認証など)を使ってデジタル資産の取引ができる
③イーサリアムのセキュリティ機能とは別に、独自のセキュリティ機能を実装することができる(取引できる条件などがプログラミング可能になる)
④デジタル資産の取引に必要な手数料(ガス代)を、ユーザの代わりにサービス提供側が代行して支払うことができる

①と②によって、ユーザは秘密鍵管理の問題から解放されます。これによってユーザは秘密鍵の管理自体が不要となり、その代わりに従来から使用しているパスワードや指紋認証/顔認証などの生体認証を使って、デジタル資産の取引(トランザクションの発行)を行うことが可能となります。これはユーザにとって大変便利な仕組みです。

また③によって、セキュリティの強化が可能です。たとえば、あるデジタル資産は他人へは移転できないといった制約を設けることや、ある特定の取引は②の認証に加えて、二段階認証(多要素認証)をしなければならない、などの任意の条件をプログラミングで実装することができます。

④は、ユーザにサービスを提供する側(企業など)にとって、ユーザに提供したい機能の1つです。通常は取引をするユーザ自身が手数料(ガス代)を支払いますが、これをサービス提供側が代行して支払うことができる機能になります。これにより、たとえばある特定のサービスを利用する場合は、ユーザ側の手数料負担をなくすなど、さまざまなユースケースに適用することができる機能になります。

7.最後に

今回のコラムは、web3ウォレットについて説明しましたが、いかがでしたでしょうか?web3ウォレットは、web3という次世代の分散型インターネットにアクセスする全てのユーザにとって必要不可欠なアプリケーションであり、PAYCIERGE(ペイシェルジュ)が目指すデジタル決済プラットフォームにおいても、重要な役割を担うようになるでしょう。

また、Account Abstraction はweb3ウォレットのUXを大きく改善する技術であり、今後 Account Abstraction を応用したさまざまなweb3ウォレットがプロダクトとして登場してくると予想されます。今回のコラムが、web3ウォレットについて皆さんのご理解が深まる一助となれば幸いです。

▼TISのweb3に関する詳しい取り組みは以下をクリック
https://www.tis.jp/branding/web3/
top画像-blockchain

※この記事が参考になった!面白かった! と思った方は是非「シェア」ボタンを押してください。