
Web3におけるソーシャルログインを修復する:zkWaaS(ゼロナレッジ証明ウォレット・アズ・ア・サービス)
TechFlow厳選深潮セレクト

Web3におけるソーシャルログインを修復する:zkWaaS(ゼロナレッジ証明ウォレット・アズ・ア・サービス)
zkWaaSは、プライベートログインとプライベートトランザクションを実現することで、透明性に伴うプライバシー問題に対して直接的な解決策を提供する。

dAppにおけるソーシャルログイン機能(エンドユーザーに内蔵ウォレットを自動生成)は、Web3分野において「拒絶→試行→部分的利用」という過程を経て、現在では標準的な構成へと段階的に移行しつつあります(DeFi、RWA、Web3ゲームなど、さまざまな分野でソーシャルログイン機能を主軸とするWaaS製品が活用されています)。
これは、業界のプロダクト開発思想が徐々に原理主義的な暗号パンク的思考から、ニーズ主導のプロダクトマネージャー的思考へとシフトしていることを反映しています。
Particle NetworkはモジュラースマートWaaSのコア製品を提供するインフラ企業であり、この流れの中で最も恩恵を受ける企業の一つでもあります。
しかし、私たちWaaS業界の中心関係者として、従来のWaaS製品を適用する過程で、dApp・WaaS・エンドユーザーの三者の間でユーザーのプライバシーおよびデータ保護に対するある程度の妥協が生じている点も容易に観察できます。
主に以下の二点に現れています:
-
エンドユーザーがソーシャルログインを通じて非カストディ型のdApp内蔵ウォレットを作成する際、そのソーシャルログインデータをWaaSプロバイダーに提供する必要があり、WaaSプロバイダーは一部のソーシャルログイン情報をdApp開発者と同期しなければならない。
-
エンドユーザーがdApp内でソーシャルログインを使って新しくチェーン上のウォレットを作成し、ごく小額のチェーン上取引を行う場合でも、チェーン上のデータ分析によりメインウォレットとの関連性が特定されてしまう。
これにより生じうる問題は、エンドユーザーのソーシャルアイデンティティとオンチェーンデータのマッピング関係が完全に解明されてしまうことです。
つまり、「張三さん」のGmailアドレスzhangsan@gmail.comが判明し、彼のチェーン上資産が10万ドル、100のアドレスに分散していることが明らかになってしまうのです。
もしこの事象を従来のモバイルインターネットの視点で見ると、WaaSプロバイダーは再び大きな利益を得る立場にいます。なぜなら、オンチェーン・オフチェーンのユーザー資産およびデータの完全なマッピング関係を持つ唯一の存在が、まさにWaaSサービスプロバイダーだからです。
12ヶ月の発展を経て、Particle NetworkのモジュラースマートWaaSは、業界内でエンドユーザー数およびdApp提携数が最も多い製品となりました。
今、私たちは岐路に立っています。効率的かつ利便性の高い方法で次の10億人のユーザーをWeb3に誘致する代わりに、エンドユーザーの情報およびデータが一部の第三者によって掌握され、いわゆる「データの壁」が形成されるWeb2の道を再び歩むのか。それとも、Web3の基盤を堅持し、エンドユーザーが資産およびデータを真正に自律的に管理できるようにして、Web3のやり方で次の10億人をWeb3に迎えるのか。
私たちは後者を選択します。
そこで本日、ゼロナレッジ・ウォレット・アズ・ア・サービス(zkWaaS:Zero-Knowledge Wallet-as-a-Service)を発表します。これは「プライベートログイン」と「プライベートトランザクション」の二つの機能を含みます。
ゼロナレッジ証明技術の導入により、エンドユーザーはソーシャルログインを使ってdAppの内蔵非カストディ型ウォレットを作成・ログインする際に、いかなる第三者にもソーシャル情報を露出することなく利用できます。また、スマートインビジブルアドレスの導入により、単一のオンチェーン取引記録がユーザーの他のウォレットアドレスと関連付けられることを防ぎます。
以降の記事では、私の同僚であるVijaykumar SinghとPeter Panが、zkWaaSのプロダクト設計について詳しく紹介します。
ゼロナレッジ技術による使いやすさとプライバシーの両立
確かに(正しく実装された場合)、WaaSツールは完全にセルフホスト可能であり、ユーザーの資産は常に安全です。しかし、アカウント生成やオンチェーン取引の過程で、第三者に対して個人識別情報を一部露呈してしまうのも事実です。もし管理や運用にミスがあれば、これらの情報から簡単に推測され、特定のユーザーが保有する他のウォレットやCEXアカウント、資産などが判明してしまい、結果としてエンドユーザーのデータ自律性が大きく損なわれてしまいます。
もちろん、ブロックチェーンのプライバシー領域自体も課題を抱えています。ブロックチェーンの検証可能性と信頼性は、少なくとも部分的にはその透明性に由来しており、誰でもいつでもオンチェーン情報を検証できます。デフォルトでプライベートかつ効率的、拡張可能で検証可能かつ信頼できるスマートコントラクトブロックチェーンを構築することは、ほぼ不可能に近い課題です。こうした目標を達成しようとする少数のソリューションは、採用促進に困難を抱えており、既存エコシステムとの互換性が極めて低く、流動性や相互運用性の断片化をさらに進めてしまう傾向があります。
こうした制約の中、ゼロナレッジ(ZK)技術が登場しました。これは業界が切望していた、既存エコシステムと完全に互換・統合可能なソリューションです。簡単に言えば、ZK技術はある主体(証明者)が、裏にある情報や関連情報を開示せずに、別の主体(検証者)に対して特定の事実(例:身元、所有物など)を知っていることを証明できるようにします。例えば、イーサリアムの送金取引を行うことで、送信者は間接的に受信者に対して自分の全保有資産、取引履歴、さらには身元といった情報を露呈してしまいます。ZK技術はzkEVMなどのスケーラビリティソリューションで使われ、ブロックチェーンのスループットを向上させています。また、ZCashのようなプライバシー重視プロジェクトでも、ユーザーの残高や取引履歴を隠蔽するために使用されています。
WaaSにゼロナレッジ技術を導入することで、ユーザーは自分のソーシャルアイデンティティからオンチェーン非カストディ型ウォレットを生成できますが、いかなる観測者もこの関連性を知ることはできません。ましてや、どのウォレットが誰のものかを知ることは不可能です。ZK技術は他にも利点があり、たとえば規制対応も可能です。ZK技術が提供するプライバシー保護、自発的な開示スキーム、除外型プライバシーセットは、規制当局にとっても受け入れやすいプライバシー保護手段です。
したがって、WaaSにゼロナレッジ証明を導入することで、長年存在してきた二つの問題を解決できます。

