FROST
TL;DR
- FROST(Flexible Round-Optimised Schnorr Threshold Signatures)は、しきい値署名および分散鍵生成プロトコルです:複数の署名者が共通の秘密鍵のシェアを保持し、しきい値数の署名者が協力して1つの署名を作成する必要があります。
- 結果は単一のSchnorr署名となるため、この方法で作成されたトランザクションはネットワーク上の通常のトランザクションと見分けがつかなくなります。
- 通信ラウンド数が最小限であり、並列実行可能で、不正な参加者を特定して除外できる点が特徴です。
- Zcashにおいてこれは、FROSTにより地理的に離れた複数の当事者がshielded ZECの支出権を制御できるようにします。これにより、信託、預金、非信託サービス、およびZcash Shielded Assets(ZSA)に役立ちます。
- Chelsea Komlo(ウォータールー大学、Zcash Foundation)とIan Goldberg(ウォータールー大学)によって作成されました。
核心的な説明
Schnorr署名とは?
Schnorrデジタル署名は、アルゴリズムのセットです:(KeyGen, Sign, Verify)。
Schnorr署名にはいくつかの利点があります。重要な利点の一つは、複数の鍵が同じメッセージに署名する場合、結果として得られる署名を単一の署名に結合できることです。これにより、マルチシグペイメントやその他のマルチシグ関連トランザクションのサイズを大幅に削減できます。
FROSTとは?
Flexible Round-Optimised Schnorr Threshold Signatures -
Chelsea Komlo(ウォータールー大学、Zcash Foundation) & Ian Goldberg(ウォータールー大学)によって作成されました。
FROSTは、最小限の通信ラウンドを必要とし、並列実行可能なしきい値署名および分散鍵生成プロトコルです。FROSTプロトコルはSchnorr署名方式のしきい値バージョンです。
単一当事者設定での署名とは異なり、しきい値署名ではしきい値数の署名者が協力し、それぞれが共通の秘密鍵のシェアを保持する必要があります。
しきい値署名とは?Chelsea Komlo - Zcon3
その結果、しきい値設定での署名生成には、署名者間でネットワークラウンドが発生するためのオーバーヘッドが生じます。これは、秘密シェアをネットワーク制限デバイスに保存している場合や、信頼性の低いネットワーク上で調整を行う場合にコストが高くなります。
署名操作中のネットワークオーバーヘッドは、偽造攻撃に対する保護と他の方式にも適用可能な新しい技術を採用することで削減されます。
FROSTはしきい値署名プロトコルを改善し、無限の署名操作を安全に並列実行(並行性)可能にします。
2ラウンドプロトコルとして使用するか、事前処理ステージを持つ最適化された単一ラウンド署名プロトコルとしても使用できます。
FROSTは、不正な参加者が存在する場合にプロトコルを中止し、その参加者を特定して将来的な操作から除外できる点により効率性の向上を実現しています。
FROSTが選択メッセージ攻撃に対して安全であり、離散対数問題が困難であると仮定し、敵対者がしきい値よりも少ない参加者を制御している場合に、セキュリティ証明はこちらで提供されています。
FROSTの仕組み
FROSTプロトコルには重要な2つのコンポーネントがあります:
まず、n参加者が分散鍵生成(DKG)プロトコルを実行し、共通検証鍵を生成します。最後に、各参加者は秘密シェアと公開検証鍵シェアを受け取ります。
その後、t-out-of-nの参加者のいずれかがしきい値署名プロトコルを実行して、有効なSchnorr署名を共同で生成します。
図解 / 比喩
FROSTを想像してみてください。これは、いくつかの認証された鍵保持者が一緒に鍵を回すことで開くことができる金庫のようなものです — ただし、すべての鍵保持者が必要ではなく、特定の数(例えば、5つのうちの3つ)だけが必要です。一度金庫が開かれた後、外部の観察者はどの鍵保持者が現れたのか、あるいはそれ以上に誰が関与したのかすら分からないでしょう。同様に、グループはZcashトランザクションを共同で承認できますが、ネットワークではただ一つの通常の署名だけが見えます。
深掘り
分散鍵生成(DKG)
このフェーズの目標は、長期間使用可能な秘密シェアと共同検証鍵を生成することです。このフェーズはn参加者によって実行されます。
FROSTは、PedersenのDKG(GJKR03)に基づいて独自の鍵生成フェーズを構築しており、Shamirの秘密共有およびFeldmanの検証可能な秘密共有方式をサブルーチンとして使用しています。さらに、各参加者は他の参加者にゼロ知識証明を送信して、自身の秘密に関する知識を示さなければならないため、t ≥ n/2の場合にローグキー攻撃に対して保護されます。
DKGプロトコル終了時に共同検証鍵vkが生成されます。各参加者Pᵢは、(i, skᵢ)という値を持ち、これは彼らの長期間使用可能な秘密シェアと検証鍵シェアvkᵢ = skᵢ *Gです。参加者Pᵢの検証鍵シェアvkᵢは、他の参加者が署名フェーズ中にPᵢの署名シェアの正しさを検証するために使用され、検証鍵vkは外部当事者がグループが発行した署名を検証するために使用されます。
しきい値署名
このフェーズでは、加算秘密共有およびシェア変換を使用して非対話的に各署名のノンスを生成する既知の技術に基づいています。また、バインディング技術を利用して、並行性に制限を与えることなく既知の偽造攻撃を回避します。
事前処理ステージでは、各参加者が後で使用するために固定数の楕円曲線(EC)ポイントペアを準備します。このステージは複数のしきい値署名フェーズにわたって一度だけ実行されます。
署名ラウンド1:各参加者Pᵢはまず、単一のプライベートノンスペア(dᵢ, eᵢ)と対応するECポイントペア(Dᵢ, Eᵢ)を生成し、このペアをすべての他の参加者にブロードキャストします。各参加者はこれらのECポイントペアを後で使用するために保存します。署名ラウンド2および3は、t-out-of-nの参加者が協力して有効なSchnorr署名を作成する実際の操作です。
署名ラウンド2:参加者たちは一緒に有効なSchnorr署名を生成します。このラウンドの背後にあるコア技術はt-out-of-t加算秘密共有です。
このステップにより、攻撃者が異なる署名操作間で署名シェアを組み合わせたり、各署名者や公開ポイントのセットを置き換えたりする偽造攻撃が防止されます。
cという挑戦値を計算した後、各参加者は一時的なノンスと長期的な秘密シェアを使用して応答zᵢを計算できます。これらの長期的な秘密シェアは、t-out-of-n(次数t-1)のShamir秘密共有によるグループの長期間使用可能な鍵です。署名ラウンド2終了後、各参加者はzᵢを他の参加者にブロードキャストします。
論文全文を読む
FROSTのエコシステムにおける使用
CoinbaseでのFROST
Coinbaseのしきい値署名システムの効率を向上させるために、彼らはFROSTのバージョンを開発しました。このCoinbase実装では、オリジナルのFROSTドラフトからわずかな変更が行われています。
彼らは署名集約者の役割を使用しないことを選択し、代わりに各参加者が署名集約者となっています。この設計により、すべての参加者は他の参加者の計算を検証するため、より高いセキュリティレベルとリスクの低減が達成されます。一時的な事前処理ステージも削除され、実装速度向上のために3ラウンドの署名を使用しています。
BlockstreamによるROAST
Bitcoin用にBlockstream Liquid Sidechainで使用するFROSTのアプリケーション固有の改善が提案されています。
「ROASTは、FROSTなどのしきい値署名方式の簡単なラッパーです。ネットワーク接続が任意に高い遅延を持つ場合でも、Liquid関係者などの正直な署名者のクォーラムが常に有効な署名を取得できるように保証します。」
IETFにおけるFROST
1986年に設立されたインターネットエンジニアリングタスクフォース(IETF)は、インターネットのための主要な標準開発機関です。IETFは、インターネットユーザー、ネットワーク運用者、および設備ベンダーがしばしば採用する任意の標準を開発し、インターネットの方向性を形作る助けとなります。
FROSTバージョン11(2ラウンド変種)はIETFに提出されています。これは、将来的にインターネット全体、ハードウェアデバイス、およびその他のサービスで使用する新しいしきい値署名方式の標準としてFROSTを完全評価するための重要なステップです。
実用的な影響
絶対にそうです。FROSTがZcashに導入されることにより、地理的に離れた複数の当事者がshielded ZECの支出権を制御できるようになります。この署名方式を使用してブロードキャストされたトランザクションはネットワーク上の他のトランザクションと区別できず、支払い追跡に対する強い抵抗性を維持し、分析のために利用可能なブロックチェーンデータの量を限定します。
実際には、これはエスクロー提供者からその他の非信託サービスに至るまで、ネットワーク上で幅広い新しいアプリケーションの構築を可能にします。
FROSTはまた、Zcash Shielded Assets(ZSA)の安全な発行および管理において不可欠なコンポーネントとなるでしょう。これにより、開発団体や取引所などのZEC管理者が支出権をより安全に管理できるようになり、Zcashユーザーにもこの機能を提供します。
一般的な間違い
FROSTと伝統的なオンチェーンマルチシグとの混同。伝統的なマルチシグは、オンチェーンで複数の署名者や複数の署名を明らかにできますが、FROSTは単一の集約Schnorr署名を作成するため、トランザクションは単一署名トランザクションと区別できません。
しきい値未満の人数が署名できると仮定すること。しきい値数(t-out-of-n)の参加者が協力して有効な署名を作成できますが、より小さなグループはできません。
FROSTがオフチェーンですべてを隠すと仮定すること。FROSTはオンチェーン署名を保護しますが、署名者間の調整はオフチェーンで行われており、独自のプライバシーおよびセキュリティ制御が必要です。
関連ページ
さらに学ぶ
Coinbase記事 - しきい値署名
Shamir秘密共有 - 解説と例
Schnorrデジタル署名に関する短い動画