Z mark

Resources

FAQ

Frequently asked questions about z.fun

ZFUN is an experimental token leveraging zero knowledge proofs to airdrop tokens to ZEC holders. There is no planned utility for the token.

In order to claim the airdrop, holders must generate a zero knowledge proof of their holdings. The user submits the input to the TEE prover which generates a proof declaring the total number of ZEC holdings. The Zfun backend receives the proof and records the outputs and corresponding Solana address. After registration ends, final airdrop amounts will be finalized and processed into a Solana smart contract. Upon the token launch, recipients can then call the "Receive" function on the smart contract to receive their airdropped tokens.

The zero knowledge proof only proves that the holder has a certain amount of ZEC holdings. It does not connect the holder's Solana address to their shielded holdings or the source of their shielded holdings. However, the public commitment does contain hashes of transparent UTXOs.

No. The resulting ZK proof does not expose the user's private Zcash addresses. There are several layers of protection towards maintaining privacy of your shielded transactions.

The private data that is exported from your wallet and used to prove your airdrop holdings is read-only. It does not have the secrets necessary to spend tokens, only the viewing keys which allow read-only access to your wallet.

The private data is then processed on your computer in the frontend, using Javascript and WebAssembly code that is fully open source. You can view this code here, verify its correctness, and run it locally if you wish.

The frontend creates a proof input which is sent securely using zkTLS directly to a TEE prover, powered by Succinct SP1 Private Proving + Phala Dstack. Because it is encrypted, only the verifiable prover running in the TEE can decrypt the data and use it to generate an SP1 proof. More info is available here.

The prover generates a zero knowledge proof declaring proof of a certain amount of ZEC. It also includes unique identifiers used to prevent repeat claims for the same holdings. These identifiers are unique to your holdings but cannot be linked back to your shielded notes, meaning your Solana address is not linked back to your shielded holdings.

Z.fun's servers have the proof ID corresponding to your proof input which makes it possible to track the status of your proof and download the result from the TEE prover. It does not enable access to the shielded input data.

If you wish, you can run the open source Rust proving tool locally which runs the entire witness generation and proving flow locally, meaning that all of your read-only wallet data never leaves your computer. The local tool generates a proof for the exact same verifier program as this interface. You can also inspect the frontend source code and run it fully locally if you don't trust this site.

Yes! All of the code for ZFUN is open source and publicly available on GitHub. This includes the frontend web application, the Rust proving tool, and all related infrastructure. You can audit the code, verify its correctness, and even contribute improvements.

The open source nature of the project ensures transparency and allows anyone to verify that the system operates as claimed without compromising user privacy.

z.fun benefits Zcash ecosystem because it is a free airdrop for holders, and because it promotes using shielded balance in Zcash. Holders with transparent balance at the snapshot height must shield their ZEC in order to claim the airdrop. By increasing the number of shielded tokens, the Zcash anonymity set becomes more private for all.

Your transactions must be finalized on the Zcash blockchain before they will appear in your wallet's exported data. This means the transaction needs to receive sufficient confirmations.

If you've made a recent transaction, wait for it to be fully confirmed on the blockchain before exporting your wallet database.

Additionally, your holdings must have been present in your wallet at the snapshot height in order to be eligible for the airdrop. Users with wallet activity from after the snapshot may still be able to participate in the airdrop by generating a ZK proof of their wallet's existence.

Need Help?

Community

Development