では次に、zkWaaSがこれをどのように実現するか、そしてその影響と結果について見ていきましょう。
Particle NetworkのzkWaaSのメリットを簡潔にまとめる
Particle NetworkのzkWaaSは二つの目標を達成しています:
-
ユーザーの身元を保護し、ウォレット作成プロセス中に個人情報が一切露出せず、オンチェーンアドレスと所有者の関連性も断ち切ることで、プライベートログインを実現する。
-
Particle Networkの他のコンポーネント(Omnichain Account Abstractionなど)と協働し、プライベートトランザクションを実現する。
プライベートトランザクションとユーザー身元情報が本人のみに知られるという明らかな利点に加え、zkWaaSには以下のような派生的メリットもあります:
-
開発者やプロジェクトにとっては、ユーザーのデータを扱わない信頼できる基盤があることで、多くの手間を省けます。欧州のGDPRのような規制は、ユーザーのデータ管理とプライバシーに関して大きな前進を遂げています。これらは大変有益ですが、遵守には時間と労力が必要であり、プロジェクトにコストをもたらします。ユーザーのデータ処理を完全に回避することで、開発者は多大な時間と労力を節約できます。
-
エンドユーザーにとっては、観察されない取引が可能になるため、自分の戦略が漏洩したり、複製されたり、裁定取引や直接コピーされることはありません。
-
同様に、ユーザーは安心して、自分のデータが善意または悪意のあるサービス運営者によって販売、盗難、漏洩、あるいは他の方法で取り扱われることはないと言えます。
上記のリストは網羅的ではありません(プライバシーには多くの利点があります!)。しかし、今の時点で明らかになったのは、プライバシーがWaaSフレームワークのすべての関係者にとって絶対的な改善策であるということです。次に、zkWaaSの内部動作原理について深掘りしていきましょう。
Particle NetworkのzkWaaSの仕組み
全体設計には複数のコンポーネントが導入されており、これらが共同でzkWaaSを構成しています。プライベートログインの場合、システムはJWT(JSON Web Tokens)をゼロナレッジ回路内のプライベート証人に使用し、プロバイダーのデジタル署名とユーザー情報を検証します。Particle Networkのシステムは、ネットワークのネイティブUnified Gas Tokenによって駆動される独自のzkEVMであるParticle Chainを使用して、ZK証明を生成します。これには、ユーザーのプライバシーを保護するために取引手数料を支払う秘匿Paymasterも含まれます。
重要な違いはあるものの、全体設計はSuiのzkLoginから着想を得ています。
では次に、zkWaaSが二つの目標をどのように実現するか、さらに詳しく見ていきましょう。
目標 #1:身元のプライバシー
ユーザーを導入しつつもユーザーのプライバシーを保護するため、zkWaaSはまずユーザーが検証プロセスと同時に一時的な鍵ペアを生成するシステムを使用します。その後、検証済みの認証情報を使用してParticle Chain上でZK証明を生成し、検証者に提出してプロセスを完了します。
以下にこのプロセスの図解を示します:

