Boomerang:プライバシーを保護した検証可能な分散型インセンティブプロトコル

この投稿では、Ralph Ankele, Sofia Celi, Ralph Giles, Hamed Haddadiによる開発を紹介します。

暗号技術によるプライバシーを保護により、検証可能な広告インタラクションと報酬計算が可能になります

現代のデータ主導の世界では、デジタル・インタラクションは絶えず監視されています。多くのオンライン・プラットフォームは、広告の視聴やアンケートへの参加など、コンテンツへの関与に対してユーザーに報酬を与えるために、データ・ドリブンのインセンティブ・スキームを用います。しかし、このような仕組みには多くの場合、「エンゲージメントを追跡するために個人データを収集・保存する可能性がある」という落とし穴があります。ユーザーが小さな報酬のために本質的にプライバシーを犠牲にすることになり、データが悪用されやすくなるという問題が生じるのです。

このような問題に対する解決策として、ユーザーが個人情報を公開することなく報酬を受け取ることを可能にするプライバシー保護・インセンティブ・スキームが存在します。例えばBrave Rewardsは、ユーザーのデータを非公開にしたまま、広告の閲覧に対して報酬を与えるように設計されています。このシステムは、広告のエンゲージメント・データがユーザーのデバイスに留まり、外部と共有されたり保存されたりしないことで、ユーザーのプライバシーを保護しています。しかし、検証可能な分散型システムへの需要が高まるにつれ、プライバシーと報酬の正確性をより強く保証するために、このモデルを強化することが重要なのです。

プライバシー保護・インセンティブ・プロトコル

デジタル・プラットフォームがユーザーの個人情報を使用せずに、ユーザーのエンゲージメントに対して報酬を与える方法を求めるようになり、プライバシーを保護するインセンティブ・スキームが欠かせないようになりつつあります。これらのスキームは、機密データを公開することなく、ユーザーが報酬とインタラクションを確認できることを保証する暗号化手法が必要です。主な目標は、ユーザーが匿名性を維持しながらも、エンゲージメントから利益を得られるエコシステムを構築することにあります。

Boomerangプロトコルは、以下の研究成果に基づいています。Black-Box Accumulator (BBA)スキームは、トークンをユーザーと直接関連付けることなく「蓄積」されることで、相互作用の周りにプライバシーのレイヤーを作成します。BBAの改良版であるBBA+は、暗号証明を最適化し、二重支出を防止し、負のポイント収集をサポートすることで、より効率的になりました。これらの基盤の上に構築されたBlack-Box Wallets (BBW) は、制約のあるデバイス向けに調整されたプライバシー保護決済ソリューションです。プライバシーを保護するインセンティブ・プロトコルでもう一つ注目すべきは、プライバシー・パスです。元々はアンチボットメカニズムとして設計されたプライバシーパスは、プライバシーを維持した報酬のための多目的なツールとして使用することができます。

Brave Rewardsは現在、プライバシーパスをシステムの主要コンポーネントとして使用しており、ユーザープライバシーを尊重した方法で報酬を獲得できるようにしています。例えば、ユーザーがBrave Adsに関与したり、特定のアクション(広告の閲覧やクリックなど)を実行すると、Privacy Passは暗号トークン(BATと混同しないでください)を生成し、ユーザーの身元や閲覧習慣に関する特定の詳細を明らかにすることなく、これらの相互作用を検証します。

Boomerangプロトコルとは

Boomerangプロトコルは、インセンティブシステム内のユーザーとのやり取りを安全かつプライベートに保存する、新しい分散型プライバシー保護インセンティブプロトコルを定義します。Boomerangプロトコルは、暗号化手法を活用し、ユーザのプライバシーを守りながら検証可能性を確保し、透過的に報酬を計算するのです。

このプロトコルは、相互に作用する4つのコンポーネントを定義します。

  • クライアント: これはBraveリワードを有効にしたモバイル/デスクトップのBraveブラウザです。このアクターは広告とインタラクトし、広告とインタラクトする見返りとして報酬を獲得します。

  • 発行者: インセンティブ・システムの提供者です。このアクターはクライアントの正しい計算を検証し、クライアントの報酬支払いをします。例えば、BraveはBoomerangインセンティブ・システムの発行者になることができます。

  • 広告主: Braveブラウザ内でBrave Rewardsを有効にしているクライアントに表示される、コンテンツを宣伝する個々の広告主です。クライアントはこれらの広告と相互作用することができ、そうすることで報酬を得ることができます。

  • L1ブロックチェーン: スマートコントラクトを提供し、Boomerangプロトコルを実装しているブロックチェーンであれば何でもかまいません。このアクターは、報酬計算の正しさをパブリックかつ透過的に検証し、ユーザーに支払いを発行する。

これらは以下に描かれているように振る舞います。

クライアント、発行者、広告主、L1ブロックチェーンの相互作用の絵

Boomerangがどのように機能するかを詳しく見るために、例を考えてみましょう。ユーザー(この例ではJoeと呼ぶことにします)はWeb閲覧時、広告をチェックしたいと思っています。さらに、Joeはプライバシーを尊重した広告を見たいため、BraveブラウザでBrave Rewardsを有効にしています。Brave Rewardsを有効にすると、クライアントとなるデスクトップ/モバイルいずれかのBraveブラウザによってトークンが初期化されます。インセンティブシステムの発行者(この場合はBrave)には、すべてが正しく開始されたことを確認するための発行証明が送信されます。

