Consensus
The validators agree on what happens before it happens.
If the platform has a brain, this is it. The Smart Validator is the only tier that holds key shares, the only tier that signs on chain, and the tier that decides whether a request is allowed before anything touches a chain. Everything above it (the host, the gateway) is a convenience layer that defers to the validator for anything cryptographic.
%%{init: {'flowchart':{'htmlLabels':true,'curve':'basis'}}}%%
flowchart TD
Req([Incoming request]) --> Rules["Rules engine<br/>is this allowed?"]
Rules -->|denied| Reject([rejected])
Rules -->|allowed| Sign["Threshold signing<br/>collect signature shares"]
Sign --> Submit["Chain adapter<br/>submit the signed txn"]
Submit --> Chains[("Hedera · XRPL")]
Sign -.->|coordinated over| Consensus["Validator mesh<br/>each peer checks the rules too"]
Three responsibilities live here and nowhere else:
Consensus
The validators agree on what happens before it happens.
Threshold signing
Every signature is assembled from shares held by different validators; no single member can produce one alone.
Rules enforcement
Every operation is checked against the rule its account was created with, and that rule is published on Hedera.
No validator stores the whole key of an account the network controls. Each key is created by DKG (distributed key generation): the validators run the ceremony together, and each one ends up with only its own share. Shares are stored encrypted, and a signature needs a threshold of them.
To sign, the validators run FROST, a two-round threshold signing protocol (RFC 9591). In the first round each share holder commits to a fresh one-time nonce; in the second, each returns a signature share, and the coordinating validator aggregates the shares into one ordinary signature. Raw shares never travel over the network.
The platform combines DKG with native chain multisig. Each account the network controls is a multisig on its own chain (a KeyList on Hedera, a SignerList on XRPL): it lists several keys, each created by its own DKG ceremony, and the chain itself requires a threshold of their signatures. So the control is visible on chain, not hidden behind a single key. Each account runs its own ceremonies, so keys are fresh per account and fixed for that account’s life.
A signing ceremony is a multi-party agreement: the validators have to agree which operation they’re signing, then each contributes its signature share. The validators coordinate over signed messages on their private mesh. Every account’s signing threshold is at least a strict majority of its validators, so no minority of validators can sign anything.
The testnet starts from a genesis of three clusters run by HSuite. Opening the validator set to independent node runners comes after mainnet; see Run a node.
Every account the network controls is bound, when it is created, to a rule: what the account may do and who may ask for it. The rules are not buried in code: they’re published on Hedera (Hedera Consensus Service topics), so the policy is publicly auditable rather than “trust us”.
Each validator checks an operation against the account’s rule before it contributes its signature share. A request the rule refuses gets no shares, so it can’t reach the threshold, however it was routed.
Only the validator holds key shares and signs on chain. This boundary is load-bearing:
%%{init: {'sequence':{'showSequenceNumbers':false}}}%%
sequenceDiagram
autonumber
participant H as Smart Host
participant V as Smart Validator
participant P as Peer validators
participant C as Chain adapter
participant Chain as Blockchain
H->>V: sign operation (HTTP)
V->>V: rules engine — allowed?
V->>P: round 1: commit request
P-->>V: nonce commitments
V->>P: round 2: sign request
P->>P: each peer checks the rule
P-->>V: signature shares
V->>V: aggregate into one signature
V->>C: submit signed transaction
C->>Chain: broadcast
Chain-->>V: receipt
V-->>H: signed result
The host is the convenient wrapper; the validator is the cryptographic authority for anything that happens on chain.