Light Protocol
DISCLAIMER: THIS SOFTWARE IS NOT AUDITED. Do not use in production!
Tests
- cd ./program && cargo test-bpf deposit_should_succeed
- cd ./program && cargo test-bpf withdrawal_should_succeed
General Description
The Light Protocol program verifies zkSNARK proofs to enable anonymous transactions on Solana.
An SDK will follow soon. Developers will be able to build solana-based programs on top of private transactions. If you're a developer interested in using or integrating with the program, reach out to us: Discord community / Twitter.
Zero-knowledge proofs verify that the owner of recipient address B has deposited tokens to a shielded pool (similar to Zcash) from another address A before. Light Protocol is trustless: the zero-knowledge proof includes meta data such as the recipient address. If this data is tampered with the zero-knowledge proof becomes invalid and the withdrawal fails.
Notes:
- The implementation of the groth16_verifier is based on the arkworks libraries, mainly ark_bn254, ark_ec and ark_ff.
- The implementation of the poseidon hash is based on arkworks_gadgets.
- Light uses a circuit based on tornado_pool.