What a signing cluster is
A cluster isn citadel-core nodes with a signing threshold t, where t ≥ ⌊n/2⌋ + 1. Key generation, signing and resharing are protocols run between the nodes; a private key is never assembled in one place. The nodes talk to each other over a NATS message broker and find each other through Consul. Every message between nodes is signed with the sending node’s Ed25519 identity and encrypted to the receiving node.
Each node needs:
Who initiates operations
Nodes do not act on their own. Key generation, signing and resharing requests arrive on NATS from the event initiator (in practice citadel-api, the wallet API) and every request is signed with the initiator’s key. Nodes verify that signature against theevent_initiator_pubkey in their configuration and drop anything that does not match. Optionally, a set of named authorizers can be required to co-sign each request.
This is the boundary between the control plane and the signing plane: the API decides whether a transaction may be signed (policy, approvals, limits); the nodes decide only that the request is authentic before contributing their share.
What Blockops provides
- The citadel-core binaries and container image for self-hosted customers.
- The
citadel-core-clitool for generating peers, identities and initiator keys, and for recovering a share store from backup. - Deployment guides for systemd on Linux hosts, Kubernetes and AWS ECS Fargate.
- Upgrade notes with each release, and support through hello@blockops.network.
What your operators own
- The hosts, cluster or cloud account the nodes run in, and the NATS and Consul services they depend on.
- The identity passwords, the share-store password and the chain code: if these are lost, the node’s shares cannot be recovered.
- Backups of the share store and identity files, and their restore.
- Network controls between nodes and to NATS and Consul, and the TLS material for NATS.
Start here
Install on Linux hosts
Three nodes as hardened systemd services.
Install on Kubernetes
A StatefulSet with secrets, network policy and probes.
Install on AWS ECS
Fargate tasks with Secrets Manager, S3 and EFS.
Configuration reference
Every
config.yaml key, environment override and command-line flag.
