Validators and consensus
A Gora validator is a process that participates in producing and verifying app results. Validators are off-chain. The Gora network is not a blockchain — it agrees on app outcomes and writes attestations to whichever chain the result targets.The short version
Who can be a validator
Anyone who stakes GORA on a supported chain can launch a validator. The MVP supports three entry chains:
You stake on the chain you already use. Your voting power is the sum of any stake you have committed across all three chains.
Two keys, two roles
The owner key signs a delegation certificate once. The certificate binds a participation key to your on-chain identity. From then on, the validator process can sign votes and proofs without ever touching the cold key.
If a participation key is compromised, the owner rotates it. Stake is unaffected.
Launching a validator from mobile
The Gora mobile apps (iOS and Android) include a Validators screen. The flow is:- Pick a chain (Solana, Base, or Algorand) — only chains where you already have a wallet are offered.
- Pick a stake amount.
- The app asks the Gora node manager for a fresh participation key.
- The wallet signs a delegation certificate binding that participation key to your address.
- The wallet builds and signs the stake transaction for the chosen chain.
- The manager spawns a validator process for you on a Gora-provided host (during MVP) or on your own host (after MVP).
How a consensus round runs
Each round is short — usually under a few seconds — and proceeds in fixed phases.Networking model
Validators communicate over a gossip transport — push fan-out plus an anti-entropy pull every few seconds. There is no central coordinator. When a new validator joins, it bootstraps from a small list of well-known peers and diffuses its own signed announcement through gossip. During MVP, validators run on Gora-provided hosts as separate processes inside Linux network namespaces. From their own point of view, each validator is on its own machine: separate IP, separate routing table, separate ports. The same gossip code paths work for both local-isolated and remote deployments, so the eventual transition to user-hosted validators does not change the protocol.Safety assumptions for MVP
What this means for app developers
You do not need to know which validator ran your request. You do need to know:- Your request is processed by a committee — typically five validators — not by one node you can trust unilaterally.
- The result you get back is accompanied by an attestation that any supported chain can verify.
- Deterministic apps (same input → same output) are checked by re-execution. Non-deterministic apps (AI-mediated) are checked by independent evaluation against your declared policy.