お知らせ

お知らせ

Halo2ライブラリを使ってみる

はじめに 本稿ではzk-SNARKライブラリhalo2の実装の仕組みの一部を簡単に解説します。 実装の概要 Halo2ではPLONKish回路と呼ばれる回路を用いて証明を行います。PLONKish回路の出力と証明者の主張する値が一致すること...
お知らせ

Halo 2の中で使われている多項式コミットメントスキーム

はじめに この記事では、zk-SNARKのライブラリであるhalo2で使用される多項式コミットメントスキーム(Polynomial Commitment Scheme; PCS)について解説します(のAppendix 2)。 PCSは、名前...
お知らせ

内積アーギュメント Bulletproofsについて

はじめに この記事ではベクトルの値そのものは知らせずに、内積の値が特定の値となるような2つのベクトルを知っていることの証明を送ることができる、内積アーギュメントの一つ、Bulletproofsについて解説します。 検証を入力の長さの対数回の...
お知らせ

Proof of Necessary Work: 再帰的SNARKを使ったビットコインの全ブロック検証

概要 ビットコインのブロックデータは時間経過に従って概ね線形に増加する。これは全てのトランザクション履歴を管理する暗号通貨においては避けられないことのように思える。 しかし、過去のブロックデータとは結局の所特定の形式に従ったデータであれば、...
お知らせ

第三者を信頼せずに段階的検証可能計算(IVC)を実現するHaloの解説

概要 この記事では再帰的SNARKを利用したIVC/PCDのフレームワークであるHalo2の解説を行います。 Halo2とは、暗号通貨Zcashの開発母体であるElectric Coin Company(ECC社)で開発されたIVC(Inc...
お知らせ

Halo2で使われている最新のzk-SNARKプロトコルPLONKの数学的解説

概要 この記事では 最新のzk-SNARKプロトコルである PLONK の数学的解説を行います。 この記事の多くはYouTubeで公開されている動画シリーズ に基づいています。 解説 算術回路の変数割当 ゼロ知識証明は「何らかの条件を満たす...
お知らせ

初代zcashで使われたzkSNARKsで登場する二次スパンプログラム(QSP)とは?

はじめに この記事では初代zcashのzkSNARKsであるPinocchio/Groth16プロトコルの基礎になっている二次スパンプログラム(Quadratic Span Program; QSP)について定義を確認し、QSPからzkSN...
お知らせ

Incrementally Verifiable Computation:効率的に証明をつなげる

はじめに 本稿ではで提案されたIVC (Incrementally Verifiable Computation)と呼ばれる証明システムについて解説します。この証明システムは証明の長さを変えずに合成することが特徴です。途中までの証明を長さを...
お知らせ

Universal Arguments: 性質の検証

はじめに 本稿では以前の記事に続いてで提案されたuniversal argumentsと呼ばれる証明システムについて解説します。具体的に構成されたプロトコルが本当にuniversal argumentsの性質を満たしていることを確認します。...
お知らせ

Universal Arguments:証明システムの構成

この記事はBlockchain Advent Calendar 2022 23日目の記事です。 ※ブロックチェーンとはあまり関係がないような気もしますが、一応背景を説明するとこの論文で提案された証明システムは 段階的検証可能計算(Incre...
タイトルとURLをコピーしました