上級者用語を調べる
zk-STARKとは
- 執筆
- CRYPTO PORT 編集部
- 公開日
- 更新日
- 読了目安
- 6 分
結論
zk-STARKは、信頼できるセットアップを必要としないゼロ知識証明方式です。安全性の根拠がハッシュ関数だけなので、量子計算機に対しても比較的耐性があるとされます。代わりに証明のサイズがzk-SNARKより大きく、オンチェーンに載せるデータ量が増える点がトレードオフです。
要点
- 信頼できるセットアップが不要(透明性)
- 安全性の根拠はハッシュ関数のみ
- 証明サイズはzk-SNARKより大きい
- StarknetやStarkExが採用する方式
定義
Zero-Knowledge Scalable Transparent ARgument of Knowledge の略。初期セットアップに秘密を必要とせず(透明)、計算量が大規模でも証明生成が現実的な方式。
zk-SNARKとの最大の違いは、Transparent(透明)の部分です。共通パラメータを公開の乱数だけから作れるため、信頼できるセットアップの儀式が要りません。儀式の参加者が本当に乱数を破棄したかを信じる必要がないので、信頼の前提が1つ減ります。
安全性の根拠も違います。zk-SNARKは楕円曲線上の問題の困難さに依存しますが、zk-STARKはハッシュ関数の衝突困難性だけに依存します。楕円曲線はショアのアルゴリズムで量子計算機に破られうる一方、ハッシュ関数への量子攻撃は探索の高速化にとどまるため、STARKのほうが耐量子性の見通しが良いとされます。
代償は証明サイズです。zk-SNARKが数百バイトなのに対し、zk-STARKは数十キロバイト規模になることがあります。イーサリアムに書き込むデータ量がそのままコストなので、この差は無視できません。StarkExやStarknetは、多数の取引を1つの証明にまとめることで1件あたりのコストを下げる設計をとっています。
注意点
- · 「耐量子」と説明されるのは署名部分ではなく証明方式の話。チェーン全体が耐量子になるわけではない
- · 証明サイズの大きさは手数料に跳ね返るため、用途によってはSNARKが選ばれる
- · 実装が新しい分野なので、監査状況と運用実績を確認する