Skip to content

Support Groth16 (CompactReceipt) proving on platforms other than x86, and without Docker. #1749

@nategraf

Description

@nategraf

Currently, Groth16 proving, resulting in a CompactReceipt is only supported on x86 platforms, and only using Docker. The primary blocker to the feature being available more broadly is that the Circom witness generator is implemented using x86 assembly, without any portable implementation. As a result, it can only run on x86 machines.

Docker is used to run rapidsnark, which is the only Groth16 prover supported so far. Although possible to use C bindings of to run rapidsnark as a subprocess, running it in a Docker image has so far been the best option for distributing the prover. One challenge here is that the prover key required is rather large (many GB).

Related: #1520

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions