Skip to main content

FAQs

Have a question not answered below? Send an email to hello@sindri.app.

Sindri​

General​

Can I trust a centralized provider with my private data?

Sindri strives to adhere to security best practices to ensure the protection of private witnesses sent to Sindri for a proof. However, there are inherent vulnerabilities associated with transmitting such information, even with TLS. If privacy is a major concern for your use case, it is advisable to perform those proofs on your own machines and utilize Sindri for verifiable computation instead.

What type of hardware acceleration do you provide?

Sindri's novel acceleration techniques, including Sagittal for multi-scalar multiplication, are optimized to run on GPUs. We also provide acceleration for CPU-only and CPU+GPU proof generation.

Can I use Sindri as a ZK development tool?

Yes! However, in our beta phase, the Sindri API provides limited guidance on correcting runtime errors.

Does Sindri support ZK-STARKs?

Sindri offers support for Plonky2, which utilizes FRI and does not require a trusted setup.

Accounts​

How do I sign up to use Sindri?

Create a Sindri account here.

What's the cost?

Proof generation is available free of charge during a pilot.

Sindri API​

Compile and Setup​

What languages do you support?

Please refer to this page for more information.

Which trusted ceremony are you using?

The following information assumes you have not uploaded your own trusted setup and proving keys. For more information about how to utilize the key upload feature, see this page

For any proof system over BN254, we use an outcome of the perpetual "powers of tau" ceremony. See the ceremony's documentation for more details. For Groth16, we use the same round as Hermez (54). For KZG, we use the same round as Axiom (71). The round choice will change the prove and verify keys accordingly. So, if your use case includes a verifying key that came from a different round, send an email to hello@sindri.app so we can help you incorporate it.

Gnark circuits utilize a single party mock ceremony for key generation.

Why can't you generate the phase two keys for me?

Best practices for producing keys involve communication between multiple parties. Any key produced by one contributor is much easier to compromise, which would allow a malicious actor to cheat the ZK-SNARK promise. They could learn your private inputs or fake a proof with their own illegitimate inputs.

Why is it taking so long for my circuit to compile?

Sindri's compile step incorporates multiple parts of the ZK-SNARK setup process, not just circuit synthesis. Depending on your use case, the compile step might also be fetching and building external library dependencies or constructing mock keys.

Prove​

What do I do with the proof data?

You can download the proof and public outputs from a circuit via our proof detail endpoint.

Can I choose what hardware certain proofs run on for the same circuit?

This feature is currently under development! For more details about how to formulate your proof request, consult the documentation for this endpoint.

I misplaced the proof data but still have the proof's ID, can I retrieve this data without rerunning the proof?

This feature is not supported in our UI but is available via the API. See the proof detail endpoint here.