Author: Pintea Tudor
Type: Standards Track
Created: November 1, 2023
This SNIP proposes the introduction of privacy-preserving transactions on StarkNet using zk-SNARKs. The goal is to enable users to transact on StarkNet without revealing the transaction amount or the parties involved, enhancing user privacy.
While StarkNet offers scalability and efficiency, user transactions are currently transparent, similar to many other blockchains. As privacy becomes a growing concern among users, introducing privacy-preserving transactions will make StarkNet more appealing to a broader audience and enhance its utility.
- zk-SNARKs Integration: Integrate zk-SNARKs proofs to validate transactions without revealing transaction data.
- New Transaction Type: Introduce a new transaction type,
PrivateTransaction, which will utilize zk-SNARKs to keep transaction details hidden.
- Gas Fees: Gas fees for
PrivateTransactionwill be slightly higher due to the computational complexity of zk-SNARKs.
- Opt-in Privacy: Users can choose between regular transactions and privacy-preserving transactions.
zk-SNARKs have been successfully implemented in other blockchain platforms for privacy. They allow for transaction validation without revealing the transaction’s details, making them a suitable choice for this feature.
This proposal introduces a new transaction type but does not alter the existing transaction structure. Therefore, it is backward compatible with current StarkNet implementations.
- Private Transaction Validation: Ensure that
PrivateTransactionis validated and processed without revealing transaction details.
- Gas Consumption: Confirm that gas fees for
PrivateTransactionare consistent with the proposal.
A reference implementation will be provided on the StarkNet GitHub repository under the branch
While zk-SNARKs are considered secure, thorough auditing and testing will be necessary to ensure that the privacy feature does not introduce vulnerabilities into StarkNet.
This SNIP is released into the public domain.
This SNIP proposes a new feature to enhance user privacy on StarkNet by introducing privacy-preserving transactions using zk-SNARKs.