Particle Network’s zkWaaS user flow.
さらに詳しく説明すると、プライベートログインの仕組みは以下の通りです:
A) 設定
Confidential Login回路の共通参照文字列(CRS)を作成するため、Particle NetworkはGroth16を使用しています(将来的にはzkSTARKも検討予定)。信頼できるセットアップは、OAuthプロバイダー向けに証明鍵と検証鍵を生成します。Particle Networkは現在、信頼できないセットアップ(non-trusted setup)の実現にも取り組んでいます。
B) 署名
一時鍵の生成:ユーザーがウォレットにアクセスすると、一時的なKeyPairが生成されます。次にユーザーは最大期間を選択し、これが鍵ペアの有効期限を決定します。アプリケーションは、カスタムnonceを使用してOAuthプロバイダーによるログイン認証を求めます。このnonceは乱数性、一時鍵、最大期間(ユーザーが決定し、一時鍵がいつ失効して再生成が必要になるかを決める)から構成されます。このプロセスにより、ヘッダーとペイロードを含むJWTが返されます。JWTはsaltサービスに送信され、JWT検証後にユニークなsalt(ランダムな数字列)が返されます。JWT、salt、一時公開鍵はParticle Chainに送信され、これらを使って完全な宣言のZK証明を生成し、オンチェーン検証者に送られます。この宣言には以下が含まれます:
i) Nonceが正しく形成されており、公開鍵を含んでいること。
ii) 鍵宣言がJWTと一致していること。
iii) Particleアドレスが鍵宣言およびsaltと一致していること。
iv) OAuthプロバイダーの署名が正しいこと。
ZK証明とともに、アドレスシード、宣言、ヘッダーがdAppに送信されます。
なお、回路はユーザーのためにzkアドレスを生成します。ユーザーは取引を作成し、一時署名を得るために署名を行います。また、一時公開鍵、署名、証明、アドレスシード、宣言、ヘッダーなどの他の情報を送信します。
C) 検証
検証方法には二つの可能性があります:
-
Particle Chain上のスマートコントラクトによる検証。
-
Particle Chainの検証者による分散型検証。検証者はParticle Networkのトークン報酬を受け取ります。
検証プロセス:
検証エンティティはユーザーの情報を受信します。その後、以下のチェックを行います:
-
取引送信者の検証:取引の送信者がアドレスシードから来ており、公開された宣言と一致していることを確認。
-
署名ユーザーとユーザーの公開鍵を照合して検証。
-
ZK証明の検証。
-
公開鍵を取得し、ZK証明で使用された公開鍵と同じかどうかを確認。
D) 保存
ユーザーが認証されると、選択した期間が満了するまで自動ログインのためにマッピングがオンチェーンに保存されます。
目標 #2: プライベートトランザクション
Particle NetworkはERC-4337アカウント抽象化(AA)を活用して、取引時のユーザーのプライバシーを保護しています。このシステムでは、秘匿Paymasterがユーザーに代わって取引を送信することで、公開オンチェーンでの関連性を断ち切ります。またParticle Networkは、受信者のプライバシーを維持するためのインビジブルスマートアカウントメカニズムも使用しています。さらに、Guardianアカウントおよび自己制御型ソーシャルリカバリー機能も実装しています。
Particle NetworkのzkWaaSにおけるプライベートトランザクションシステムを下図に示します:

