Longfellow 库支持构建针对传统身份验证标准的零知识协议,例如 ISO MDOC 标准、JWT 标准以及 W3 可验证凭证。该实现描述于:
它以 Google 剑桥办公室外的一座桥命名。
本项目已完成由该领域学术与行业专家小组进行的多次独立安全审查。其报告可在项目文档/审查页面获取。
本仓库包含 Longfellow 及其组件规范的工作文件。 如果您有兴趣贡献,请创建 Issue 或 Pull Request。我们的讨论在 Issues 下进行。
您可以使用关联的 devcontainer 创建其环境来测试我们的库。选择 Code → Codespaces → Create codespace on main 即可开始。这会在 GitHub 上创建一个包含依赖项并提供基于浏览器的 VS Code 界面的容器。您可以在其中编译并运行我们的基准测试,不过该虚拟机可能比报告中给出的测量结果更慢。
本包依赖于 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