Longfellow 库能够构建涉及传统身份验证标准(如 ISO MDOC 标准、JWT 标准和 W3 可验证凭据)的零知识协议。该实现描述于:
它的名字来源于谷歌剑桥办公室外的一座桥。
该项目目前正在进行两项独立的安全审查,由该领域的学术和行业专家小组进行。他们的报告可在项目文档/审查页面上查看。
该仓库包含 Longfellow 及其组件规范的工作文件。如果您有兴趣贡献,请创建一个 Issue 或 Pull Request。我们的讨论在 Issue 下进行。
通过使用关联的开发容器创建其环境,您可以快速测试我们的库。只需单击上方的 Code-->Codespaces-->Create codespace on master 即可开始。这会在 Github 服务器上创建一个 Docker 容器,该容器包含所有依赖项,并提供基于 Web 的 VScode 界面来访问我们当前的代码库。您可以在此环境中编译和运行我们的基准测试,但由于虚拟机的原因,其中一些测试可能比我们报告的值慢。
此包依赖于 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