TxVM is a powerful new way to describe blockchain transactions. A transaction is a proposal to alter a blockchain’s global state — updating the collection of existing tokens and their ownership, for example, or registering the effects of running a smart contract. If the proposal is valid and is accepted by the network, the state change is made.
curve25519-dalek is a library providing group operations on the Edwards and Montgomery forms of Curve25519, and on the prime-order Ristretto group. The Interstellar protocol team has contributed to its development.
- Accelerating Edwards Curve Arithmetic with Parallel Formula [Formula Docs] [Implementation Docs]
- Even Faster Edwards Curves with IFMA [Documentation]
- curve25519-dalek on GitHub
Merlin is a STROBE-based construction of a proof transcript which applies the Fiat-Shamir transform to an interactive public-coin argument of knowledge. This allows implementing protocols as if they were interactive, committing messages to the proof transcript and obtaining challenges bound to all previous messages.
Bulletproofs are short non-interactive zero-knowledge proofs that require no trusted setup. They are designed to enable efficient confidential transactions in cryptocurrencies. The Interstellar protocol team has contributed the fastest Bulletproofs implementation, as well as the following work:
- Faster Bulletproofs with Ristretto & AVX2 [Docs]
- Multi-party computation with session types [Docs]
- Bulletproofs pre-release
- Programmable constraint systems for bulletproofs [Formula Docs] [Implementation Docs]
- Papers We Love: Bulletproofs (video)
- CryptoSprings: Bulletproofs [Coming Soon!]
- Bulletproofs on GitHub
Cloak is a protocol for confidential multi-asset transactions based on the Bulletproofs zero-knowledge proof system. The implementation of Cloak in pure Rust is called Spacesuit.
ZkVM is a work-in-progress: an evolution of TxVM with zero-knowledge smart contracts and asset flows protected with the Cloak protocol.
Starlight is a demo implementation of payment channels on Stellar. Payment channels allow parties to transact privately, instantly, and securely, while paying zero fees. They are also a first step toward constructing and connecting to payment channel networks like Lightning and Interledger.