
Longfellow ライブラリは、ISO MDOC 標準、JWT 標準、W3C Verifiable Credentials などの従来の本人確認標準に関するゼロ知識プロトコルの構築を可能にします。この実装は以下で説明されています:
名前は Google ケンブリッジオフィスの外にある橋に由来します。
現在、このプロジェクトは、学界および業界の専門家からなる2つの独立したセキュリティレビューを受けています。それらの報告書は プロジェクトドキュメント/レビュー ページで入手できます。
このリポジトリには、Longfellow とそのコンポーネントの仕様の 作業ファイル が含まれています。 貢献に興味があれば、Issue または Pull Request を作成してください。議論は Issue で行われます。
関連する devcontainer を使用して環境を作成し、ライブラリをすばやくテストできます。上記の Code-->Codespaces-->Create codespace on master をクリックするだけで開始できます。これにより、すべての依存関係を含む Docker コンテナが GitHub サーバー上に作成され、現在のコードベースへの Web ベースの VScode インターフェースが提供されます。この環境でベンチマークをコンパイルして実行できますが、VM のため、報告された値よりも一部が遅くなる可能性があります。
このパッケージは cmake、openssl、zstd、clang、googletest、googlebenchmark に依存しています。
$ sudo apt install -y build-essential clang cmake libssl-dev libzstd-dev libgtest-dev libbenchmark-dev zlib1g-dev
$ yum install -y clang libzstd-devel openssl-devel git cmake google-benchmark-devel gtest-devel
新しいバージョンの Fedora では libpfm-devel が必要なようです:
$ yum install -y clang libzstd-devel openssl-devel git cmake google-benchmark-devel gtest-devel libpfm-devel
Xcode コマンドラインツール(clang や cmake など)がインストールされていることを確認してください。
$ brew install googletest google-benchmark zstd
最初に cmake 初期化手順を実行します
$ CXX=clang++ cmake -D CMAKE_BUILD_TYPE=Release -S lib -B clang-build-release --install-prefix ${PWD}/install
次に:
$ cd clang-build-release && make -j 16 && ctest -j 16
いくつかのユニットベンチマーク、sumcheck ベンチマーク、zk ベンチマークを定義しています。そのいくつかを以下に示します:
$ ./algebra/fft_test --benchmark_filter='BM_*'
$ ./circuits/sha/flatsha256_circuit_test --benchmark_filter=BM_ShaZK_fp2_128