Configuration
Coprocessor Backend
Database
Some settings of the Coprocessor backend are configured by inserting entries in the PostgreSQL DB.
At the time of writing, we don't have a tool or automation for doing the configuration. The DB schema can be used as a reference, though: schema.
The tenants
table contains a list of tenants that are using the Coprocessor backend. A tenant could be thought of as a separate blockchain (or a separate FHE key, i.e. using multiple FHE keys on a blockchain). The fields in tenants
are:
tenant_id
unique tenant identifier
tenant_api_key
an API key that authenticates access to the server
chain_id
the chain ID of the chain this tenant operates on
verifying_contract_address
address of the InputVerifier contract
acl_contract_address
address of the ACL contract
pks_key
a serialization of the FHE public key
sks_key
a serialization of the FHE server key
public_params
a serialization of the CRS public params
cks_key
optional secret FHE key, for debugging only
is_admin
if tenant is an administrator
Command Line
You can use the --help
command line switch on the coprocessor to get a help screen as follows:
Threads
Note that there are two thread pools in the Coprocessor backend:
tokio
FHE compute
The tokio one (set via --tokio-threads
) determines how many tokio threads are spawned. These threads are used for async tasks and should not be blocked.
The FHE compute threads are the ones that actually run the FHE computation (set via --coprocessor-fhe-threads
).
Secret Signing Key
A secret signing key is needed to allow the Coprocessor backend sign input insertion requests. A coprocessor.key
file can be given on the command line for the server as:
The secret signing key must be kept safe when operating the Coprocessor.
Last updated
Was this helpful?