pleasure!福岡でCloudとかBlockchainとか。Setupを必要とせず、プルーフが非常に短く、その集約が可能であるという特性を持っている。proofに限らず、一般的な算術回路向けの非対話型ゼロ知識証明プロトコルとしても提案されている。proofや算術回路で動作するのか見ていく前に、Bulletproofsのベースとなる内積の証明の仕組みについて理解する。Commitmentに対してベクトルの内積を計算するアルゴリズムにある。aHという形式のコミットメントで、rがブラインドファクター、aが秘匿するコインの量として使われる。2つのベクトルの内積の表記)。wBを使って1つの式にする。このwは検証者がランダムに選択する。cQとすると、というふうにシンプルにでき、このステートメントが成立することを証明する。証明のプロセスまず最初にベクトルを圧縮する。log(n)回繰り返し、サイズを1にする。乗算し、加算することでベクトルのサイズを半分にする。b'に対応する新しいc'はとなる。c'は以下のようにも表現できる。すると、↑の式は1つまえのcを使って以下のように表現できる。Rを使って逆の計算をすることでcの値を計算できる。この仕組がポイントの1つで、圧縮とその逆の計算を簡単にするためcで説明したが、実際は後述するようにP'を使った計算になる。Hも同様に圧縮していく。結果、各ベクトルの次の状態は以下のように表現できる。ステートメントP'についても以下のようになる。展開するととなるが、これは↑のcとc'の関係と同じ変換を利用して、以下のように変換できる。各ベクトルの要素数が1になるまで圧縮を繰り返すとP'は最終的にで、これは各ラウンドのLとRとxの値を使うと以下の式になる。P'を元のPに置き換えると式は以下のように変形できる。ここまでの要素が揃うと以下の検証ができる。正しいことを検証できる。cwBの等式が成立するか直接検証することができる。Pを構成する式とcwBでcの式の両方に展開されるので、これをもって、Pとcの関係性の証明になる。bの値を知ることなく確認することができる。これがBulletproofsの内積の証明の仕組み。ちなみに↑は証明者と検証者による対話が必要な形で記載しているが、これはFiat-Shamir変換により非対話型にすることができる。proofの証明に利用できる。ある値が0〜2nの範囲内にあるというステートメントは内積で表現できるからだ。具体的なプロトコルについてはまた別の記事で解説したい。»プロフィールid:techmedia-think福岡でCloudとかBlockchainとか。(1)はてなブログをはじめよう!techmedia-thinkさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。