Zero Knowledge Application (zkApp)とは?
Zero Knowledge Application (zkApp)は、使用した私的データを明かさずにルールに従ったことを証明するブロックチェーンのプログラムです。バウンサーを想像してください:年齢を満たしていることは証明するが、生年月日はあなたのまま。チェーンが確認するのは秘密ではなく計算です。
「Zero Knowledge Application (zkApp)はすべてを匿名にする」──そうとは限りません。入力を隠しつつ結果を検証可能にすることはできますが、多くのzkAppは合意形成や手数料に必要な情報を表示します。
zkAppsの仕組み
イメージしてください:Zero Knowledge Application (zkApp)はあなたのデータを晒すことなく特定のルールを満たしていることを証明します。それは ゼロ知識証明 に頼って、誰にでも検証できるようにします。
- ステップ1:アプリを開き、証明したい内容を選びます。例:収入が閾値を超えていることやトークンの所有など。
- ステップ2:端末が、アプリが提供する回路を使ってその主張が正しいことを示す証明を作成します。生データは端末の外へ出ません。
- ステップ3:証明と最小限のメタデータがまとめて トランザクション に梱包され、ネットワークへ送られます。
- ステップ4:スマートコントラクトが検証器で証明をチェックします。通れば契約は続行されます。
- ステップ5:チェーンは状態を更新します。例えばアクセス付与、資金移動、投票の記録などを、あなたの私的入力を明かすことなく行います。
そのとおりです。計算が証明するのでデータをさらす必要はありません。
zkAppsが重要な理由
それはあなたに何をもたらすのでしょうか?
- 利点:公開検証が可能な本当の プライバシー により、情報漏えいや手続きの手間が減ります。
- 視点:人々がデータを自分で管理したいと望み、真正性を示す証明を求める状況に合致します。ロレックスとRedditの話題が交わるような例えです。
- 関連性:DeFiの信用審査、非公開投票、簡易KYCアクセス、ゲーム、クリエイターの会員制などでの利用が期待されます。
Zero Knowledge Application (zkApp)を使う前に、証明が端末内で生成されるか、端末でどれくらい時間がかかるかを確認してください。アプリが証明サービスを提供している場合でも、どのデータが共有されるかを自分で管理できることを確認しましょう。
zkAppsの主な特徴
他と異なる点は次のとおりです:
- 証明:入力を明かさずに計算の正しさを示します。
- 最小化:チェーンに載るデータは必要最小限だけで、手数料やプライバシーの面で有利です。
- 合成可能:あるアプリで検証された証明が別のアプリでの操作を解除することがあります。
- ローカル処理:重い処理はチェーンの外で端末上で行い、チェーンは検証だけを行います。
- 監査可能:計算は公開されるため、誰でも結果を独立して検証できます。
バリエーション
すべての実装が同じというわけではありません。よく見られるタイプ:
- SNARK:簡潔な証明に基づき、検証が高速でデータ量が小さい方式の zkApps。
- STARK:信頼できるセットアップを必要としない証明。しばしばサイズは大きめだが透明性と拡張性がある。
- Rollup:単一の証明で多数の操作をまとめるzkロールアップ内のアプリ。
- Identity:個人性、年齢、居住、会員資格などを公開せずに証明する仕組み。
- DeFi:選択的に情報を開示しながら行うプライベートなスワップ、信用審査、担保確認。
ゼロ知識は入力を守るものであり、ロジックそのものを守るわけではありません。経済設計が悪かったりコントラクトにバグがあったりすると 悪用 が発生する可能性があるため、監査や制限は依然として重要です。
例
プライベートなDiscordに参加するために、アカウントが一定数のトークンを保有していることをZero Knowledge Application (zkApp)で証明し、正確な残高は秘匿します。
豆知識
zk証明の数学は1980年代にさかのぼりますが、zkAppという呼び名が広まったのは、開発者がそれらの証明を実際に使えるブロックチェーンアプリに組み込んでからです。
まとめ
一言で言えば:Zero Knowledge Application (zkApp)は過剰な情報を出さずにチェーン上で証明することを可能にし、インターネットが少し成熟したように感じられます。
