Guides
Zero-Knowledge Proofs on Firechain
Firechain uses zero-knowledge proofs to enable scalable, privacy-friendly decentralized applications. A zero-knowledge proof (ZKP) is a type of cryptographic proof in which one can prove that they know a secret value without actually revealing it. For example, one can prove that they know the answer to a math problem without sharing the answer itself. ZKPs are a powerful cryptographic primitive that can be used in a wide range of applications, such as verifiable computation, enforcing honest behavior, and many other types of privacy-preserving interactions.
Firechain's ZKP Engine
Firechain leverages the Zilch framework to support ZKPs. Zilch is a relatively new ZKP protocol that implements Scalable and Transparent ARguments of Knowledge (STARKs), a type of non-interactive zero-knowledge proof that can be used to verify computations without revealing the actual knowledge being proven. In Firechain, STARKs are used to verify certain types of interactions between entities without revealing the specifics.
We chose Zilch to power our ZKP engine in part because it allows the expression of computation as a transcript of state transitions to generate a universal arithmetic circuit. This means that we can use Zilch to verify computations without having to write a custom circuit for each computation, which is a huge win for developers.
Developers can use Firechain's ZKPs to enable privacy-oriented decentralized applications. For example, Firechain's ZKP engine can be used to verify that a transfer of funds was made between two accounts without revealing the specifics of the transfer. This is useful for applications that require privacy, such as private business transactions and personal finances.
Future Work
Firechain's ZKP engine is currently experimental, and we're working on a number of improvements to make it more robust and usable. We're also working on higher-level support for ZKPs in Pyro, which will make it substantially easier for developers to use ZKPs in their decentralized applications.
One of the core protocol features we're working hard on is support for ZKP-enabled account chain rollups that can be used to enable completely private accounts. This will allow users to create accounts (or even subnets) that are completely private. This is a powerful feature that opens the door to a wide range of privacy-preserving applications, but it's also quite complex and will take time.
We'll update this page when we have more information to share. Stay tuned for more updates on Firechain's ZKP support!