The Creditor runs the underlying set of algorithms responsible for managing the issuance of credits and debits on a Member's local machine, based on actual network bandwidth, compute, and Node reliability as well as the usage and performance of a Node's individual Dynos. The Creditor is responsible for the end-to-end security of this process, ensuring that a Nodes performance logs have not been tampered with to artificially inflate the number of credits it is entitled to.
Each AU is issued based on Zero's 'Credit Entitlement Algorithm', or CEA. The CEA utilizes an internal set of calculations that produce four primary scores that get associated to each Node and active Dyno:
- Uptime: A 0-100 scalar value representing historical system availability over time.
- Utilization: A 0-100 scalar value representing historical Node Dyno utilization over time.
- Latency: A weighted-average of time in milliseconds for processing incoming and outgoing network requests for an individual Dyno over time.
- Credibility: The reputation of the Node (or operator) as determined by other peers in the Zero Grid at the time of calculation.
Here is the generalized formula used to calculate a Node and/or Dyno’s performance using CEA:
Results based on these computed values are then weighted over time, with more recent uptime and latency results attributing to a higher score. This is represented as CEA(t), with t representing how different weightings are applied to different historical time intervals.
Nodes then stack rank the results from individual Node Dyno pairs that can be used the The Dyno Matcher (outlined in Section 4.2.7 Dyno Matcher), to support in supporting and allocating network traffic to increase system-wide reliability. This is the generalized formula used to weight CEA over time:
Once a new CEA has been recorded, Nodes then gossip scores to peers using the custom Message type ‘CEA’, which is accompanied with a cryptographic proof to ensure the CEA and CEAt calculations have been performed correctly and not been altered.