How does Light work?

Under the hood

At the core of everything lies the Light Protocol Program.
In essence, it verifies ZK-SNARKs on the Solana runtime.
ZK-SNARKs are mathematical constructs that let you prove something without revealing any additional information beyond the validity of the proof itself.
While one can use Light's zero-knowledge cryptography in many different ways, we currently focus on the movement of funds to enable private transactions on Solana:
Light verifies proofs that state that a given user owns a certain amount of tokens in a program-derived account (Light pool). The user encodes information into the proof, for example, to move the funds, either into the pool or out of the pool and into a new Solana wallet. Light also supports the fully encrypted movement of funds between two Light users inside the pool.
So how does this create on-chain privacy?
When moving the funds, clients utilize relayers who sign transactions on behalf of the client in exchange for a fee. The proof verification ensures trustless interaction between the client, relayer and program.
So there's no on-chain connection between the client and the movement of funds.
We've built tools that fully abstract away this core functionality for end-users and developers. For a powerful example, refer to the Light Widget.

Other Key Features of Light

Single Liquidity Pool

All interfaces leverage a single shared liquidity pool.
Ecosystem partners tap into instant liquidity that ensures fast and secure privacy guarantees.
Read more about Light Protocol and how liquidity works in the context of privacy in our medium post from last year.