Wholesum is a p2p verifiable computing network. It builds on top of Risc0, Swarm, FairOS-dfs, and Libp2p to scale verifiable computing.

The network is composed of at least 3 types of nodes:

Communications between nodes are routed through p2p relays(nodes) where a message indicates a need(e.g. I need a computer with the following specs by client 0xfoo), a status update, ... . Two modes of messaging are supported: gossips that are broadcast-like(one to all/many) public messages and request-response that are private messages between two nodes.

Building in p2p settings demands small payload messaging where the payload of a message points to heavy objects stored somewhere else. In Wholesum, nodes first store sizeable objecs into decentralized storage facilities of Swarm network and FairOS-dfs and then share CIDs with each other.

Each execution session(a job) yields a "receipt of honest execution" along with usual outputs and logs. The receipt is then broadcasted to the network for independent verification and based on the results a client decides to wether accept the honesty or not. Once the job is done, server(s) and verifier(s) are paid and the actual results are harvested by the client.