
تطبيق مكتبة جوجل للمعرفة الصفرية لبروتوكولات الهوية.
تمكّن مكتبة Longfellow من بناء بروتوكولات صفر المعرفة (zero-knowledge) المتعلقة بمعايير التحقق من الهوية القديمة مثل معيار ISO MDOC، ومعيار JWT، وبيانات الاعتماد القابلة للتحقق من W3. تم وصف هذا التنفيذ في:
سُميَت على اسم الجسر الموجود خارج مكتب Google في كامبريدج.
يخضع هذا المشروع حاليًا لمراجعتين أمنيتين مستقلتين من قبل لجان من الخبراء الأكاديميين والصناعيين في هذا المجال. تقاريرهم متاحة في صفحة توثيق المشروع/المراجعات.
يحتوي هذا المستودع على الملفات العاملة لمواصفات Longfellow ومكوناتها. إذا كنت مهتمًا بالمساهمة، فيرجى إنشاء Issue أو Pull Request. تجري مناقشاتنا ضمن Issues.
يمكنك اختبار مكتبتنا بسرعة باستخدام devcontainer المرتبط لإنشاء بيئتها. ما عليك سوى النقر على Code-->Codespaces-->Create codespace on master أعلاه للبدء. يؤدي ذلك إلى إنشاء حاوية Docker على خادم Github تتضمن جميع التبعيات وتوفر واجهة 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
يبدو أن الإصدارات الأحدث من فيدورا تتطلب 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