Skip to content

Commit d2831ef

Browse files
docs: update readme (#265)
* docs: update curve support and formatting in readme * docs: update readme to reflect Proof of SQL benchmarks
1 parent ef1017d commit d2831ef

File tree

1 file changed

+7
-7
lines changed

1 file changed

+7
-7
lines changed

README.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@
5353
</div>
5454

5555
#### Background
56-
Blitzar was created by the core cryptography team at [Space and Time](https://www.spaceandtime.io/) to accelerate Proof of SQL, a novel zero-knowledge proof for SQL operations. After surveying our options for a GPU acceleration framework, we realized that Proof of SQL needed something better… so we built Blitzar. Now, Proof of SQL can execute analytic queries on million-row tables in less than a second, and it’s only getting faster.
56+
Blitzar was created by the core cryptography team at [Space and Time](https://www.spaceandtime.io/) to accelerate Proof of SQL, a novel zero-knowledge proof for SQL operations. After surveying our options for a GPU acceleration framework, we realized that Proof of SQL needed something better… so we built Blitzar. Now, Proof of SQL can execute analytic queries on 1M+ rows in less than a second, and it’s only getting faster.
5757

5858
We’ve open-sourced Blitzar to provide the Web3 community with a faster and more
5959
robust framework for building GPU-accelerated ZK proofs. We’re excited to open
@@ -67,11 +67,11 @@ Blitzar is a C++ library for accelerating cryptographic zero-knowledge proof alg
6767
6868
The library provides
6969

70-
* Functions for doing group operations on [Curve-25519](https://en.wikipedia.org/wiki/Curve25519) and [Ristretto25519](https://ristretto.group/) elements.
70+
* Functions for doing group operations on [Curve-25519](https://en.wikipedia.org/wiki/Curve25519), [Ristretto25519](https://ristretto.group/), [bls12-381 G1](https://electriccoin.co/blog/new-snark-curve/), [bn254 G1](https://hackmd.io/@jpw/bn254) and [Grumpkin](https://hackmd.io/@aztec-network/B19AA8812#Curve-cycles) elements.
7171
* An implementation of [Inner Product Argument Protocol](https://eprint.iacr.org/2017/1066.pdf) for producing and verifying a compact proof of the inner product of two vectors.
7272
* A sys-crate and bindings to make commitment computations usable from [Rust](https://github.com/spaceandtimelabs/blitzar-rs).
7373

74-
The library is adopted from code in [libsodium](https://github.com/jedisct1/libsodium) and extends libsodium's cryptographic functions to support CUDA so that they are usable on GPUs.
74+
The library is adopted from code in the [libsodium](https://github.com/jedisct1/libsodium) and [zkcrypto](https://github.com/zkcrypto/bls12_381) projects. It extends both project's cryptographic functions to support CUDA so that they are usable on GPUs.
7575

7676
**WARNING**: This project has not undergone a security audit and is NOT ready
7777
for production use.
@@ -91,8 +91,8 @@ Although the primary goal of this library is to provide GPU acceleration for cry
9191

9292
| Backend | Implementation | Target Hardware |
9393
| :--- | :--- | :--- |
94-
| `cpu` | Serial | x86 capable CPUs |
95-
| `gpu` | Parallel | Nvidia CUDA capable GPUs
94+
| `cpu` | Serial | x86 capable CPUs |
95+
| `gpu` | Parallel | Nvidia CUDA capable GPUs |
9696

9797

9898
## Cryptographic Primitives
@@ -112,7 +112,7 @@ Note: we interchangeably use the terms "multi-scalar multiplication" and "multie
112112

113113
The Blitzar implementation allows for computation of multiple, potentially different length, MSMs simultaneously. Additionally, either built-in, precomputed, generators $g_n$ can be used, or they can be provided as needed.
114114

115-
Currently, Blitzar supports Curve25519 as the group. We're always working to expand the curves that we support, so check back for updates.
115+
Currently, Blitzar supports group elements from the Curve25519, bls12-381 G1, bn254-381 G1, and Grumpkin curves.
116116

117117
#### Inner Product Argument
118118

@@ -148,7 +148,7 @@ Benchmarks are run against four different types of GPU:
148148
<details open>
149149
<summary>Multi-Scalar Multiplication / Generalized Pedersen Commitment Results:</summary>
150150

151-
The subsequent outcomes are derived from the preceding benchmark execution of the pedersen commitment, during which the number of sequences, bytes per element, sequence length, and GPU type were varied.
151+
The subsequent outcomes are derived from the preceding benchmark execution of the Pedersen commitment, during which the number of sequences, bytes per element, sequence length, and GPU type were varied.
152152

153153
![Multiexponentiation Benchmarks](https://github.com/spaceandtimelabs/blitzar/blob/assets/benchmark/multiexponentiation_seconds.png)
154154

0 commit comments

Comments
 (0)