Ingonyama has a new open source way to accelerate Zero Knowledge. Use of FPGAs. In the AWS cloud. Easy. Accessible. Cheap.

Ingonyama

A next-generation semiconductor company, designing accelerators for advanced cryptography.

TL; DR:

Ingonyama has a new open source way to accelerate Zero Knowledge

Use of FPGAs. In the AWS cloud.

Easy. Accessible. Cheap.

Link to Github

Zero Knowledge (ZK) technology is a fundamental element of distributed computing. Its two main applications are privacy-preserving computation and verifiable computation.

For specific types of ZKs such as SNARK and STARK-based systems, additional properties include public verifiability, smaller proof sizes, and fast verification, making these types of ZKs ideal for use in blockchains for scalability and privacy purposes.

Currently, ZK technology is developed and used by major blockchains (e.g. Filecoin, Aleo), L2 (e.g. Starknet, zkSync) and decentralized applications (e.g. Dark Forest, ZKAttestor) .

Unfortunately, nothing great ever comes easily. The prover, responsible for generating the proof, must run a computationally intensive algorithm with a large explosion of data during the computation. Recent estimates suggest a factor of up to 10 million in Prover overhead when producing the proof, compared to performing the calculation directly.

Today, prover overhead is considered the main computational bottleneck for applied ZK. Without exception, every project built on ZK technology faces or will face this bottleneck, which manifests negatively in terms of latency, throughput, memory, power consumption or cost.

A unique property of Zero Knowledge Computing is that it performs modular arithmetic under the hood, on huge field sizes. This requirement and its testing of CPUs lead to the conclusion that modern CPU architecture is simply not designed to handle this form of computing effectively.

Accordingly, the need for specialized hardware acceleration of the ZK Prover is clear.

ZK Acceleration on FPGA

So far, the majority of hardware experimentation to speed up ZK has been done with GPUs. In Ingonyama’s recent paper, PipeMSM, we explored how functional and operational ZK brings to FPGAs for the first time. We believe this is a superior approach to accelerating ZK computation on the path to zero-knowledge development for application-specific integrated circuits (ASICs).

We believe that the power efficiency of FPGAs is more suitable for ZK due to their function-specific design compared to the narrower flexibility of the GPU. With FPGAs at its core, we take a holistic approach to ZK optimization with designs based on a new algorithmic approach and hardware-specific optimizations.

In the paper, we use the Parallel Bucket method and low latency full elliptic curve addition formulas along with Domb-Barret reduction to produce MSMs, a major bottleneck for many ZK provers, with a power efficiency and improved speeds over GPUs.

We implemented and tested our design on FPGAs, and demonstrated the promise of optimized hardware compared to state-of-the-art GPU-based MSM solvers, in terms of speed and power expenditure.

By using the MSM accelerator in the cloud, we can achieve significant ZK acceleration.

A disadvantage of FPGAs over GPUs is their lack of accessibility, whereas GPUs have effectively become commodity hardware. This means that there is a high barrier for ZK users who just put an FPGA in their hands.

A promising approach to overcoming this obstacle is to use cloud computing. Similar to how cloud providers enabled easy and immediate access to massive data center resources, which lowered the high barrier to entry for small businesses, clouds offering FPGA resources such as AWS , Alibaba Cloud and others have made FPGAs more accessible with the same kind of “on the fly” accessibility.

It is a GAME-CHANGER in the world of hardware acceleration.

Introducing Cloud-ZK

With the Cloud-ZK Toolkit that Ingonyama has made open source, the benefits of ZK hardware acceleration on FPGAs are available to anyone, anywhere, anytime, and at costs comparable to any another standard CPU instance on an hourly basis.

As part of the initial release, we included:

1. An example AFI for BLS12–377 Multiscalar Multiplication (MSM) on the AWS EC2 F1 instance.

2. A Rust library allowing developers to run variable-size MSMs in their code, accelerated in the cloud. Use Ingonyama FPGA-accelerated MSMs of any size

3. A Rust implementation for AWS XDMA Driver, to transfer data between AWS FPGA and host CPU

4. Benchmarks and tests using arkworks as a reference

5. A Developer’s Guide to Building Your Own Amazon FPGA (AFI) Images

Our FPGA code achieves 4x the baseline of the Zprize FPGA MSM competition, where the maximum prize criterion is 2x 🙂

As an example application, Ingonyama’s AWS F1 instance can be used to accelerate the Aleo prover. In terms of proofs per second, the accelerator can generate up to ~5 times proofs per second compared to running on CPU alone.

In the future, we plan to improve the toolkit in the following ways:

1. Improved MSM accelerator core: power consumption, speed, functionality (more curves)

2. Added NTT AFI Accelerator

3. Support Ali Cloud and other FPGA-based instances

Follow the journey on Twitter: https://twitter.com/Ingo_zk

Github: https://github.com/ingonyama-zk

Blog: https://medium.com/@ingonyama/

Join the team: https://www.ingonyama.com/careers

Related stories

LOADING
. . . comments & After!