Ingonyama Profile picture
Sep 5 17 tweets 7 min read
1/ Introducing Cloud-ZK: A Toolkit for Developing Zero Knowledge Proof Acceleration in the Cloud 🥳

TL;DR

Today we #opensource a new way to accelerate ZK. Using #FPGA. In #AWS cloud. Easy. Accessible. Cheap.

Read on, or check out the blog
Thread 🧵👇

github.com/ingonyama-zk/c… Image
2/
Zero Knowledge (ZK) technology is a fundamental building block for decentralized computing.

Its two main applications are privacy-preserving computation and verifiable computation.

Blogpost: medium.com/@ingonyama/clo…
3/
For specific types of ZK such as SNARK and STARK-based systems, additional properties include public verifiability, smaller proof sizes, and fast verification.

This makes these kinds of ZK perfect for use in blockchains for scalability and privacy purposes.
4/
At present, ZK tech is being developed and used by leading blockchains (e.g. @Filecoin, @AleoHQ), L2s (e.g. Starknet, @zksync) and decentralized applications (e.g. @darkforest_eth, ZKAttestor)
5/
BUT.. nothing great ever comes easy 🤷‍♂️

The Prover must run a computationally intensive algorithm with significant data blowup during the computation. Recent estimates suggest up to 10M in prover overhead while producing the proof, compared to directly running the computation
6/
Today, prover overhead is considered the main computational bottleneck for applied ZK 🚧

Without exception, every project built on ZK technology is facing or will face this bottleneck, which manifests adversely in either latency, throughput, memory, power consumption, or cost
7/
ZK computation requires modular arithmetic on large field sizes

Trials on CPUs lead 2 the conclusion that modern CPU architecture is just not built to handle this form of computation efficiently

As a result, the need for specialized hardware ZK prover acceleration is clear
8/
Until now, the majority of hardware experimentation for accelerating ZK has been done with GPUs. In our recent paper, PipeMSM, we explored bringing functioning and operational ZK for the first time to FPGAs

eprint.iacr.org/2022/999.pdf
9/
We believe this to be a superior approach for accelerating ZK computation, on the path to developing ZK for Application Specific Integrated Circuits (ASICs)

It is our belief that the energy efficiency in FPGAs is more suitable for ZK due to their function-specific design
10/
With FPGAs at the base, we take a holistic approach to ZK optimization with designs based on a novel algorithmic approach and hardware-specific optimizations
11/
We implemented and tested our design on FPGA, and highlight the promise of optimized hardware over state-of-the-art GPU-based MSM solvers, in terms of both speed and energy expenditure. Image
12/
A disadvantage of FPGAs compared to GPUs is their lack of accessibility, while GPUs have effectively become commodity hardware.

This means there is a high barrier for ZK users simply getting an FPGA into their hands.
13/
One promising approach to overcoming this barrier is by utilizing cloud computing

Clouds offering FPGA resources such as @awscloud, @alibaba_cloud have made FPGAs more accessible with “on-tap” accessibility.

This is a GAME-CHANGER in the world of hardware acceleration.
14/
Introducing Cloud-ZK

With the Cloud-ZK toolkit we have made #opensource, the benefits of ZK hardware acceleration on FPGAs are accessible to anyone, anywhere, anytime and with costs comparable to any other standard CPU instance on an hourly basis (link in Tweet 1)
15/
Our FPGA code achieves 4x the baseline of Zprize FPGA MSM competition, where max prize criteria is 2x :)

zprize.io/prizes/acceler…
16/
As an example application, our AWS F1 instance can be used to accelerate Aleo prover.

In terms of proofs per second, the accelerator can generate up to ~5x proofs per second compared to running on CPU alone
17/
Follow for more Zero Knowledge hardware acceleration news as we work to make ZKP inexpensive, accessible, and fast

FIN

Github: github.com/ingonyama-zk Image

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Ingonyama

Ingonyama Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @Ingo_zk

Jul 21
Yesterday, @0xPolygon announced their Polygon #zkEVM , an EVM-equivalent ZK L2.

With the news, we see an opportunity to share some interesting data points on zkEVM.

Here are a few data points you might find interesting…🧵⬇️

Polygon’s zkEVM has a few modules:

- Proof of Efficiency Consensus Mechanism
- zkNode Software
- zkProver
- LX-to-LY Bridge
- Sequencers
- Aggregators
zkEVM Prover is the most complex part of the code.

zkEVM is mostly written in Go (Prover in C++) with some utilities in Javascript / Typescript
Read 8 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(