Skip to content
@WholesumNet

WholesumNet

Wholesum; a p2p verifiable computing network

Wholesum is a p2p verifiable computing network. It's a p2p network in the sense that all the communications between nodes happen through libp2p. Clients announce compute needs and wait for offers from servers. Once a deal is made, the compute job is sent to chosen servers for execution. When the compute job is finished successfully, the client(the owner of the job) proceeds to verification. Having proofs and other necessary information about the job, verification is achieved by asking independent verifiers to confirm if the execution was honest. If verification is successful, servers get compensated and the output objects(data, stdout, stderr, logs, ...) are harvested.

Honest execution is achieved by transforming and running ordinary code inside Risc0 host-guest environment. The actual computation happens inside a docker container equipped with Risc0 runtime environment. An execution session wishing to be deemed verified, should provide proofs of honest execution called receipt is Risc0 jargon.

Stroage is handled in a decentralized way. Recall that passing around heavy objects(anything > 1mb) is not feasible in p2p settings. So, FairOS-dfs(which builds on top of Swarm) comes to rescue by handling storage inside pods(a filesystem structure). This reduces the need for passing around heavy objects to just passing their CIDs.

The network is composed of several items distributed across the following repos:

  • client: a client asks the network to get the compute job done on her behalf and expects proof of honest execution.
  • server: a server gets the compute job done along with proofs of honest execution.
  • verifier: a verifier gurantees that a compute job was done in an honest manner.
  • warrant: a tiny code used by verifiers to confirm if some computation was done honestly.
  • comms: a communications library based on libp2p that enables nodes to talk by implementing the core protocol of Wholesum.
  • dstorage: a FairOS-dfs client used by nodes to store data on Swarm.
  • jocker: a tiny wrapper around Bollard(docker interface).

Pinned

  1. comms comms Public

    Communications library for server and clients

    Rust

  2. client client Public

    Client agent for Wholesum network

    Rust

  3. server server Public

    Server agent for Wholesum network

    Rust

  4. verifier verifier Public

    Verifier agent for Wholesum network

    Rust

  5. dstorage dstorage Public

    FairOS-dfs client in rust.

    Rust

  6. ntt512 ntt512 Public

    A fw+back NTT benchmark with 512 random values to be run on Risc0

    Rust

Repositories

Showing 10 of 13 repositories
  • verifier Public

    Verifier agent for Wholesum network

    Rust 0 MIT 0 0 0 Updated May 19, 2024
  • server Public

    Server agent for Wholesum network

    Rust 0 MIT 0 0 0 Updated May 19, 2024
  • client Public

    Client agent for Wholesum network

    Rust 0 MIT 0 0 0 Updated May 19, 2024
  • warrant Public

    A simple verification script used to verify RISC0 programs

    Rust 0 MIT 0 0 0 Updated May 12, 2024
  • ntt512 Public

    A fw+back NTT benchmark with 512 random values to be run on Risc0

    Rust 0 Apache-2.0 0 0 0 Updated May 11, 2024
  • benchmark Public

    Benchmark carriers for VBS

    Rust 0 MIT 0 0 0 Updated May 11, 2024
  • comms Public

    Communications library for server and clients

    Rust 0 MIT 0 0 0 Updated May 11, 2024
  • .github Public
    0 0 0 0 Updated Feb 13, 2024
  • website Public
    HTML 0 MIT 0 0 0 Updated Feb 12, 2024
  • bootnode Public
    Rust 0 MIT 0 0 0 Updated Feb 1, 2024

Top languages

Loading…

Most used topics

Loading…