Particle Network's system for private transactions (click image to expand or open in a new tab).
このプロセスは以下のように説明できます:
-
動的インビジブルアドレス計算: 取引開始時に、送信者Aliceは受信者Bobのメタインビジブルデータを利用して、Bobのインビジブルアドレスを動的に計算します。この計算は、後続の取引のプライバシーと安全性を確保する上で重要なステップです。
-
スマートインビジブルアドレス計算: 動的に計算されたインビジブルアドレスに基づき、Aliceはさらに「インビジブルスマートアカウント」と呼ばれるアドレスを計算します。この専用アドレスは資産移転の宛先として使用され、取引に追加のプライバシーと複雑性のレイヤーを提供します。
-
安全なインビジブルアドレス検索: 受信側では、Bobが着信取引データを体系的にスキャンし、自身のインビジブルアドレスを特定します。位置が確定すると、Bobは支出鍵を生成し、受領した資産に安全にアクセス・管理できるようになります。
-
秘匿ガス手数料の預け入れ: 取引を促進し、関連ガス手数料を支払うために、Bobは任意のアドレスから秘匿Paymasterに必要なガス料金を預け入れます。この秘匿預け入れにより、取引の完全性とプライバシーが確保されます。
-
柔軟な取引署名: 支出鍵を取得したBobは、インビジブルスマートアカウントに関連するUserOperationに対して署名を行い、自身の都合に合わせて取引を進められます。署名タイミングの柔軟性が追加のセキュリティ層を提供し、Bobが戦略的に署名プロセスを実行できるようにします。
-
秘匿Paymasterへの証明の提出: UserOperationに署名した後、Bobは生成された証明を秘匿Paymasterに提出します。この証明は承認として機能し、Paymasterが取引に必要なガス手数料をスポンサーできることを可能にします。この最終ステップにより、取引が円滑に進行しつつ、最高レベルのプライバシー基準が維持されます。
本質的に、この高度に複雑なプロセスは個別取引のプライバシーを保護するだけでなく、安全かつ秘匿されたスマートコントラクトインタラクションの堅固な基盤を確立しています。Particle Networkは、ERC-4337 AA、インビジブルアドレス、秘匿Paymasterをシームレスに統合することで、取引プライバシーへの取り組みを示しています。
最後に
過去に、広く述べてきたように、分散型アプリケーションはWeb2の代替品と競争する必要があります。これは、自己所有、自己ホスティング、ほぼ即時決済といったWeb3独自の強みを活かしつつ、優れたユーザーエクスペリエンスを維持することで初めて可能になります。しかし同時に、完全な透明性がWeb2のソリューションでは通常見られない問題を生み出すことも認識しておく必要があります。
プライベートログインとプライベートトランザクションを実現することで、zkWaaSは透明性に起因するプライバシー問題に直接対処し、さらにユーザーが自らのデータの唯一の管理者かつ所有者となる能力を強化します。開発者はこの強力なツールを活用して、最終ユーザーにとってより魅力的な製品を創出できます。ユーザーが積極的にプライバシーを守りたい場合でも、あるいは単に情報漏洩や悪意ある観測者がデータを利用できないことに安心感を持つ場合でも対応可能です。
繰り返しますが、zkWaaSをParticle Networkの他の主要インフラコンポーネントと組み合わせることで、Particle Networkは開発プロセスを改善し、高度な分散型アプリケーションの創出を促進しながら、優れたユーザーエクスペリエンスを提供することを目指しています。
Particle Networkの三大柱(モジュラースマートWaaS、ゼロナレッジ証明によるプライベートログインとプライベートトランザクション、意図中心のIntent Fusion Protocol)と、同社のプロダクト基盤である全チェーンアカウント抽象化(Omnichain Account Abstraction)との相互作用により、開発者はまったく新しい製品・サービスの創造が可能になり、最終的にWeb3業界が大衆向けの消費産業として加速する道を開きます。

TechFlow公式コミュニティへようこそ
Telegram購読グループ:https://t.me/TechFlowDaily
Twitter公式アカウント:https://x.com/TechFlowPost
Twitter英語アカウント:https://x.com/BlockFlow_News














