Skip to contents

Abstract base for the two kinds of participating party: a LocalSite, whose data is in this R session, and a RemoteSite, whose contribution is produced elsewhere. Both answer the same generic, contribute(), and are indistinguishable to whoever asks: each returns an encrypted contribution at the requested parameter.

Usage

Site(name = character(0), state = new.env(parent = emptyenv()))

Arguments

name

short identifier shown in printed output. A single non-empty string; it names the site in every error message, so an empty or vectorized name is rejected at construction.

state

an environment for mutable bookkeeping — the public parameters the site was given when it was configured, its own key share under threshold keys, and, on the frozen legacy path, the next link in the round-robin chain. Default: a fresh empty env.

Value

nothing — this class is abstract, so calling it raises an error instead of returning an object. It is the common parent of LocalSite and RemoteSite, and the dispatch target for contribute(). Construct a co-located site with make_worker().

Details

A site is autonomous once constructed. It is given public parameters once, when it is wired, and from then on it computes and encrypts entirely on its own — it holds no reference to the party that aggregates its answers, and needs none.