K3 Consensus

K3 Task Consensus is a scheme to execute, validate, and approve any given task. Powered by a modular consensus engine, the K3 Task Consensus allows the execution and validation of any computation use case.

The consensus algorithm leverages the leader election mechanism, a process for entities (Task Attesters) to make claims about another entity (Task Performer). These claims are cryptographically signed to ensure the authenticity and immutability of task execution.

Performer

Task Performer is an AVS Operator that executes a task, provides a Proof of Task, and sends the results to Attesters. After successfully executing a task, the Task Performer publishes an event via peer-to-peer networking for Attester nodes to discover.

The RPC call that the Task Performer sends to the client:

Copy

{
    "jsonrpc": "2.0",
    "method": "sendTask",
    "params": [<proofOfTask>, <taskDefinitionId>, <signature>]
}

Attesters

Task Attesters are AVS Operators that attest the validity of both the executed task and the Performer's Proof of Task. Each discovered task must be attested as either "valid" or "invalid". If a sufficient amount of Attester nodes attest "valid", the Aggregator submits the task on-chain. The Attesters run the validation logic using a local HTTP request to the AVS WebAPI.

curl -X POST \
  http://localhost/validate_task \
  -H 'Content-Type: application/json' \
  -d '{
    "proofOfTask": "your_proof_of_task_data",
    "taskDefinitionID": "your_task_definition_id"
  }'

Performers Performers are AVS Operators that execute your business logic written, built and stored on IPFS in a form of a WASM file. In order to fetch that binary a IPFS hash needs to be passed in alongside the request headers as described below.

curl -X POST -H "Content-Type: application/json" \
 -d '{"method": "GET", "url": "/", "headers": {"Content-Type": "application/json"}, "body": ""}' \ 
http://localhost:3000/execute/QmSECend3zWeUb6YmV3rwR1nUdny3t41hGBUZ3wZ7YRDXT

Aggregator

The Aggregator listens to events from the Attester nodes and monitors the necessary voting power contribution to a certain task. If sufficient voting power is validated, the Task Aggregator submits a transaction, with Attesters signatures attached, to the TaskManagersmart contract. After successful validation, the Performer, Attesters, and Aggregator are eligible to claim task rewards.

Bootstrap node

Currently, the Aggregator node acts as the Bootstrap node. This might change in the future.

Last updated