ニュース暗号資産Zcash、量子攻撃から決済履歴を保護する計画を発表

Zcash、量子攻撃から決済履歴を保護する計画を発表

著者: Coindoo·

重要ポイント

  • •Zakuraは、Zcashのスワップ返金または入金スワップごとに固有のインカミング・ビューイングキーを導出する実験的ツールの10月15日リリース候補版を公開した。
  • •NEAR Intents経由のZECスワップに使われるアドレスはNEARの公開ブロックチェーンに記録され、将来の量子コンピュータが共有ビューイングキーを復元した場合、「harvest now, decrypt later」型の長期的な露出リスクが生じる。
  • •この設計は支払い権限を維持し、ユーザーは個別のスワップキーで受け取った資金を残高を分割することなく同じアカウントから支出できる。
  • •ウォレット復元では、送金スワップには資金供給トランザクション内の暗号化メモを、入金スワップには決定論的アドレス走査とプライベート情報検索の組み合わせを利用する。
  • •この実装は実験的なままであり、実際の利用前に暗号監査、Vizorサポートを含むウォレット統合、ハードウェア署名者のファームウェア認定が必要である。
Zcash、量子攻撃から決済履歴を保護する計画を発表

Zakuraは、Zcashのスワップアドレスに個別のインカミング・ビューイングキーを付与しつつ、アカウントの支払い権限を維持する実験的実装を公開しました。10月15日のリリース候補版によると、このキー導出は実際のアドレス発行前にレビューを要するとしています。

返金アドレスは複数のスワップを露出し得る

NEAR Intents経由でZECをスワップするには、未使用資金の返却先となるアドレスが必要です。ZakuraのAdam Tucker氏は技術解説の中で、このシールドされた返金アドレスは、返金が実際に行われるかどうかにかかわらず、入金が登録される際にNEARの公開ブロックチェーン上に記録されると説明しています。ZECへのスワップでは受取アドレスも公開されます。

これらのアドレスは、1つのインカミング・ビューイングキーを共有しながら、互いに無関係に見える可能性があります。したがって、そのキーが復元されると、スワップ自体を超えた入金記録が明らかになり得ます。

説明されている攻撃は、公開されたアドレスからキーを復元できる十分な能力を持つ将来の量子コンピュータを必要とします。その場合、そのキーに関連する入金、金額やメモを含めて特定され得ます。この提案は、すでに発生している攻撃の報告ではなく、将来の機密性リスクに対処するものです。またこれらのアドレスは公開ブロックチェーン上に記録されるため、今日開示された情報は、十分な能力を持つマシンが登場した時点でその種の分析に利用可能なまま残ります。これは業界で「harvest now, decrypt later(今収穫し、後で復号する)」と呼ばれる長期的な露出パターンです。

個別のビューイングキーが支払いアカウントを維持

Zcashは閲覧権限と支払い権限を区別しています。ビューイングキーは、資金の管理権を手放すことなく、会計や監査などの目的で入金への読み取り専用アクセスを共有できるように設計されています。ZIP 32に記載されたウォレットのキー導出標準は、単一のシードからキーとアドレスを導出することをサポートしており、ウォレットは各アドレスの個別バックアップを必要とせずに複数のアドレスを管理できます。

単に別のアドレスを生成しても、必ずしも独立したインカミング・ビューイングキーが作られるわけではありません。Zakuraの提案する変更はアドレスの背後で機能します。実装のドキュメントに記載されているように、スワップの返金または入金スワップごとに個別のビューイングキーを導出します。

この実装はアカウントの支払い権限を維持します。ユーザーは、これらの個別のスワップキーを通じて受け取った資金を同じアカウントから支出でき、多くのアカウントに残高を分割する運用上の負担を避けられます。

現在の共有キーモデルでは、1つのキーの復元により複数のアドレスにわたる入金が露出し得ます。個別のスワップキーでは、あるスワップのビューイングキーが復元されても、そのキーに紐付く入金記録のみが露出し、無関係な入金が自動的に開かれることはありません。ビューイングキー自体は支出を許可するものではありません。意図された保護はより限定的で、1つの漏洩したキーが明らかにできる決済履歴を制限することです。

リカバリーは所有権を明かさずに決済を特定する必要がある

個別のキーは、ウォレットの復元時に発見の問題を生みます。シードからキーを再生成しても、どのキーが入金を受け取ったかをウォレットは把握できません。すべてのスワップキーをトランザクション履歴全体に対して照合すると、スワップが増えるごとにリカバリーの作業量が増加します。

送金スワップには、リカバリー記録を残す場所があります。提案された実装では、ユーザーの資金供給トランザクションに属するノートに暗号化されたメモを配置します。このメモは、返金キーの導出に使用されたインデックスを記録します。復元時に、ウォレットはそのインデックスを取得し、対応するキーとアドレスを再構築できます。

入金スワップには、メモを残すための資金供給トランザクションをZcashウォレットが作成していないため、別のアプローチが必要です。この設計では、決定論的に導出されたアドレスを順に確認し、支払い済みまたはスワッププロバイダーに既に開示済みのアドレスの記録を用いて、探索をどこまで続けるかを判断します。

決済を特定するため、受信者発見システムは、ウォレットがローカルで確認する公開フィルターを使用します。一致の可能性がある場合、プライベート情報検索(PIR)リクエストが発行され、アドレス名を含む読み取り可能なクエリをサーバーに送信することなく、関連するトランザクションを特定します。

その後、ウォレットは対応するビューイングキーで決済を復号できます。これにより、復元された各キーがチェーン全体に対して個別に検索を実行することを避けられます。

プライベートなクエリはまた、読み取り可能な一連のルックアップリクエストによって複数のアドレスが同一のウォレットに属することが明らかになるのを防ぎます。そうでなければ、サーバーはアドレスA、B、Cの順のリクエストを受け取り、それらを1つのウォレットと関連付けて、新しいキーがもたらす分離の一部を損なう可能性があります。

レビューとウォレット対応は未完了

実験的なコードは、一般ユーザー向けにウォレットがこの機能を有効化したことを示すものではありません。暗号監査は未了であり、実装では、ハードウェアアカウント向けのワンタイムキーを有効化する前に、ハードウェア署名者がファームウェア認定を受ける必要があると定めています。

Zakuraの技術記事は、今後数週間以内にVizorを含む互換ソフトウェアウォレットへの統合を見込んでいます。これは開発上の見積もりであり、確定したリース日ではありません。

この取り組みは、支払い承認に関わる1月に計画されているZcash決済の保護とは別のものです。スワップ提案は、シールドされた入金履歴のプライバシーに関するものです。

新しいキー導出は、すでに公開記録されているアドレスを削除することもできません。将来のスワップキーを分離しても、既存の共有ビューイングキーに紐付く過去の開示は消去されません。

残る作業は具体的です。キー導出のレビュー、決済発見と復元の統合、対応署名者の認定です。これらのステップが完了して初めて、ユーザーはリリースされたウォレットで提案された分離を信頼して利用できるようになります。

この記事は情報提供のみを目的としています。提案された機能は実験的なものであり、実際の使用前にさらなるレビューを要します。

この記事はもともとCoindooで公開されました。