The Light Protocol program verifies zkSNARK proofs to enable anonymous transactions on Solana.

Overview

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:

You might also like...
A template to build smart contracts in Rust to run inside a Cosmos SDK module on all chains that enable it.

CosmWasm Starter Pack This is a template to build smart contracts in Rust to run inside a Cosmos SDK module on all chains that enable it. To understan

Smart Contract built in Rust to run inside Cosmos SDK module on all chains that enable it

CoinSwap is a Smart Contract that is built on the terra blockchain and can be used to swap cryptocurrencies such as LUNA, UST, TerraUSD, Anchor, Mirror Protocol, LUNI and other CW20 tokens. The Project also contains a smart contract which works as a analysis tool for the gas fees on the Terra Blockchain.

Outp0st is an open-source UI tool to enable next-level team collaboration on dApp development over Terra blockchain
Outp0st is an open-source UI tool to enable next-level team collaboration on dApp development over Terra blockchain

Outp0st is an open-source UI tool to enable next-level team collaboration on dApp development over Terra blockchain

Ticketed Discreet Log Contracts (DLCs) to enable instant buy-in for wager-like contracts on Bitcoin.
Ticketed Discreet Log Contracts (DLCs) to enable instant buy-in for wager-like contracts on Bitcoin.

dlctix Ticketed Discreet Log Contracts (DLCs) to enable instant buy-in for wager-like contracts on Bitcoin. This project is part of the Backdrop Build

The Solana Program Library (SPL) is a collection of on-chain programs targeting the Sealevel parallel runtime.

Solana Program Library The Solana Program Library (SPL) is a collection of on-chain programs targeting the Sealevel parallel runtime. These programs a

Solana Escrow Program written by RUST.

Environment Setup Install Rust from https://rustup.rs/ Install Solana from https://docs.solana.com/cli/install-solana-cli-tools#use-solanas-install-to

Solana NFT generative artwork program

resin Solana NFT generative artwork program Installation Depends on imagemagick for art generation, which can be installed here: https://imagemagick.o

A solana program designed to mint Metaplex compliant NFTs.

Solana Minter My program used to mint Amoebits & Amoebit Minis. I wrote it from scratch using the hello-world program as an example & base. Features C

A program on solana blockchain to provide escrow services.

Environment Setup Install Rust from https://rustup.rs/ Install Solana from https://docs.solana.com/cli/install-solana-cli-tools#use-solanas-install-to

Comments
  • exclude security_txt from no-entrypoint builds

    exclude security_txt from no-entrypoint builds

    The usage of solana-security-txt previously recommended in the official usage guide has an issue:

    When multiple projects within a build, including dependencies, define a security-txt, the build fails.

    To avoid this issue, library authors - including projects that might be used as a library by others in the future - should exclude the security_txt macro during no-entrypoint builds.

    Feel free to read up on the details in the issue on the security-txt repository.

    The official usage guide has also been updated. This PR includes the recommended changes.

    opened by w4rum 0
  • Failing tests

    Failing tests

    Running cargo +1.59.0 test --release and lots of tests fail. Any idea what could be the issue? Have you considered adding CI to this repo?

    failures:
        compute_prepared_inputs_should_succeed
        deposit_should_succeed
        double_spend_should_not_succeed
        internal_transfer_should_succeed
        search_root_at_last_root_index_should_succeed
        signer_acc_not_in_first_place_should_not_succeed
        submit_proof_with_wrong_root_should_not_succeed
        submit_proof_with_wrong_signer_should_not_succeed
        withdrawal_should_succeed
    

    Due to this error:

    thread 'solana-bank-forks-client' panicked at 'Account data resizing not supported yet: 0 -> 4122. Consider making this test conditional on `#[cfg(feature = "test-bpf")]`', /Users/drew/.cargo/registry/src/github.com-1ecc6299db9ec823/solana-program-test-1.9.5/src/lib.rs:341:17
    thread 'search_root_at_last_root_index_should_succeed' panicked at 'called `Result::unwrap()` on an `Err` value: IoError(Custom { kind: Other, error: "the request exceeded its deadline" })', tests/onchain.rs:2580:10
    
    opened by drewstone 1
Owner
null
This is a solana lite rpc which optimizes sending transactions and confirming transactions strategies.

Solana Lite RPC This project aims to create a lite rpc server which is responsible only for sending and confirming the transactions. The lite-rpc serv

Blockworks Foundation 7 Dec 24, 2022
Nym provides strong network-level privacy against sophisticated end-to-end attackers, and anonymous transactions using blinded, re-randomizable, decentralized credentials.

The Nym Privacy Platform The platform is composed of multiple Rust crates. Top-level executable binary crates include: nym-mixnode - shuffles Sphinx p

Nym 653 Dec 26, 2022
My attempt at learning Solana program (smart contract) development through RareSkill's Solana course.

60-days-of-solana My attempt at learning Solana program (smart contract) development through RareSkill's Solana course. Originally, I was trying to cr

Jasper 3 Feb 25, 2024
hello-world geyser plugin to stream accounts and transactions from a solana node

src/lib.rs: entrypoint src/plugin.rs: main plugin code to run: cargo build && solana-test-validator -r --geyser-plugin-config config.json note: make s

null 4 Nov 18, 2022
Common protocol for generating ZK proofs for blocks on different blockchains.

Proof Protocol Decoder A flexible protocol that clients (eg. full nodes) can use to easily generate block proofs for different chains. Specification I

Polygon Zero 3 Oct 5, 2023
A Rust library for the Marlin preprocessing zkSNARK

Marlin marlin is a Rust library that implements a preprocessing zkSNARK for R1CS with universal and updatable SRS This library was initially developed

arkworks 215 Dec 6, 2022
Bellman zkSNARK library for community with Ethereum's BN256 support

bellman "Community edition" Originally developed for ZCash, with extensions from us to make it a little more pleasant. Uses our "community edition" pa

Matter Labs 113 Dec 29, 2022
Multilayered Linkable Spontaneous Anonymous Group - Implemented as is from paper. Not Monero specific

MLSAG This is a pure Rust implementation of the Multilayered Linkable Spontaneous Anonymous Group construction. This implementation has not been revie

Crate Crypto 19 Dec 4, 2022
A crate for working with Ethereum beacon chain light client protocol messages. `no_std` friendly!

eth-lightclient-rs A crate for working with Ethereum beacon chain light client protocol messages. no_std friendly! !! For hacking and experimentation

Willem Olding 12 Jan 6, 2023
Demonstrates Solana data account versioning used in supporting the Solana Cookbook article: Account Data Versioning

versioning-solana This repo demonstrates ONE rudimentary way to upgrade/migrate account data changes with solana program changes. What is data version

Frank V. Castellucci 6 Sep 30, 2022