zk-STARKs

上級者
ゼロ知識(zk)証明は、一方の当事者(証明者)が他方の当事者(検証者)に対して、ある記述が真であることを証明するための暗号的検証方法です。ゼロ知識(zk)証明には2つのタイプ、SNARKとSTARKが知られており、zkプロトコルとも呼ばれます。ゼロ知識証明とは、一方の当事者(証明者)が他方の当事者(検証者)に対して、裏付けとなる情報を提供することなく、ある記述が真であることを証明する暗号的検証方法です。
zk-STARKは、「zero-knowledge scalable transparent argument of knowledge」の略です。zk-STARKは、Technion-Israel Institute of TechnologyのEli-Ben Sasson教授によって考案されました。証明者と認証者間の初期の信頼設定に依存するzk-SNARKとは異なり、zk-STARKは衝突(Collision)に耐性を持つハッシュ関数による簡潔な暗号理論に依存するため、初期の信頼済み設定を必要としません。zk-STARKでは、zk-SNARKのように演算処理コストが高く、量子コンピュータに理論的に攻撃されやすいということもありません。
簡単に言えば、zk-STARK証明は暗号学的な仮定という点で、より分かりやすい構造になっています。しかし、これには大きな欠点があります。zk-SNARKは証明サイズが大きく、通常zk-SNARKの10倍から100倍もあります。このようなデータサイズの違いは、暗号資産やその他のアプリケーションでこの技術を通信回線に利用する際に、より高価になり、制限をもたらす可能性があります。

ゼロ知識証明の一般的な使用例は、プライバシーとセキュリティの両方が不可欠な場合であり、例えば本人認証が挙げられます。オンラインサービスを利用する際、ユーザーの身元とそのプラットフォームにアクセスする権利を証明する必要があります。この場合の多くは、名前、電子メール、生年月日などの個人情報を提供する必要があります。

ゼロ知識証明は、プラットフォームとユーザーの双方にとって認証を簡素化できます。公開入力(ユーザーがプラットフォーム会員であることを確認するデータ)と非公開入力(ユーザーの詳細情報)を使用してゼロ知識証明が生成されると、ユーザーはサービスにアクセスする必要があるときにいつでも、それを提示するだけで本人認証を行うことができます。これにより、ユーザーのエクスペリエンスが向上し、組織は膨大な個人情報を保存する義務から解放されます。