プログラマーが理解できる方法でゼロ知識証明を導入する

プログラマーが理解できる方法でゼロ知識証明を導入する

もともと「ゼロ知識証明を平易な言葉で説明する」という記事を書きたかったのですが、ブロックチェーンの原理を平易な言葉で説明できていないため、書けないことがわかりました。ゼロ知識証明はブロックチェーンの原理よりも抽象的です。インターネット上の情報の 90% 以上はこのアルゴリズムの導出に関するものですが、プログラマーの 90% 以上はハッシュ アルゴリズムの原理には関心がなく、ハッシュ アルゴリズムの使用方法だけを気にしています。 (10 年以上の経験を持つプログラマーとして、ハッシュの原理を理解していませんが、恥ずかしいとは思いません。使い方を知っておく必要があるだけです。)

まず、非常に基本的な関数構造を次に示します。

この関数がハッシュ アルゴリズムである場合、任意のファイルを入力すると、対応するハッシュ値を取得できます。私たち全員が特定のハッシュ値を知っていて、それがどのファイルであるかを知りたいという状況があるとします。ファイルはあなたの手の中にあり、あなたは興奮しながらファイルが見つかったと言います。全員が「わかりました。ファイルを取り出して、ハッシュを計算して一致するかどうかを確認します」と言います。この時点で、これは機密文書であり、そのまま渡すことはできないため、心配になります。何をすべきでしょうか?

ここでゼロ知識証明が登場します。アルゴリズムの構造は次のとおりです。

オレンジ色の部分は zk-proof であり、証明と検証の 2 つの部分に分かれています。証明部分は回路とも呼ばれ、回路記述言語 (Rust\C++\Circom) でプログラムし、最終的に回路ロジック (.wsam\.r1cs) にコンパイルする必要があります。この例では、回路を使用してハッシュ アルゴリズムを記述し、元の関数を置き換えます。この回路の特徴は、入力を公開する必要がなく、出力がハッシュ値と証明になることです。この証明は次のことを証明します:

未知の入力があり、回路によって計算されて出力が生成されます。

未知の入力があり、回路によって計算されて出力が生成されます。

未知の入力があり、回路によって計算されて出力が生成されます。

大切なことは3回言うべきです!そして私はそれを描きます:

この証明は、このプロセスの認証スタンプに相当します。それは決定的なもので、異論はありません。入力内容が分からないので、入力内容が何であるかを尋ねないでください。それがゼロ知識と呼ばれる理由です。何が分かっていますか?回路ロジック(この部分はオープンソースである必要があります)、出力値、および証明ドキュメント。

この例では、回路ロジックはハッシュ関数と同等です。計算したハッシュ値が公開ハッシュ値と同じであれば、入力したファイルは誰もが探している機密ファイルであり、このファイルを提供する必要はなく、証明のみを提供する必要があることを意味します。

検証するときは、ハッシュ値と証明を検証関数に入れて true を返します。これにより、次のことが証明されます。

特定のファイルを使用し、回路ハッシュ アルゴリズムを通じてこのハッシュ値を生成します。

他にどのファイルがあるでしょうか?正しいファイルである必要があります。そうでなければ、このハッシュはどのように生成されるのでしょうか。

コインを混ぜる

Zk 耐性はプライバシーのシナリオでは明らかに役立ちます。コインミキシングの原理は、ユーザーがコインを金庫に預け、金庫のパスワードのハッシュ値が金庫に投稿されるというものです。このパスワードを提供できる人は誰でも金庫内のすべてのコインを手に入れることができます。原理は上記のファイル検索と同じです。ユーザーはパスワードを提供する必要はなく、証明のみを提供すればよい。契約の検証に合格すると、通貨を引き出すことができます。

もう一つ問題があります。ある金庫を開けることができたら、それはあなたがそこにお金を入れた人だということを意味します。誰がどの金庫にいくらお金を入れたかはチェーン上で確認できるので、どの金庫を開けたかはわかりません。契約では、金庫を保管するためにツリー構造が使用され、層の数は固定されており、通常は 16 層です。開けたい金庫からツリーのルートまで、真ん中の 15 個のノードが決定され、これによってどの金庫を開けるかが決まるので、この 15 個のノード (パス) も回路のプライベート入力になります。

