Skip to content

dyne/longfellow-zk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Longfellow-ZK - made in Europe

Longfellow-ZK is a Zero Knowledge circuit system developed by engineers at Google and specifically designed to create ad-hoc ZK circuits that can be executed at competitive speed both for presenting and verifying proofs. Here is our independent benchmark and the results are impressive.

This repository is a soft fork of Google's Longfellow-ZK library, it is made in Europe and maintained by the Dyne.org foundation, based in Amsterdam to best serve the purposes of the EUDI ARF development.

Our effort is currently supported by the EU HORIZON grant nr.101132610 (PACESETTERS).

PACESETTERS project

Purpose and strategy

The purpose of this distribution is to make Longfellow-ZK available for European wallets and to welcome contributions without the need to sign any development agreement with Google. Our build removes any dependency from the Google Play API for the use of this ZK technology, granting freedom of choice for mobile OS and solving a privacy problem impacting the use of ZK. We work further to grant full portability to WebAssembly (WASM) builds, native mobile environments (Android and iOS) as well add usable command-line tools (CLI) for testing purposes.

By soft fork we mean that changes we make to the code are fully backward compatible with Google's upstream code, while we may adopt different implementation approaches: for instance we already removed the OpenSSL dependency with embedded code, we added a bunch of SIMD128 assembler primitives and made a few more lower-system changes for portability.

If upstream will ever include changes that break EUDI functionalities or go against the interest of European implementations, this will turn into an hard-fork and we'll publish a roadmap to highlight divergent paths and compatibilities.

Current Status

This distribution is at an early stage and includes all upstream primitives for circuit design, as well the upstream implementation for ISO mDoc (U.S. mobile driver's license) credentials for identity verification, and stubs for JWT parsing and plans for additional circuits supporting EUDI and e-ID implementations.

For now, just like the upstream code, this is a demonstrator at TRL 4 and we just focus on portability and test environment, but we also devleoping a language (DSL) to design longfellow-zk circuits which will soon be ready to ease the customization of circuits fitting EUDI standard formats.

References

Known implementations

Licensing

The upstream Google implementation is mostly left untouched in this distribution and it is licensed as Apache 2.0.

This distribution project and all additional code contributed by Dyne.org is also licensed as Apache 2.0.

Everyone is welcome to submit patches under MIT and/or Apache 2.0 licenses.

Funded by the European Union

About

European build of Longfellow-ZK

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

  •  

Languages