Dusk Reinforced Concrete (RC) is a new hash function that is super fast in zero-knowledge proofs (such as ZK-SNARKs or STARKs). It is not like regular hash functions (such as SHA-256). Rather, it is designed to work directly over mathematical fields (prime number fields) so that proofs need fewer multiplications and are much faster.

First, let’s understand this: What is a hash?

A hash is like a machine that takes data of any size and produces a fixed-size “fingerprint.”

This fingerprint is so sensitive that even a tiny change in the data completely changes the fingerprint.

To generate this fingerprint, $DUSK RC uses a sponge construction.

Think of a sponge like this: it soaks up water and then you squeeze it out.

Dusk RC uses the same principle to generate a fingerprint.

Data goes in during the absorb phase, and the hash output comes out during the squeeze phase.

Here’s a simple sponge idea:

Left side: input is absorbed (you keep feeding the message)

Right side: output is squeezed (you extract the digest / hash)

This is simple sponge diagram – the green bit is the rate (where you put in the message), and the red cylinders are the permutation rounds that mix it.

Concrete

This is the linear mixing step.

Imagine there is water in 3 glasses. You multiply them by a matrix, so everything gets mixed together, and then you add a few constants.

This helps changes spread very quickly across the whole state (strong diffusion)

Bricks

This is the non-linear phase (similar to S-boxes).

It employs some mathematical squaring and multiplication to make algebraic attacks (mathematical attacks) extremely difficult.

The algebraic degree is maintained high (5) to make attacks costly and impractical.

Bars

This is the actual Dusk speedup!

A number is broken up into small pieces (e.g., a 256-bit number into 32-bit pieces).

A simple non-linear operation is done on each piece (using a lookup table), and then all the pieces are combined again.

The reason why lookup tables are so cheap in zero-knowledge proofs is why Dusk RC is about 10-15× faster.

This entire concept originates from an SPN (Substitution-Permutation Network):

First, substitute with a non-linear substitution

Then, permute the values

You can imagine a simple round of an SPN like this:

The purple boxes represent S-boxes (non-linear components), and the lines represent permutation and diffusion.

Why is all this important for Dusk Network?

In a regular hash function such as Poseidon, each round has a lot of multiplications, so it is slow in zero-knowledge proofs.

$DUSK RC, due to Bars, replaces many multiplications with tables, so it is much faster.

Also, Bricks + Concrete maintain the high security level, which resists both algebraic attacks and statistical attacks.

To add some extra understanding: have you ever heard of a Merkle tree?

In blockchains, transactions are hashed and put into a tree structure such that the proof is small.

Dusk RC is used in exactly these types of proofs.

This is a simple diagram of a Merkle tree – the data is at the bottom, and as you go up, you combine the hashes step by step.

#dusk $DUSK @Dusk