Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
7856bde
Refine preliminaries section and expand on QuickSilver protocol in VO…
adust09 Nov 23, 2025
497ba6d
Revise abstract, introduction, and preliminaries sections in VOLEitH …
adust09 Nov 23, 2025
c59b914
Add detailed explanation of VOLE-in-the-Head (VOLEitH) in new document
adust09 Nov 23, 2025
deb4f4b
Revise Groth16 subsection and update references in VOLEitH research p…
adust09 Nov 23, 2025
d5b5cee
Revise introduction and preliminaries sections to address challenges …
adust09 Nov 23, 2025
b3e9035
Update introduction and preliminaries sections to enhance clarity on …
adust09 Nov 23, 2025
8a41485
Add improvement suggestions for VOLE-in-the-Head research paper
adust09 Dec 1, 2025
7bc58c1
Enhance introduction, our approach, and preliminaries sections in VOL…
adust09 Dec 1, 2025
17d47aa
Add GEMINI project overview and enhance preliminaries in VOLEitH rese…
adust09 Dec 1, 2025
27556be
Enhance GEMINI.md and update conclusion and preliminaries in VOLEitH …
adust09 Dec 2, 2025
baf3158
Revise introduction and preliminaries sections in VOLEitH research pa…
adust09 Dec 2, 2025
9526a23
Add detailed explanation of Vector Oblivious Linear Evaluation (VOLE)…
adust09 Dec 2, 2025
4e1ca1e
Enhance preliminaries section in research paper with detailed explana…
adust09 Dec 2, 2025
9eed9d2
Update abstract, conclusion, and our approach sections in VOLEitH res…
adust09 Dec 2, 2025
8b28f1b
Refine our approach section in VOLEitH research paper to clarify benc…
adust09 Dec 2, 2025
b9e613f
Revise conclusion and results analysis sections in VOLEitH research p…
adust09 Dec 2, 2025
dca21fc
Update results analysis section in VOLEitH research paper to include …
adust09 Dec 2, 2025
9dd4ec3
Refine our approach section in VOLEitH research paper to enhance clar…
adust09 Dec 4, 2025
d424d9f
Revise conclusion, introduction, and preliminaries sections in VOLEit…
adust09 Dec 4, 2025
6354a4e
Add analysis section to VOLEitH research paper, detailing constraint …
adust09 Dec 4, 2025
338bb82
Update analysis, our approach, and results sections in VOLEitH resear…
adust09 Dec 4, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 73 additions & 0 deletions GEMINI.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
# Project Overview

This is a Rust project for benchmarking the "VOLE in the Head" (VOLEitH) zero-knowledge proof system. The primary goal is to evaluate the feasibility and performance of on-chain verification for VOLEitH proofs. The project is structured as a Rust library and a command-line interface (CLI) application. It uses various cryptographic libraries, including `ark-groth16`, `ark-bn254`, and a custom `schmivitz` library, to implement and benchmark the proof system.

The project also includes a benchmarking suite using `criterion` to measure performance metrics such as proof generation time, verification time, proof size, and computational load (CPU and memory usage).

# Building and Running

## Building the Project

To build the project, use the standard Cargo command:

```bash
cargo build --release
```

## Running the CLI

The project includes a CLI for generating proofs. The following command can be used to generate a proof using the `keccak_f` algorithm:

```bash
cargo run --release -- prove --algorithm keccak_f
```

## Running the Benchmarks

To run the performance benchmarks, use the following command:

```bash
cargo bench
```

The benchmark results, including detailed reports, will be available in the `target/criterion` directory.

# Development Conventions

## Code Style

The project follows standard Rust conventions. Code is formatted using `rustfmt`.

## Testing

The project uses a combination of unit tests and integration tests. The core logic is tested through the benchmarking suite in the `benches` directory.

## Dependencies

The project's dependencies are managed using `Cargo.toml`. Key dependencies include:

- `schmivitz` and `schmivitz-snark`: Core libraries for VOLEitH proofs.
- `arkworks` libraries (`ark-groth16`, `ark-bn254`, etc.): For zero-knowledge proof implementations.
- `criterion`: For performance benchmarking.
- `clap`: For the command-line interface.

# Paper Writing Guidelines

This section outlines the guidelines for writing the research paper located in the `paper/` directory.

## Target Publication

The paper is to be submitted to the **SCIS (Symposium on Cryptography and Information Security)**, a Japanese security conference.

## Target Audience

The intended audience is individuals who are **not deeply familiar with Ethereum or zero-knowledge proofs**.

## Writing Style and Structure

- The paper must be structured as a formal academic paper.
- The language and structure should be tailored to clearly convey the significance of this research to the target audience.
- Use logical explanations, mathematical formulas, and diagrams to explain complex concepts.
- The paper should be written in Japanese.
- All necessary information for writing the paper is located within this directory.
- If more precise or detailed information is needed, please ask.
58 changes: 58 additions & 0 deletions improve.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# 論文「EthereumにおけるVOLE-in-the-Headの検証コスト評価」改善案

## 総合評価

本論文は、VOLE-in-the-HeadとSNARKを組み合わせたハイブリッドアーキテクチャの性能と課題を定量的に示した、技術的に価値の高い研究である。論理構成は明晰であり、データに基づく分析は詳細かつ説得力がある。

一方で、ターゲット読者として「Ethereumとゼロ知識証明の初心者」を想定する場合、専門用語の密度と概念の抽象度の高さが、読者の理解を妨げる可能性がある。研究の貢献をより広い読者層に的確に伝えるため、以下の改善を提案する。

## 優先的に取り組むべき改善点

### 1. 概念の段階的導入と具体例による補足

