Coinbase の Mina の CEO(ZK-SNARKs について)とのインタビューによると、高校生のエヴァンは 2011 年に初めて Bitcoin について知り、Bitcoin の背後にあるブロックチェーン技術が非常に強力で魅力的だと考えました。特に、いくつかの基礎となるアルゴリズムとコンセンサスメカニズム(proof-of-work(pow))についてです。エヴァンはカーネギーメロン大学を卒業し、その後ロボティクスの修士号を取得しました。その後、高校の同級生に偶然出会い、それがエヴァンが Coda Protocol を作成したきっかけです。
なぜ Coda Protocol を作成するのですか?チェーンのメンバーになりたい場合、完全なノードを実行する必要があります。ここでいう完全なノードとは、ブロックチェーン全体をダウンロードする必要があることを指します。データは数百ギガバイトになる可能性があり、取引が増えるにつれてデータはますます増えるため、Coda を作成する必要があります。
Coda について非常に簡単に説明すると、ブロックを極限まで圧縮する整然としたブロックチェーンです。
ブロックチェーンの目的は何ですか?それは私たちに世界にある特定の状態があることを証明します。それは良い状態か悪い状態かもしれませんが、誰でもそれを見ることができ、誰もが完全にその状態を制御することはできません。これが私がブロックチェーンについて良いと思う点です。この時点で、問題は、なぜ n 個のブロックがそんなに長くなければならないのか、そしてこれを圧縮する方法はないのかということになります。非常に、非常に小さいサイズでデータベースの現在の状態の証明を作成するためには、ゼロ知識証明が必要です。
証明は定数のサイズであり、わずか数キロバイトですので、一度持っていれば、ブロックチェーン全体をダウンロードする必要はありません。データベースの現在の状態を保存し、データベースが望むものであることを証明するだけです。
では、ZK-SNARKs について少し詳しく見てみましょう。口語的な例えを使って説明すると、計算を実行したい場合、通常は実際に実行する必要があります。OK、入力して、結果を待って、素晴らしいです。
ゼロ知識証明の異なる点は、自分自身でプログラムを実行する必要がないということです。他の誰かがプログラムを実行し、インターネット上でランダムな証明を提供してくれます。これらの証明は、自分自身でプログラムを実行した場合に得られる証明と同じです。これは素晴らしいことです。ブロックチェーンでは、ブロックチェーン全体をチェックする計算を実行する必要はありません。計算を表すゼロ知識証明をチェックするだけです。
または、私がイーロン・マスクに会ったことを証明するには、イーロン・マスクがツイートを送信するか、私たち二人の写真を送信して写真が本物であることを確認します。しかし、写真が本物であると信じるなら、私がイーロン・マスクに会ったと信じることができます。これがゼロ知識証明です。私がイーロン・マスクに会ったことを見る必要はありません。なぜなら、イーロン・マスクがツイートを送信したり、私が写真を送信してそれが真実であることを証明できるからです。
もし私たちがブロックチェーンに新しいデータを追加する場合、証明を再計算する必要があります。これは頭痛の種です。なぜなら、ブロックチェーンが十分な時間稼働した場合、計算全体が膨大になるからです。したがって、ブロックチェーンを更新するたびに一定量の作業を行う方法が必要です。それが再帰の役割です。再帰はアルゴリズムにおいても非常に役立つものです。