Blog

Bank3: enabling temporarily private cryptocurrency transfers

The Bank3 protocol allows to send assets (such as cryptocurrency) to a smart contract so that the beneficiary remains unknown until the assets are withdrawn.

Posted 2024-03-01 by Vincenzo Iovino ‐ 16 min read

Indistinguishability obfuscation (iO) for general circuits

We propose a construction for indistinguishability obfuscation (iO) for general circuits. The scheme is concocted from four main ingredients: (1) selectively indistinguishably-secure functional encryption for general circuits having its encryption procedure in complexity class NC1; (2) universal circuits; (3) puncturable pseudorandom functions having evaluation in NC1; (4) indistinguishably-secure affine-determinant programs, a notion proposed by works in submission that particularizes iO for specific circuit classes and acts as 'depleted' obfuscators. The scheme can be used to build iO for all polynomial-sized circuits in a simplified way. Instantiations can be obtained from sub-exponentially secure learning with errors (LWE).

Posted 2023-10-23 by Razvan Rosie ‐ 5 min read

Nouns Private Voting Research Sprint - Technical Report

We provide a technical description of the outcomes of the work done by Aragon ZK Research (AZKR) during the exectution of the joint proposal submitted to the Nouns DAO Private Voting Research Sprint by Aztec Labs and AZKR.

Posted 2023-08-17 by AZKR ‐ 19 min read

Nouns Private Voting Research Sprint - General Report

This report presents the results of the joint work done by Aragon ZK Research Association and Aztec Labs to implement a private voting PoC for NounsDAO.

Posted 2023-08-17 by AZKR ‐ 15 min read

TLCS protocols for time-locked encryption

We describe two protocols (zk-TLCS and TLCS) that can be used for time-locked encryption under the assumption that a trusted parts publishes a certain type of random beacon at regular intervals. We then present our *timelock.zone* service, which will be based on the TLCS protocol.

Posted 2023-07-05 by AZKR ‐ 2 min read

E-voting: State of the Art

In this post we summarize a review of the state of the art in e-voting that we published at Aragon ZK Research.

Posted 2023-06-08 by Vincenzo Iovino ‐ 10 min read

Fast Consensus in Weakly Byzantine Asynchronous Environments

We explore conditions for achieving binary consensus in a single communication step when conditions are favourable. With leader-based protocols and known block producers this is possible with only a slight weakening of fault tolerance assumptions.

Posted 2023-05-29 by Alex Kampa ‐ 7 min read

The Poseidon hash function and its implementation in Noir

In this blog post, we provide a brief description of the Poseidon hash function, which provides a contrast with the SHA-2 family of hash functions discussed in a previous post, and discuss its implementation in Aztec's Noir language.

Posted 2023-03-31 by Ahmad Afuni ‐ 10 min read

MINI-FE: computing functions on private data without trusted parties

In this blog post we introduce MINI-FE, a cryptographic protocol to compute functions over private data without any trusted parties and with minimal interaction. In particular we present its applications for Private Stream Aggregation and Quadratic-like Boardroom Voting.

Posted 2023-03-29 by Artem Grigor ‐ 9 min read

BatRaVot: Scalable Trustless Voting on Ethereum

BatRaVot is a trustless voting protocol that allows for both on-chain and off-chain voting with on-chain results, making it a cost-effective and versatile solution for various types of voting scenarios on the Ethereum blockchain. In the blog post we explain the protocol and present our implementation that you can already use today.

Posted 2023-01-19 by Vincenzo Iovino and Artem Grigor ‐ 7 min read