
Longfellowライブラリは、ISO MDOC標準、JWT標準、W3 Verifiable Credentialsといったレガシーな本人確認基準に関するゼロ知識プロトコルの構築を可能にします。この実装は以下で説明されています:
この名前は、Googleケンブリッジオフィス外にある橋にちなんで付けられました。
このプロジェクトは、この分野の学術および業界の専門家からなるパネルによる複数の独立したセキュリティレビューを完了しています。その報告書はプロジェクトドキュメント/レビューページで公開されています。
このリポジトリには、Longfellowとそのコンポーネントの仕様のための作業ファイルが含まれています。 貢献にご興味がある場合は、IssueまたはPull Requestを作成してください。議論はIssueの下で行われます。
関連するdevcontainerを使用して環境を作成することで、ライブラリをテストできます。開始するにはCode → Codespaces → Create codespace on mainを選択してください。これにより、依存関係を含み、ブラウザベースのVS Codeインターフェースを提供するコンテナがGitHub上に作成されます。そこではベンチマークをコンパイルして実行できますが、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
clangやcmakeなどのXcodeコマンドラインツールがインストールされていることを確認してください。
$ 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