万物研究院:EIP4361から、Web2からWeb3へのアカウントシステムの変革を探る
執筆:万物研究院 陳剣 Jason
MetaMaskは先週、EIP-4361をサポートすることを公式に発表しました。このプロトコルについて疑問を持つ友人が多く、表面的には普通の署名と大きな違いはないように見えます。この記事では、EIP-4361について解説します。まず、このEIP-4361という事は実際にはそれほど大きなものではありませんが、その背後に広がる分野は非常に大きいです。
EIP4361は、Ethereumログインに関連する技術仕様標準提案であり、EthereumログインSiwE(Sign-in with Ethereum)は、ユーザーが自分のEthereumアカウントを使用して統一ログインを実現し、アイデンティティを制御できる分散型の認証方法です。これにより、中央集権的な企業による従来のユーザー名/パスワード認証に依存することなく、Vitalikは以前のインタビューで2023年のWeb3における最大の3つの機会の1つとしてEthereumログインを挙げ、Facebook、Google、Twitterなどの中央集権的な独占企業からログイン権を奪うのに役立つ技術は、最終的にEthereumがインターネットアプリケーションにおいてより多くの市場支配地位を獲得することになると述べました。したがって、ログインシステムはVitalikが次の10億人を獲得するための重要な方向性と考えています。
実際、Ethereumにとって現在内部の焦燥感を感じています。Ethereumの現在の地位は揺るぎないように見えますが、現在直面している競争圧力は非常に大きいです。特に、AptosやSuiなどの高性能な新しいブロックチェーンが前にあり、Cosmosを代表とするアプリケーションチェーン業界が後ろにあるため、EthereumがPOSに移行し、Layerを構築し、シャーディングを行う必要がある理由でもあります。コンセンサスとパフォーマンスの最適化を行い、C端の入口レベルの分野(ENSやログインなど)でより深く取り組み、自らの防御線を構築しています。また、EIP4361の背後にはEthereum財団、ENS、Spruceの3つの支持者がいることにも注目すべきです。Ethereum財団を除く2社はDID企業であり、ある意味では2つのDID企業がEthereum財団と共に業界標準を確立していると言えます。したがって、この標準は完全に中立性を持つわけではなく、文書内でENSとの結びつきが深いことが見受けられます。ENSドメインを解析することも可能です。以下はSiwEの公式サイトです:https://login.xyz/
ENSについては皆さんもよく知っていると思いますが、Spruceについてはあまり知られていないかもしれません。中国語圏ではほとんど報道や解説がありません。Spruceの使命は、ユーザーが自分の個人データを制御できるようにすることです。A16ZやYCなどの著名な資本からの支持を受けており、同社の分野はDIDの大分類の下にあるSSI(自己主権アイデンティティ)に属し、個人が自分のアイデンティティデータを制御できるようにし、どの第三者アプリケーションがそれを使用できるか、どのように使用するかを決定する問題を含みます。したがって、私たちが一般的に理解するDIDがデータ収集を通じてあなたが誰であるかを証明するのに対し、SSIはデータレベルでの権限、使用、管理に焦点を当てています。
EthereumログインSiwEについて話す前に、まず従来のアカウントログインシステムと現在のウォレット接続署名について明確に理解する必要があります。そうすることで、SiwEの違いと利点を理解できます。
従来のアカウントログインシステムは、電話番号、メールアドレス、パスワードなどの形式でユーザーのアカウントを中央集権的に保存し、ログインと認証を行います。ユーザーのアカウントは完全に中央集権的なデータベースに保存されているため、アカウントの削除、転送、データ漏洩などの問題が存在します。これまでに2つの段階の発展を経てきました。TencentやAlibabaのような自社エコシステムを持つ巨大インターネット企業が登場する前は、ユーザーのアカウントシステムは各社や各製品が独自に維持していました。一般的には、ユーザーのすべてのアカウント情報を保存するためのUserテーブルがあり、ユーザーの名前、パスワード、電話番号、メールアドレスなどが含まれています。ユーザーが登録するたびにUserテーブルにデータが保存され、後続のログイン時にはユーザー名とパスワードを入力して対応するマッチングを行います。ユーザーは多くのアカウントパスワードを管理する必要があり、非常に面倒で、簡単に忘れてしまうことがよくあります。多くのユーザーは便利さのために、すべての製品のアカウントパスワードを同じに設定することが多く、これにより1つの製品のデータベースが漏洩すると、ハッカーがクラック攻撃を使用してすべての製品に一斉にログインすることが可能になります。このように多くのアカウントがあり、中央集権的に管理されているため、リスクは非常に大きいです。しかし、その後、大量の電話認証が使用され始め、電話番号を変更するたびに苦痛の段階が現れました。
その後、TencentとAlibabaが自社の製品マトリックスを持ち、エコシステムを構築したことで、ユーザーは自社の各製品間でログインする際に異なるアカウントを切り替える必要があり、非常に面倒でした。また、最大の問題は、各製品間のアカウントが隔離されているため、TencentやAlibabaがユーザーデータを十分に「利用」できないことです。たとえば、私がTaobaoでシーツを購入し、Ele.meで出前を注文した場合、データ分析を通じて「働く独身青年」というラベルを貼ることができますが、これは2つの製品であり、各製品には独自のアカウントシステムがあるため、これら2つの製品のユーザー間の関連性を完全に把握することはできません。方法は、統一されたアカウントを使用してマッチングを識別することです。たとえば、すべての製品で同じ電話番号を使用して登録することで、同じ電話番号を使用しているすべての製品が同じ人であることがわかります。また、シングルサインオンや統一ログインの方法を使用することもできます。現在最も一般的なWeChatログインのように、以下の図はWeChatログインのフローチャートです。ユーザーがWeChatをログイン方法として使用すると、再登録アカウントやアカウント管理の冗長なプロセスが免除され、第三者製品に対するユーザーの使用のハードルが下がり、より良い顧客獲得が可能になります。WeChatにとって、より多くのユーザーと第三者製品がWeChatをアカウントログインの入り口として使用することで、競争の壁を大きく高めることができます。
toCのログインシステムは、TencentやAlibabaのようなエコシステム企業のソリューションを使用できますが、toBのログインシステムは同様により厄介な問題に直面しています。企業の成長に伴い、内部で使用する製品は多岐にわたり、第三者のカスタマイズ調達、SaaSベンダー、自社開発などが含まれます。さらに、多くの従業員が関与し、大量の権限やデータセキュリティの問題が発生します。したがって、数万人の従業員が内部の数百の製品をスムーズかつ安全に使用できるようにすることも解決すべき問題です。AuthingやOktaなどの企業が、企業向けにシングルサインオンソリューションを提供しています。
以上が、従来のWeb2がこの20年間にわたってアカウントアイデンティティシステムで経験した主な変遷です。Web3は、一般ユーザーにとって非常に直感的な違いを提供します。それは、1つのウォレットで全てのWeb3製品を使用できることです。これは、ユーザーがブロックチェーンが世界中のネットワークであることを実感できる最も直接的な方法であり、真に「インターネット」を実現しています。
しかし、チェーン上の資産の特性により、各自が自分の安全を責任を持って管理する必要があります。Web2のように、ユーザーの資金の安全を保証する責任と義務を持つ第三者プラットフォームは存在しません。そのため、ユーザーはフィッシングサイトに大量にさらされる環境に置かれ、関連する署名や承認を行うと、資産が盗まれる可能性があります。特に、現在MetaMaskを代表とするウォレットのインタラクションでは、開示される情報が非常に少なく、可読性も非常に悪いため、非技術的な背景を持つ人々は、署名や承認を求めるポップアップの内容が何を意味するのかを理解できないことが多いです。したがって、ユーザーの署名承認を求める行動に対して厳格な基準を設け、実行する内容を十分に伝える必要があります。
EIP-4361は、Ethereumアカウントがオフチェーンサービスを通じてアイデンティティを検証する標準プロセスを明確にしました。このように、アイデンティティ検証は標準メッセージフォーマットに署名することで行われます。このメッセージフォーマットは、セッションの詳細、安全メカニズム、スコープを使用して構造化され、標準のフィールドパラメータで表示されます。これにより、開発者はWeb2およびWeb3アプリケーションのための統一アイデンティティレイヤーを作成するためのインフラを提供します。このプロセスはユーザーにとって無料であり、メッセージに署名するだけで、ブロックチェーンとの取引を行う必要もなく、マイナーにGasを支払う必要もありません。
文書に記載されているように、「Web2企業として、あなたはユーザーがWeb3に入る最初の接触点となり、彼らが自分のデジタルアイデンティティを制御するのを助ける機会があります。」SiwEは、ウォレット接続-署名送信-ログイン完了というプロセスを標準化することで、より多くのWeb2製品が接続できるようにし、ログインオプションの1つとなることを望んでいます。これは、私たちが特定の製品を使用する際に、Googleログイン、Twitterログイン、Facebookログインなどのログイン方法を選択できるようにするのと同じです。下にはEthereumログインを追加することで、非常に大規模なユーザーのWeb2製品をカバーすることができます。
これらのWeb2製品がSiwEを接続する動機は、ユーザーの公開されたチェーン上の資産に基づいて対応するサービスを提供できることです。たとえば、GoogleやTwitterでログインするだけではログインという1つの動作を完了するだけですが、Ethereumでログインすることで、ユーザーが保有する資産の状況に応じて、より特定のサービスを提供することができます。たとえば、特定のNFTを保有している場合は、8割引になるなどです。
EIP-4361の提案リンクは以下の通りです:https://eips.ethereum.org/EIPS/eip-4361 下の図はSiwEのテンプレートメッセージ、完全なABNFと対応するポップアップスタイルです。ユーザーが実行する内容(メッセージ、ログイン要求のURI、現在のバージョン、ログインするチェーンID、リプレイ攻撃を防ぐNonce、ログインの有効時間Issued ATおよび終了時間Expires AT)を非常に構造化された標準化された方法で示しています。
ABNFは拡張バッカス・ナウア形式(Augmented Backus–Naur form)の略であり、双方向通信プロトコルの言語の形式システムを記述するためのものです。これもEIP-4361の重要なポイントであり、ログインプロセスを標準化します。
上記の文でEIP-4361の背後にENSがあることに言及したため、この提案にはENSとの深い統合も含まれています。SiwEを使用すると、ENSのデータを解析することができ、ENS名、ENSアイコン、ENS文書で指定された任意の解析可能なリソースを含むことができます。以下の図のように、ENSは自身のドメイン名の他に、ウォレットアドレス、メールアドレス、Discord、Twitterなどの大量の情報をバインドすることができます。
標準化されたログインの他に、EIP-4361はフィッシング攻撃をある程度防ぐこともできます。現在、毎日多くのユーザーがフィッシングサイトによって資産を盗まれる事件が発生しています。EIP-4361は、ウォレットでログインする過程で3つのステップがあります。
メッセージを検証し、署名内容が上記のABNF標準フォーマットに合致しているか確認します。
ドメインを検証し、EIP-4361のログイン標準に合致している場合、ウォレットはログインを開始したURLがABNFに提出されたURLに合致しているか確認し、誤認を避けます。
その後、Ethereumログインポップアップを作成します。この中には、ユーザーにすべての条項を十分に示し、ユーザーがページを一番下までスクロールしてから署名することを要求する規範が含まれています。これは、多くのアプリのユーザー規約と同様で、名目上の読了を確認するために一番下までスクロールする必要があります。
設計規範には4つの条項が記載されています。
人間が理解できるページを提示する必要があります。ほとんどは機械向けの作業ではなく、たとえばJSON、16進数コード、baseエンコーディングなどは含まれません。これは、現在のウォレットインタラクションに存在する問題であり、非技術者は自分がクリックした後に何を意味するのか全くわかりません。
アプリケーションのバックエンドは、そのエンドポイントに完全に利用可能なサポートを提供する必要があります。ウォレットを強制的に変更する必要はありません。この点は、SiwEに接続する際にユーザーに体験上のハードルを生じさせないことを求めています。
SiwEを使用しているアプリケーションのウォレットは、シンプルで直接的なアップグレードパスを確保する必要があります。上記で言及したように、SiwEのバージョン番号Versionが表示され、今後のSiwEのアップグレードも互換性を保証する必要があります。
リプレイ攻撃や悪意のある署名などの予防策を十分に講じる必要があります。
また、文書内ではキー管理の問題にも言及されています。SiwEは多くのWeb2製品が接続できるようにし、より多くの外部ユーザーをWeb3の世界に引き込むことを望んでいますが、主流のユーザーはすでにWeb2製品の「パスワードを再取得する」機能に慣れています。Web3では、プライベートキーを失うと再取得できないため、この問題は大量のWeb2ユーザーにとって教育のハードルが非常に高いです。実際、アカウント抽象化(AA)ウォレットの普及後にこの問題が実際に効果的に解決されることを非常に期待しています。
以上が、EIP-4361を出発点としたWeb2からWeb3へのアカウントシステムの変革に関する解釈です。実際、EIP-4361自体はアカウント抽象化や上海アップグレードのような影響力のあるイベントではなく、むしろ業界標準の規範を確立することに重点を置いています。しかし、このような静かに浸透する最適化こそが、Web2とWeb3のユーザー体験を徐々に向上させるのです。
この記事を執筆する際に、数人の友人に相談し、特に周載南、余弦、方軍などの皆さんとの交流に感謝します!