Beneath privacy
and decentralization

We use cryptography to solve real-world problems and to promote security and privacy in digital communication.

Cryptographic innovation & real-world applications

We believe that diversity of expertise is key to tackling complex challenges, and that cross-disciplinary collaboration is essential to driving meaningful innovation.

Our Cryptography Research team works closely with our external partners and engages in continuous internal research across several domains.

Cryptography protocols

Zero-knowledge proofs: security analysis and creation of new schemes

Emerging cryptographic primitives: Witness Encryption and FHE

Cryptographic protocols
Zero-knowledge proofs: security analysis & new schemes
Emerging cryptographic primitives: Witness Encryption and FHE

Fiat-Shamir security of FRI-based SNARKs

As part of a grant awarded by the Ethereum Foundation, we proved that the FRI protocol and a family of FRI-based protocols including Plonky2 and ethSTARK, are secure after applying the Fiat-Shamir transform. This is joint work with Alexander Block, Jonathan Katz, Justin Thaler, and Pratyush R. Tiwari. The paper was accepted and presented at Asiacrypt 2023. Part of the work is concurrent with the ethSTARK paper by StarkWare. In more detail:

We showed for the first time that several popular proof systems are secure after the Fiat Shamir transform. These include “Plonk-like” protocols using FRI such as Plonky2, and the ethSTARK protocol. To do so, we showed that the FRI protocol is round-by-round sound, and, roughly speaking, provide a general way of compiling certain types of Polynomial Interactive Oracle Proofs into a SNARK using FRI, Merkle trees, and the Fiat Shamir transform.

Private smart contracts

A research project that Nethermind is currently conducting with Cardinal Cryptography.

The problem

Aleph Zero is a layer 1 blockchain built by Cardinal Cryptography that aims to provide a general framework for private smart contracts operating on their private states. While secure multi-party computation (MPC) theoretically enables this, in practice, MPC alone is highly inefficient. For instance, a practical design would require only using it for a very specific part of the entire computation and verifying the rest using Zero-Knowledge Proofs.

The solution

In this joint project with Cardinal Cryptography, we explore how to combine multi-party computation (MPC) and zero-knowledge proofs (ZKP) in a way that results in an efficient cryptographic solution. Our learnings have been applied to build a novel DEX design called COMMON, which addresses challenges such as user privacy and price inefficiency.

The problem

Aleph Zero is a layer 1 blockchain built by Cardinal Cryptography that aims to provide a general framework for private smart contracts operating on their private states. While secure multi-party computation (MPC) theoretically enables this, in practice, MPC alone is highly inefficient. For instance, a practical design would require only using it for a very specific part of the entire computation and verifying the rest using Zero-Knowledge Proofs.

The solution

In this joint project with Cardinal Cryptography, we explore how to combine multi-party computation (MPC) and zero-knowledge proofs (ZKP) in a way that results in an efficient cryptographic solution. Our learnings have been applied to build a novel DEX design called Common, which addresses user privacy and price inefficiency challenges.

Our research collaboration with Nethermind on private smart contracts is a big success. The team brought academic-level math skills and a profound understanding of the blockchain domain to the project, which is a rare and impressive combination.
Adam Gagol
CTO and CO-Founder, Aleph Zero

Soundness notions for Interactive Oracle Proofs

This paper originated while conducting our work on the paper “Fiat-Shamir security of FRI-based SNARKs”. Here we establish several relations between different notions of security for Interactive Oracle Proofs. This is joint work with Alexander Block and Pratyush R. Tiwari.

zkSNARKs with the smallest communication complexity

We have developed a novel zkSNARK called “Vampire”, that has the shortest proof among all updatable and universal zkSNARKs. The proof size is twice as small as Plonk’s and only marginally worse than Groth16’s. Importantly, the latter proof system is neither updatable nor universal. A proof-of-concept implementation will be available soon.

Starkpack: aggregation methods for FRI-based SNARKs

We have researched how to aggregate proving tasks for FRI-based SNARKs (e.g., ethSTARK, Plonky2, RISC0, Boojum, etc.) Our technique reduces the verifier’s work and the proof sizes (compared to producing proofs for each witness and the verifier checking each of these). We showed through experimentation that the technique is useful in practice.

Read more about Starkpack in the blog below and stay tuned for an upcoming paper on it.

Zero Knowledge Machine Learning (zkML) efficiency research

We are researching methods to improve current state of the art approaches to zkML. Mostly, we plan to leverage techniques such as floating point approximation and folding schemes. This is part of one of the Worldcoin Community Grants.

Building zkSNARKs optimized for CPU and GPU architectures

Modern zkSNARKs are cryptographic zero-knowledge proof systems - in other words, systems used to prove the veracity of statements while still keeping parts of the statements private. To achieve this goal, zkSNARKs utilize mathematical procedures, such as the Fast Fourier Transform, that require performing computations on sets of numbers known as finite fields. As it turns out, the native arithmetic performed on CPUs and GPUs does not operate on finite fields, but instead works on sets of numbers called rings, specifically integers modulo 2^64. Our team is working on creating a zkSNARK employing the native CPU/GPU arithmetic of rings, which could lead to better efficiency and performance on these computing architectures.

Tool for secret sharing of mnemonics

Our team has developed a user-friendly tool to help securely store mnemonic keys, which are essential for accessing digital wallets. We use a method called Shamir's secret sharing to split the key into multiple shares. To reveal the original key, a certain number of these shares (known as the threshold) must be combined.

The tool allows the user to choose both the number of shares and the threshold.This approach enhances security, as the key parts can be stored on different devices or locations, making it harder for hackers to access the entire key. Additionally, it reduces the risk of losing the key due to accidents or device failures. Our cryptography research team has written a blog post explaining how Shamir's secret sharing works and how to use it for secure mnemonic key sharing.

Collaborating on this project

Michal

Zajac

Albert

Garreta

Isaac

Villalobos

Yevgeny

Zaytman

Ignacio

Manzur

Collaborating on this project

Michal

Zajac

Albert

Garreta

Isaac

Villalobos

Yevgeny

Zaytman

Ignacio

Manzur

No items found.