Rationale

The KZG trusted setup will benefit from have a diversity of approaches at all points in the application stack. We wish to encourage a variety of UI modules, covering multiple modes, hardware platforms, OS varieties, etc. This document is intended for those who wish to implement a client to perform the computation.

This API aims to be simple to implement yet sufficient to cope with the real-world variations that will be encountered.

Reference

The REST end points noted in this document are described in detail here: API Trusted Setup MPC

Overview

The participant client will follow a session life-cycle with these stages:

Landing

The starting point for the client need only provide a mechanism to initiate login. Additional, optional data could be presented, including overall ceremony data, queue length, etc. Such data can be retrieved using the ceremony/status end point.

Authentication

Participants are required to identify themselves and pass some anti-sybil qualifying tests. The process follows common OAuth2 usage.

The client must login using the login end point. A successful request will return with a token (JWT), which must be passed in subsequent requests (except where noted).

The JWT will remain valid for the duration of the session, i.e. until the client logs out, or closes the web page.