契約が最終的に検証されると、金庫の場所と金庫のパスワードがすべて正しいことが証明されますが、パスワードが何であるか、どの金庫であるかは誰にもわかりません。ユーザーも知らないかもしれませんが、ユーザーは証拠を安全に保管する必要があります。この証明書を持っている人なら誰でもお金を引き出すことができます。

スケーリング

プライバシーシナリオへの応用に加えて、zk-proof は過去 2 年間でブロックチェーンの容量を拡張できることもわかっています。ブロック内の各 tx には、(転送) 操作が偽造されていないことを証明するユーザーの署名が付いています。ブロックのサイズは制限(固定)されているため、ブロックに詰め込めるトランザクションが多いほど、TPS は高くなります。

署名が切り取られ、トランザクションがスリム化されると、より多くのトランザクションを詰め込むことができます。問題は、署名が削除された場合、操作がユーザーによって署名されたことをどのように証明できるかということです。ゼロ知識証明を使用して、ユーザーの署名の検証ロジックが回路に書き込まれます。入力はブロックデータ(署名を含む)、出力はブロックデータ(署名を除く)となり、証明が添付されます。 1 つの証明で、すべてのトランザクションがユーザーによって署名されていることを証明でき、減量の目的が達成されます。
出典: https://bress.xyz/zh/post/nKtuByYTvPri75xHQoA7f8vNyJ6NQPvCL_YH8KVp31Q

<<:  「北朝鮮のハッカー」がブロックチェーンエンジニアにインタビューするとはどういうことでしょうか?

>>:  走りながら稼ぐ:Web3.0 に突入?

推薦する

日本はマイニング事業を拡大し続けており、この都市は暗号通貨のマイナーを募集している

鹿角市は再生可能エネルギーと寒い冬の気温で知られており、自治体はクリーンな電力を利用するために多数の...

秋!ビットコインとS&P500の相関性が強まり、マイナーは再びコインを蓄え始める

米国の株式市場が再び売りに見舞われる中、仮想通貨市場は先週の上昇分を失い、3日連続で下落している。し...

7つの大手マイニングプールの年間収益は1000万元を超え、100以上のクラウドコンピューティング契約が赤字に陥っている

1平均的なマイニングプールは年間を通じて428万5300ドルのマイニング手数料を獲得し、7つの主要な...

2019年上半期の暗号通貨市場の優良銘柄と敗者銘柄

クレイジーレビュー:2019年第2四半期のボーナスが終わりに近づいています。今年暗号通貨に投資した人...

Netflix、ギフトカード詐欺危機と戦うためにビットコインを採用

著者: GTongシティバンクが最近開催したインターネット、メディア&コミュニケーションカンファレン...

ビットコインが急落、そのお金はどこへ行くのか?

考古学者が将来ビットコインを研究するなら、2020年3月12日から13日までの暗号通貨市場の変化に間...

ライトコイン半減期:供給減少と価格変動

アナリストらは、ライトコインの半減期による歴史的な価格上昇は、このイベント中にすでに起こっていると述...

リズム研究所:2020年鉱業レポート

この記事はリズム研究所の調査レポート第2弾「2020年鉱業レポート」です。このレポートは主に、4大マ...

ビットコインマイニングマシンメーカーFOXMINERSが詐欺メディアの疑いでネットユーザーに注意喚起、ビットコイン詐欺を見分けるよう呼びかけ

ゴールデンファイナンスニュース -海外メディアの報道によると、ビットコインマイニングマシンの製造販売...

チーターマイナーのボスはWeChatモーメンツに写真を投稿し、「逃亡」の噂を否定した。

13日夕方、チーターマイニングマシンの元のオフィスの場所は無人となり、そのボスからの消費制限命令が...

ビットコインは56,500ドルを超え、市場価値は2倍の茅台価格を超える

出典: デイリー・エコノミック・ニュース原題:「またクレイジー!ビットコイン価格が5万6000ドルを...

さまざまなクロスチェーンプロジェクトとそのユースケースの簡単な分析

個々のクロスチェーン プロジェクトの設計について詳しく説明する前に、さまざまな種類のクロスチェーン ...

ビットコインはプロトコルであり、特定のコードではない

これまでのところ、世界中のほとんどのマイニングプールは、ニューヨークコンセンサスをサポートするために...

データによると、ビットコインの採掘収益は140億ドルを超える

Coin Metricsのデータによると、ビットコインのマイニング収益は過去最高を記録し、140億ド...