次に、Joe は通常通りWebサイトを閲覧し、途中でいくつかの広告とインタラクションします。バックグラウンドで広告とのインタラクションはJoeのクライアントに保存され、定期的に更新されるインタラクションの状態のProof of Token Updateがゼロ知識で発行者と共有されます。

しばらくの間広告とやりとりし、報酬ポイントを集めた後、Joeは自分のやりとりに対して報酬をもらうことに決めます。彼のクライアントは報酬計算のリクエストを送信し、発行者は報酬証明書を作成します。このReward ProofはL1ブロックチェーンに送られます。

L1ブロックチェーンはスマートコントラクトを実行し、報酬の計算が正しく行われ、その証明が有効であることを透明な方法で公に検証します。最後に、スマートコントラクトはJoeに報酬の支払いをします。これで完了です。   

簡単ではありますが、これがBoomerangプロトコルの仕組みです。上記の証明はすべて暗号化されたゼロ知識証明であり、検証者がそのステートメントについて何も知ることなく、証明者がステートメントの正しさを証明することを可能にします。さらに、個々の広告のやり取りは、ブラインドとアンブラインドのテクニックを使ってリンク不可能な方法で収集されます。最後に、報酬の計算を検証するスマート・コントラクトは公開され透明性が確保され、ユーザーは発行者の計算が正しく行われたことを検証できます。これがBoomerangプロトコルを分散型でプライバシー保護された検証可能なインセンティブ・システムにしている理由です。

Boomerangプロトコル拡張

Boomerangプロトコルは3つの処理/サブプロトコルに分けられます。

  • 発行: トークンの初期化を行います。

  • 収集: ユーザーの広告へのインタラクションによりトークンを更新します。

  • 使用/検証: ポイントを回収し、L1ブロックチェーン上で検証可能な報酬証明を作成します。

それぞれの処理の詳細をこの次に紹介します。

発行処理

発行処理の絵

この処理の目的は、ユーザーがコミットし、発行者がブラインドで署名できるトークンをユーザーと発行者の間で共同で生成することです。BoomerangはPedersenコミットメントを活用し、ユーザが広告のやりとりにコミットできるようにします。さらに、属性付きブラインド署名(ACL)スキームを活用し、発行者がトークンにブラインド署名できるようにしています。ユーザはブラインド署名を検証した後、CurveTree と呼ばれる暗号アキュムレータを構築し、ツリーのルートを公開します。

収集処理

収集処理の絵

収集処理は、広告との個々のインタラクションを表すポイントを、紐付けできない方法でトークンに追加します。トークン更新の正しさは、Sigmaプロトコルに基づくいくつかのゼロ知識証明によって保証されます。発行者はこれらの証明の正しさを検証し、トークンにブラインド署名することができます。その後、ユーザはブラインド署名を検証し、アキュムレータを再構築します。

使用/検証処理

使用/検証処理の絵

使用/検証処理は、収集処理と似た処理ですが、例外は、正のポイントを追加する代わりに、負のポイント(つまり報酬となるべきポイント量)をトークンに追加する点にあります。トークンを更新するだけでなく、発行者は、Bulletproofゼロ知識証明の範囲証明を活用した報酬証明を作成します。この報酬証明は、L1ブロックチェーン上のスマートコントラクトで、透過的に公開された検証可能な方法で検証されます。

デモ

Boomerangプロトコルがどのように機能するかをさらに説明するために、実際に使ってみましょう。私たちはRustで簡単な概念実証を実装しました。以下で参照できます。https://github.com/brave-experiments/Boomerang 

gitリポジトリをクローンしたら、以下のコマンドでデモのビルドができます。

cargo  build

次に、発行者のシミュレーションを行うサーバインスタンスを以下のコマンドで起動します。

cargo  run  --example  server

クライアントのシミュレーションを行うインスタンスは以下のコマンドで起動します。

cargo  run  --example  client

エンド・ツー・エンドのデモでは、サーバーインスタンスとクライアントインスタンスを1つ起動します。その後、上記で説明したBoomerangプロトコルの3つのプロシージャをすべて実行します。最初に発行処理が呼ばれ、トークンを初期化します。次に収集処理が呼ばれ、トークンを広告のやり取りで更新します。最後に、使用/検証処理が呼び出され、報酬の計算が開始されます。概念実証を簡単にするため、報酬の証明はL1ブロックチェーンに送信されるのではなく、クライアントによって検証されます。

サーバインスタンスの出力はこのようになります。

ターミナルのスクリーンショット

クライアントインスタンスの出力はこのようになります。

ターミナルのスクリーンショット

最後に

Boomerangは、プライバシーを保持しつつ検証可能な新しい分散型インセンティブ・プロトコルです。このプロトコルは、暗号化手法を活用して透明性を保ちながら報酬を計算し、ユーザーのプライバシーを尊重した検証を可能にします。

プロトコルの詳細な技術的説明は、テクニカルレポートをご参照ください。また、こちらはデモ実装になります。https://github.com/brave-experiments/Boomerang

Related articles

Braveで新しいWebを体験する準備はできましたか?

Braveはプライバシーとパフォーマンスを重視するWebのパイオニアからなるチームによって開発されています。Braveを利用しWebの再構築に協力していただけませんか?