【ゼロ知識証明】StarkNetとは

テクノロジー

Starknetとは

ゼロ知識証明(Zero Knowledge Proof)を用いたイーサリアムのスケーリングソリューションStarkNetが、2月21日に本格稼働しDApps開発に対応した。

StarkNetは、ゼロ知識証明を利用したイーサリアムのスケーリングソリューション「ZK-Rollup」に分類される仕組み。ZK-Rollupとは、従来から存在する暗号理論の一つであるゼロ知識証明という証明プロトコルを応用し、オフチェーンで処理した情報をブロックチェーンに復元する仕組み。

StarkNetは昨年11月にアルファ版をメインネットにリリースし、すでに簡単な計算処理に限りメインネットと同様の状態で提供されていた。DAppsの開発ができるようになるには数年かかると考えられていたが、予想に反し今回のタイミングで実装されている。

StarkNetは、分散型デリバティブ取引所「dYdX」やNFT(非代替性トークン)のL2プラットフォーム「Immutable X」などが利用する「StarkEx」のパーミションレス(自由参加型)バージョン。

ゼロ知識証明とは

証明プロトコルの一種。「自身の主張が真実であること以外の情報を検証者に開示することなく(=ゼロ知識)、その主張が真実であると証明できる」という特性を、「ゼロ知識証明は、特定のブロックチェーンの外部で処理を行ない、その過程を提示しなくても、その処理が正しく実行されたことを証明できる」というように応用し、最近では処理能力を高める技術としても注目を集める。

また、暗号学においてゼロ知識証明(zero-knowledge proof)とは、ある人が他の人に、自分の持っている(通常、数学的な)命題が真であることを伝えるのに、真であること以外の何の知識も伝えることなく証明できるようなやりとりの手法である。ゼロ知識対話証明(ZKIP)とも呼ばれる。

ゼロ知識証明は次の3条件を満たしていないといけない。

1完全性(completeness): 真であることを確認する側(検証者)は、証明する側(証明者)の持っている命題が真であるならば、真であることが必ずわかること。

2健全性(soundness): 証明者の持つ命題が偽であるなら、検証者は高い確率でそれが偽であると見抜けること。

3ゼロ知識性(zero-knowledge): 証明者の持つ命題が真であるなら、検証者が不正して証明者から知識を盗もうとしても「命題が真である」以外の何の知識も得られないこと。このゼロ知識性は、どんな検証者(知識を持たない)であっても、正しい証明者と対話したかのような対話記録を生成できることだと記述することもできる。

前二者の性質は、ゼロ知識証明に限らず対話型証明システムに共通のものである。最後の性質があってはじめてゼロ知識証明となる。

なお健全性よりも強い知識健全性(knowledge soundness)とよばれる性質が用いられる場合もあり、この性質は「検証者が証明を受理したならば、証明者にオラクルアクセスすることで高確率で命題に対応する証拠を抽出できる(つまり証明者の秘密を取り出せる)効率的なアルゴリズムが存在する」ことを保証する。健全性を知識健全性に置き換えた場合は知識のゼロ知識証明(zero-knowledge proof of knowledge)と呼ばれる。

洞窟の問題

魔法の扉を開くための合言葉を手に入れたとする。その魔法の扉は、ある洞窟の一番奥にあり、そこへ至る経路はAとBの2つがあって、合言葉で魔法の扉を開くとAからB、或いはその反対へ移動できる。

他の人はお金を払ってでも合言葉が知りたいが、本当の合言葉を知っていると確認できるまでは払いたくない。他の人は教えてもいいが、お金をもらうまでは教えたくない。そこで2人は、合言葉そのものは教えることなく、正しい合言葉を知っていることだけ証明するために手順を取る。

非対話ゼロ知識証明

ゼロ知識証明を対話をせずに実行すること、すなわち、証明したい人が「証明」を作成して一方的に送りつけるだけで完了するような証明は作れないことが示されている。しかし特殊な条件下では、対話が不要なゼロ知識証明が作れることが知られており、非対話ゼロ知識証明(non-interactive zero-knowledge proof; NIZK) と呼ばれている。NIZKの実用的な応用としては、デジタル署名や、プライバシーに配慮した暗号通貨がある。後者では、コインの取引者のアドレスや取引量などを隠したまま、取引が正当であることを証明するのにNIZKが利用できる。

まとめ

ゼロ知識証明(Zero Knowledge Proof)を用いたイーサリアムのスケーリングソリューションStarkNetが、2月21日に本格稼働しDApps開発に対応したことより時代が追い付いてきたことが分かった。

タイトルとURLをコピーしました