専門用語や抽象的な概念を提示する際に、読者の理解を助けるための工夫を導入する。

* **背景・目的の先行提示**:
各技術概念(例:ゼロ知識証明, VOLE, コミットメント)を定義する前に、まず「なぜその技術が必要とされるのか」という動機付けや、解決しようとしている課題を平易な言葉で説明する。例えば、ゼロ知識証明であれば、プライバシーを保護したID検証や金融取引といった具体的なユースケースを先に示す。

* **機能的な比喩・具体例の活用**:
抽象的な定義の後には、その概念の機能を説明する簡潔な具体例を添える。「コミットメント」であれば、「後から変更できないように、情報をデジタルな封筒に入れて封印し、必要に応じて開封して中身を示す仕組み」のように、その役割を直感的に理解できる表現を用いる。

* **基本用語の脚注による補足**:
「ガス代」「スマートコントラクト」「有限体」など、特定の技術領域に固有の基本用語については、本文の記述の流れを維持しつつ、脚注(`\footnote`)を用いて簡潔な定義を補足する。

### 2. 論文構成のナビゲーション強化

読者が論文全体の論理構成や、各章・各節の役割を把握しやすくするための工夫を施す。

* **章・節の冒頭での要旨提示**:
各章(`\section`)および主要な節(`\subsection`)の冒頭に、そのセクションで論じる内容、目的、そして導かれる結論を要約した短いパラグラフを設ける。これにより、読者は詳細な議論に入る前にその位置付けと要点を理解できる。

* **論理的接続の明確化**:
セクション間の繋がりを強化するため、「前節では〜という課題を明らかにした。本節では、この課題に対し〜というアプローチで評価を行う」といった、論理の流れを示す接続表現を効果的に使用する。

### 3. 視覚的要素と参考文献管理の高度化

論文の可読性と学術的な体裁を向上させる。

* **図・表の効果的な活用**:
* **アーキテクチャ図**: 提案するハイブリッドアーキテクチャ(VOLEitH + SNARK)の全体像を示す概念図は、システムの構成要素とデータフローを読者が直感的に理解するために不可欠である。
* **結果の可視化**: 性能測定結果(例:SNARKの制約数と証明生成時間の関係)は、グラフを用いて視覚的に示すことで、数値データだけでは伝わりにくい傾向や相関関係を明確に伝えられる。

* **参考文献管理の自動化**:
現在の手動による参考文献リスト(`thebibliography`)の管理は、項目数の増加に伴い、フォーマットの不統一やエラーを引き起こす可能性が高い。BibTeXやBibLaTeXといった文献管理システムを導入し、`.bib`ファイルで文献情報を一元管理することを強く推奨する。これにより、引用スタイルの一貫性が保証され、論文の学術的信頼性が向上する。

## セクションごとの具体的な改善案

* **Introduction (`intro.tex`)**:
* ゼロ知識証明、オンチェーン検証、クライアントサイドプルービングといった核心的な課題について、初学者にも理解可能な平易な言葉で説明を加える。

* **Preliminaries (`preliminaries.tex`)**:
* VOLE, VOLE-in-the-Head, Groth16などの技術解説において、数式や専門用語を提示する前に、それぞれの技術が「何をするためのものか」という目的・役割を記述する。

* **Results and Analysis (`results_analysis.tex`)**:
* 各サブセクションの冒頭で、「この分析から何が明らかになったか」という結論を簡潔に要約する。
* 「Field Mappingに起因する制約数爆発」のような複雑な現象については、その原因と結果の関係性をより丁寧に解説する。

* **Conclusion (`conclusion.tex`)**:
* 研究全体の結論を再確認した上で、「今後の展望」で提示される各研究課題が、「なぜ重要なのか」という文脈(例:ポスト量子耐性の必要性)を補足する。
4 changes: 2 additions & 2 deletions paper/abstract.tex
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
\begin{abstract}
Vector Oblivious Linear Evaluation (VOLE) を用いたMPC-in-the-Head型ゼロ知識証明 VOLE-in-the-Head (VOLE-itH) は、線形演算をVOLEプリプロセスに置き換えることで証明生成コストを大幅に削減する
Vector Oblivious Linear Evaluation (VOLE) は、二者間で線形関係を秘匿したまま、ある種の相関を生成するための暗号学的プリミティブであり、これを応用したゼロ知識証明 VOLE-in-the-Head (VOLE-itH) は、従来のゼロ知識証明と比較して線形演算をVOLEプリプロセスに置き換えることで証明生成コストを大幅に削減する
一方、Ethereum での公開検証ではオンチェーン検証コストが実用性のボトルネックとなる。本研究は、VOLE-itH のオンチェーン適用に向けた実装ベースの評価として、(1) 証明生成・検証の計算量と証明サイズを測定し、(2) SNARK (Groth16) で圧縮した上で Ethereum verifier を実装し、そのガスコストを評価した。
SHA-256/Keccak-F/基本論理回路でベンチマークした結果、VOLE-itH の証明生成は Circom 実装より最大 15.5× 高速だが証明サイズは 6000× 増大した。SNARK で圧縮すると証明サイズを 1,055 バイトに固定でき、オンチェーン検証は実測で xxx gas で完了した。
SHA-256/Keccak-F/基本論理回路でベンチマークした結果、VOLE-itH の証明生成は Circom 実装より最大 15.5× 高速だが証明サイズは 6000× 増大した。SNARK で圧縮すると証明サイズを 1,055 バイトに固定でき、オンチェーン検証は実測で 208,967 gas で完了した。
これらの結果から、VOLE-itH をブロックチェーン応用に適用する際のコスト・圧縮トレードオフと実用条件を明らかにする。
\end{abstract}
Loading