@oasisprotocol/client
    Preparing search index...

    Interface KeyManagerCHURPStatus

    Status represents the current state of a CHURP instance.

    interface KeyManagerCHURPStatus {
        applications?: Map<Uint8Array, KeyManagerCHURPApplication>;
        checksum?: Uint8Array;
        committee?: Uint8Array[];
        extra_shares: number;
        handoff: longnum;
        handoff_interval: longnum;
        id: number;
        next_checksum?: Uint8Array;
        next_handoff: longnum;
        policy: KeyManagerCHURPSignedPolicySGX;
        runtime_id: Uint8Array;
        suite_id: number;
        threshold: number;
    }

    Hierarchy (View Summary)

    Index
    applications?: Map<Uint8Array, KeyManagerCHURPApplication>

    Applications is a map of nodes that wish to form the new committee.

    Candidates are expected to generate a random bivariate polynomial, construct a verification matrix, compute its checksum, and submit an application one epoch in advance of the next scheduled handoff. Subsequently, upon the arrival of the handoff epoch, nodes must execute the handoff protocol and confirm the reconstruction of its share.

    checksum?: Uint8Array

    The hash of the verification matrix from the last successfully completed handoff.

    committee?: Uint8Array[]

    Committee is a vector of nodes holding a share of the secret in the active handoff.

    A client needs to obtain more than a threshold number of key shares from the nodes in this vector to construct the key.

    extra_shares: number

    ExtraShares represents the minimum number of shares that can be lost to render the secret unrecoverable.

    If t and e represent the threshold and extra shares, respectively, then the minimum size of the committee is t+e+1.

    handoff: longnum

    Handoff is the epoch of the last successfully completed handoff.

    The zero value indicates that no handoffs have been completed so far. Note that the first handoff is special and is called the dealer phase, in which nodes do not reshare or randomize shares but instead construct the secret and shares.

    handoff_interval: longnum

    HandoffInterval is the time interval in epochs between handoffs.

    A zero value disables handoffs.

    id: number

    ID is a unique CHURP identifier within the key manager runtime.

    next_checksum?: Uint8Array

    NextChecksum is the hash of the verification matrix from the current handoff.

    The first candidate to confirm share reconstruction is the source of truth for the checksum. All other candidates need to confirm with the same checksum; otherwise, the applications will be annulled, and the nodes will need to apply for the new committee again.

    next_handoff: longnum

    NextHandoff defines the epoch in which the next handoff will occur.

    If an insufficient number of applications is received, the next handoff will be delayed by one epoch.

    Policy is a signed SGX access control policy.

    runtime_id: Uint8Array

    RuntimeID is the identifier of the key manager runtime.

    suite_id: number

    SuiteID is the identifier of a cipher suite used for verifiable secret sharing and key derivation.

    threshold: number

    Threshold represents the degree of the secret-sharing polynomial.

    In a (t,n) secret-sharing scheme, where t represents the threshold, any combination of t+1 or more shares can reconstruct the secret, while losing n-t or fewer shares still allows the secret to be recovered.