今回は、Starknet上で資金とNFTを管理したり、dAppsに接続するためのスマートコントラクトベースのウォレット「Braavos」について解説します。
Starknetは独自の開発言語「Cairo」を使用しているため、現在Starknetネイティブのウォレット開発や競合が進行中です。そしてその競合の中で、Argent Xと今回紹介するBraavosが、2つの主要なプレーヤーとなっています。
筆者は元々、プロダクトローンチ日が早かったこともありArgent Xを愛用していたのですが、最近は以下などの理由からBraavosの方を使うことが多くなりました。
- UI/UXが大幅に改善されたこと
- 機能面で優れていること
- 「.stark」ドメインを無料で登録できたこと
「Starknetのスマートコントラクトウォレット」と聞くと難しそうだという印象を受けるかもしれませんが、将来的にStarknetエコシステムが拡大していくと考えている人は、いずれこのようなツールを使っていく必要があるため、この機会に概要だけでも理解しておく価値はあると思います。
ということで今回は、Braavosというウォレットの概要や魅力、そして裏側に備わっている特徴的な機能や仕組みなどについて解説していきます。
でははじめに、この記事の構成について説明します。
まずは、StarknetネイティブのウォレットであるBraavosについて、簡潔に概要を説明していきます。
続いて、Braavosウォレットが誇る特徴的な機能の一つ「Hardware Signer」について理解を深めるために、「Hardware Signer: The Latest Crypto Wallets Innovation for Everyday Users」という記事を日本語に翻訳し、解説していきます。
最後に、「Hardware Signer」以外のBraavosウォレットの特徴的な機能やポイントについて解説します。
本記事が、Braavosの概要や注目ポイント、スマートコントラクトウォレットやHardware Signerの詳細などについて理解したい方にとって、少しでもお役に立てれば幸いです。
Excellent article!! 🙏
— Braavos – StarkNet Wallet (@myBraavos) February 18, 2023
※本記事は一般的な情報提供を目的としたものであり、法的または投資上のアドバイスとして解釈されることを意図したものではなく、また解釈されるべきではありません。ゆえに、特定のFT/NFTの購入を推奨するものではございませんので、あくまで勉強の一環としてご活用ください。
イーサリアムnaviの活動をサポートしたい方は、「定期購読プラン」をご利用ください。
Starknetのスマートコントラクトウォレット「Braavos」について
概要
Braavosは、Starknet上で資金とNFTを管理したり、dAppsに接続するためのスマートコントラクトベースのウォレットです。
次の章で詳しく説明しますが、StarknetはAccount Abstraction(アカウントの抽象化)に対応したチェーンです。そのため、一般的なセルフカストディアル型ウォレットであるMetaMaskのようなものではなく、アカウント(クライアント)側とブロックチェーン上に存在するスマートコントラクト側の2サイドを備えたウォレット機能を提供しています。
そして現在、BraavosとArgent XがStarknetウォレットの2大トップとして君臨している状況にあります。
余談ですが、2022年11月18日に、Braavosの共同創業者はArgent Xのコントラクトに重大な脆弱性を発見し、開示ならびに報告を行ったという功績があります。これに関しては、エコシステムの健全な発展のための良い行いであると筆者は評価しています。
ちなみに、Starknet上で展開される「オンチェーンゲーム」領域に関しては、別の記事で紹介した『Cartridge』が、ゲーム専用にウォレットのUI/UXを整えながらポジションを取りに行っている状況です。
また、BraavosはスマートフォンやPCにダウンロードして利用でき、多様なニーズに合わせて設計された独自のセルフカストディアルウォレットです。
現時点では、以下のブラウザやアプリに対応しています。
Braavosは「次世代型のウォレット」として、クリプトを直感的かつ安全に始めることを目的として作られたものだと主張しています。
詳細は後で説明しますが、Braavosのようなスマートコントラクトベースのウォレットでは「ウォレット」と「アカウント」を2つの要素に分割することを実現し、カスタム署名検証ロジックやカスタム実行ロジックを追加できます。そのため、これまでのクリプトウォレットでは実現できなかった機能を実現することができる利点があると言われています。
ウォレット開設方法
Braavosのウォレット開設については、MetaMaskの場合と特に大きく異なる部分はないため、本記事では割愛します。
特徴的な機能「Hardware Signer」について
本章では、「Hardware Signer: The Latest Crypto Wallets Innovation for Everyday Users」について解説しながら日本語に翻訳し、Braavosウォレットの特徴的な機能であるHardware Signerに関する理解を深めることを目的としています。
なお、Braavosのマーケティングリーダーであるbertrand氏から許可を得たうえで、元記事の日本語訳および記事への掲載を行っております。
Hardware Signer:日常的に使えるクリプトウォレットの最新イノベーション
Braavosでは、Account Abstraction(アカウントの抽象化)とモバイル端末のハードウェアセキュリティモジュールを活用し、最先端のセキュリティならびにUXを提供しています。
私たちは、リスボンでのStarknet CC期間中に、iOSとAndroidデバイス向けの新しいHardware Signer機能をリリースしました。
本記事では、Hardware Signerとは何か、どのように機能するか、そして何故それがセキュリティとUXの面でクリプト業界のゲームチェンジャーになると私たちが信じているのかについて説明します。
背景
ここ数ヶ月、私たちBraavosチームは、「ユーザーがセルフカストディウォレットに必要とする基本的な機能」を実装することに注力してきました。
私たちは、ユーザーがいつでもどこでも資金にアクセスできるように、ウォレットを一般的なブラウザ用の拡張機能として、またiOSとAndroidデバイス用のアプリケーションとしてリリースしました。
さらに、オーディオ・ビデオ・3D画像用のNFTギャラリーなど、多数の機能をウォレットに導入しています。
dAppsがサインオンを求める際に、ユーザーが理解しやすい英語で内容を説明する「Transaction Explainer(取引説明)」も搭載しました。
また、ウォレットには内蔵の取引所があり、ユーザーはStarkNetのベストレートでトークンを交換することも可能です。
より優れた操作性、そして、より高いセキュリティを実現するためのビジョンに沿ったモバイルアプリであり、ブラウザ拡張機能よりも優れた性能を持っていると自負しています。
上記は、Braavosが導入したStarkNetにとって完全に新しい機能です。ただし、広範なクリプトエコシステムの他のウォレットを見渡せば、既にそのような機能を実装しているものも存在します。
それでも、「基本的な機能」を提供し、ユーザーがL1や他のチェーンから慣れ親しんでいる機能を提供することが、私たちにとっては重要なことでした。
その目的は、セルフカストディウォレットのセキュリティとUXを向上させ、人々が中央集権的なソリューションに頼ることがないようにしていくためです。
アカウントを保護する一般的な方法
現在のクリプトにおいて、アカウントを保護する方法は「シードフレーズを使用する方法」と、「ハードウェアウォレットを使用する方法」の、大きく分けて2パターンあります。
シードフレーズ
シードフレーズは、ユーザーが安全に保管しなければならない12または24の単語です。UXの観点からは、フィッシング詐欺に遭いやすく、また紛失することも多いため、好ましくないとも言われています。
ハードウェアウォレット
ハードウェアウォレットは強力なセキュリティを提供しますが、物理的なデバイスを扱う必要があります。また、特別な注文が必要であり、コストがかかったり、ユーザーが使い方を学ぶ必要があったりするため、日常的に使うには非常に使い勝手が悪いとされています。
では、もっと良い方法はないのでしょうか?
Hardware Signer
Hardware Signerは、クリプトのユーザーエクスペリエンスを向上させ、分散化とセルフカストディに妥協することなく、日常のユーザーにとってよりアクセスしやすく安全なものにするための我々の旅の第一段階を示します。
では、Hardware Signerとは何でしょうか?
Hardware Signerは、以下の2つから構成されています。
- ユーザーのモバイルデバイスに搭載されたセキュアサブシステム
- 任意のロジックを実行可能なアカウントスマートコントラクト
- 別名: アカウントアブストラクション(Account Abstraction)
①セキュアサブシステム
iPhoneのSecure Enclaveや、Android PhoneのTitan HSMなど、ユーザーの端末に内蔵された「セキュアサブシステム」を利用して、アカウントを保護しています。
※内容が難解なため、以下枠内の部分は読み飛ばしていただいて結構です。
Secure Enclave / Titanチップは、アプリケーションプロセッサから完全に分離された専用のサブシステムで、秘密鍵の生成とメッセージへの署名が可能です。鍵は、内蔵のTRNG(True Random Number Generator)を用いて生成され、内蔵のPKA(Public Key Accelerator)を介してNIST-P256楕円曲線(secp256r1)上のメッセージに署名されます。秘密鍵はセキュアなシステムから外に出ることはなく、また、アプリケーション自体もユーザーを含めて誰にも知られず、アクセスすることはできません。
つまり、悪意ある攻撃者がそのデバイスにアクセスしてユーザーの秘密鍵を盗むなどの攻撃を試みたとしても、セキュアなチップがユーザーの鍵を保護するため、盗まれることはなく安全に保たれるのです。
Secure Enclave(Appleデバイスのセキュリティ機能)の深層に迫る
※内容が難解なため、以下枠内の部分は読み飛ばしていただいて結構です。
チップの製造過程で、UID(Unique Identifier)がTRNGによって生成され、PKAに格納されます。このUIDは読み取ることができず、PKAから出ることもないため、Secure Enclaveプロセッサやそのオペレーティングシステム(SepOS)でも知られることはありません。このUIDは、デバイスごとに一意の乱数であり、今後このデバイスで生成される他のすべての鍵を暗号化するために使用されます。アプリケーションはSepOSに新しい鍵ペアを生成するよう要求し、SepOSはSecure Enclave TRNGに鍵を生成して(UIDを使用して)それを暗号化するよう指示します。その後、アプリケーションはSepOSに鍵を復号化するよう要求し、生成された鍵を使用してメッセージに署名することができます。
このプロセス全体を通じることで、生成された鍵がSecure Enclaveの外に出ることはなく、また誰にも知られることはありません。(Secure Enclaveの詳細については、こちらを参照してください。)
②Account Abstraction(アカウント抽象化)
BraavosがStarkNet上に乗っているスマートコントラクトベースのウォレットとして力を発揮する理由は、以下2つの柱に基づいているためです。
- クライアント側(アプリケーションなど)
- ユーザーが取引を確認/署名し、チェーンに送信することができる
- チェーン側
- 任意のロジックを実行できるアカウントスマートコントラクト、そして今回のケースでは任意の署名検証ロジックを実行することができる
Braavosは、モバイルデバイスのセキュリティモジュールを使用して取引に署名し、その署名を検証可能なオンチェーンのアカウントコントラクトに送信します。
前述したように、iPhoneやAndroid搭載のセキュリティモジュールはNIST-P256(secp256r1)という暗号方式を使用しています。この方式はStarkNetを含む主要なブロックチェーンの方式とは互換性がないため、この方式が採用されています。
生体認証
ユーザーはどのように取引を承認するのでしょうか?悪意のあるアプリケーションが、ユーザーの同意なしに取引を自動署名することは可能ですか?
その答えは明確で、「NO」です。
モバイルデバイスに内蔵されたセキュリティモジュール(Secure Enclave)の優れた点は、生体認証を本質的にサポートしていることにあり、ユーザーの指紋や顔を使用し、Secure Enclaveを”直接”介して取引に署名することができるのです。
リカバリー
秘密鍵を忘れてしまった場合や、デバイスを紛失したりしてしまった場合はどうなるのでしょうか?ユーザーはどのようにしてアカウントを管理できるようになるのでしょうか?
まず前提として、BraavosではユーザーがHardware Signer機能を有効にした場合、1つのアカウントに以下2つの公開鍵が存在することになります。
- すべてのトランザクションに署名するために使用されるHardware Signerの鍵
- 1つのトランザクションにのみ署名できるシードフレーズから派生した鍵
- => Hardware Signerの削除要求
②の「Hardware Signerの削除要求」はすぐには実行されず、4日間の時間遅延があります(設定可能)。この遅延時間により、ユーザーはHardware Signerを使用して、このような要求をキャンセルすることもできるのです。
つまり、デバイスが盗まれたり紛失したりしても、4日間の遅延期間が終了すれば、ユーザーは自分のアカウントを回復できるようになります。
しかし、もしシードフレーズが盗まれて攻撃者がHardware Signerの削除要求を出した場合でも、ユーザーは自動的に(そして繰り返し)通知を受け、その要求をキャンセルすることができ、すべての資産を安全に保つことが可能です。
総括
Hardware Signer機能は、クリプトユーザーに最先端のセキュリティレベルを提供し、ユーザーはWeb2ソリューションで慣れ親しんだ体験をすることができます。
Hardware Signerは、スマートコントラクトに基づくウォレット(別名: Account Abstraction)のパワーと、それが可能にする新しいデザインスペースの顕著な一例に過ぎません。
私たちは、クリプト業界をより良く、そしてより包括的な未来へと導くための「より多くの新機能の開発」を予見しており、新規および既存のユーザーに、妥協のないセキュリティ・妥協のないUXを提供していきます。
- ユーザーのニーズに合わせた利便性・セキュリティモデルを提供
- 「Starknet URI」による操作性の改善
その他の注目ポイントについて
この続き: 1,515文字 / 画像4枚
まとめ
今回は、Braavosというウォレットの概要や魅力、そして裏側に備わっている特徴的な機能や仕組みなどについて解説しました。
本記事が、Braavosの概要や注目ポイント、スマートコントラクトウォレットやHardware Signerの詳細などについて理解したい方にとって、少しでもお役に立ったのであれば幸いです。
また励みになりますので、参考になったという方はぜひTwitterでのシェア・コメントなどしていただけると嬉しいです。
🧭Starknetのスマートコントラクトウォレット@myBraavos について書きました
— イーサリアムnavi🧭 (@ethereumnavi) February 18, 2023
👛クリプトを直感的かつ安全に始められる『次世代型ウォレット』
👛ニーズに合わせた利便性・セキュリティモデルを提供
👛特徴的な機能「Hardware Signer」について徹底解説
詳しくはこちら👇https://t.co/N5SF7KgUxO
イーサリアムnaviを運営するSTILL合同会社では、web3/crypto関連のリサーチ代行、アドバイザー業務、その他(ご依頼・ご提案・ご相談など)に関するお問い合わせを受け付けております。
まずはお気軽に、こちらからご連絡ください。
- 法人プランLP:https://ethereumnavi.com/lp/corporate/
- Twitter:@STILL_Corp
- メールアドレス:info@still-llc.com