aboutsummaryrefslogtreecommitdiffstats
path: root/src/node.rs
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2026-11-07 22:35:21 +0100
committertv <tv@krebsco.de>2026-11-07 22:35:21 +0100
commit8523e9c67e375747147a0b05ec191ad81ce2e318 (patch)
tree5263ee759296f08a38091890b743f8d64b557c30 /src/node.rs
parent8f3f7b24f5a4e7cce4a006ec45b8061fe5cdd87c (diff)
signatures: changes signed by their node
Every node signs the changes it commits with its node key, an Ed25519 signature over the change's hash, kept beside the document. One signature on an actor's latest change vouches for its earlier ones. Protocol data and paths listed in _continuum/access/signed are signed, and writes with ?signed=true. Auth plan M5.
Diffstat (limited to 'src/node.rs')
-rw-r--r--src/node.rs4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/node.rs b/src/node.rs
index 23a881d..e64db6c 100644
--- a/src/node.rs
+++ b/src/node.rs
@@ -64,7 +64,9 @@ pub(crate) struct NodeConfig {
/// (`access::registry::first_users`); empty elsewhere, and where none were named
/// (the simulations: no registry).
pub(crate) first_users: crate::access::registry::FirstUsers,
- /// To sign the tokens this node issues (`access::token`); none in the simulations.
+ /// To sign the tokens this node issues (`access::token`) and the changes it commits
+ /// (`document::signatures`): every node's, its node ID being its public key; none in
+ /// the simulations without the identity layer, whose node IDs are names.
pub(crate) node_key: Option<Arc<crate::identity::NodeKey>>,
/// `--token-lifetime`, `--session-lifetime`.
pub(crate) token_lifetime: Duration,