Enforcing node response accuracy

Every response a community-operated node in SoundProtocol returns is signed with the private key that was used to stake the original tokens or a designated delegate, the block hash of the block they have incorporated up to that point (for discovery nodes) or a timestamp (for content nodes), inputs provided to query, and the node software version from the public version registry they are using to generate results.

Blocks are indexed atomically in discovery nodes and API methods are deterministic, meaning that every discovery node should produce identical results for the same query, block hash, and API interface.

The content node by nature cannot provide as strong of guarantees by timestamp as the discovery node can by block numbers and deterministic indexing, but sequences of requests with responses (ordered by timestamp) signed by the operator key can provide a similar function for demonstrating behavior in a provable way.

If either node type produces invalid or inaccurate results, the signed result document returned by the node is a self-contained proof that the given node produced the given set of results.

Using these proofs as evidence, a claimant could open a governance proposal to slash a given node operator for this alleged misbehavior. The governance process can decide whether there is indeed inaccuracy, whether said inaccuracy was caused by negligence or maliciousness vs. a system error, and slash the node operators stake accordingly. Slashed tokens are burned rather than redistributed to stakers to avoid incentivizing slashes.

Last updated