You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Topics to include (consider splitting into sub-pages):
Validation
Determinism
dependencies
must_get_* functions
must_get_valid_record is the only one that checks for validation receipts/warrants because an entry is only valid/invalid in the context of an action
this also means it trusts the word of others (1-of-n validation)
short-circuiting with ?
Operate on ops
flat ops convenience thingy
Considerations re: what should be validated on each op (IOW, what authorities should be responsible for what things)
Things that can be validated
membrane proof
entry structure (entry_def macro gives you deserialisation and error short-circuiting for free with ? operator)
permission
rate limiting with weight field
dependencies, incl source chain history
Inductive validation for costly dep trees (pattern?)
Limitations
Cannot must_get links or actions on a base
Cannot currently co-validate multiple actions (can only validate an action based on prior valid actions)
Cannot validate the non-existence of something, because that can always change
(future) source chain restructured to atomic bundle of actions, co-validated
sys validation
Lifecycle of a validation
At author time
At publish time
At gossip time
Membrane proof
Genesis self-check -- not a 'true' validation function, just a way to guard yourself against copy/paste mistakes and other things that can permanently hose your chance of joining a network
(future) Handled specially -- restricts/grants access to a network; validated at handshake time (turns out this is not currently implemented, and there are questions about how to implement it in a way that doesn't carry a performance hit with each new peer connection -- and there may be lots of them in a big heavily sharded DHT)
AgentValidationPkg is the only action for which an honest person can get warranted, because they try to join the network and publish it before they're able to fetch deps
Sys validation
What does it validate?
Source chain continuity
Timestamp monotonicity
Contiguity of authorship
(future) if DPKI enabled, sys validation checks that changes of agent ID are reflected in DPKI DNA as-at action timestamp
What else?
The text was updated successfully, but these errors were encountered:
Must include:
Topics to include (consider splitting into sub-pages):
Validation
must_get_*
functionsmust_get_valid_record
is the only one that checks for validation receipts/warrants because an entry is only valid/invalid in the context of an action?
entry_def
macro gives you deserialisation and error short-circuiting for free with?
operator)weight
fieldmust_get
links or actions on a baseAgentValidationPkg
is the only action for which an honest person can get warranted, because they try to join the network and publish it before they're able to fetch depsSys validation
The text was updated successfully, but these errors were encountered: