Skip to content
@WholesumNet

WholesumNet

Wholesum; a p2p verifiable computing network

Wholesum is a p2p verifiable computing network tailored for ETH L2 sequencer decentralization. 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 exchanging heavy objects(anything > 1mb) is not feasible in p2p settings, so decentralized storage comes to rescue by storing once and passing CIDs around.

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

  • client: Clients demand proving.
  • prover: Provers fulfill prove, join, snark, ... jobs.
  • comms: Communications library based on libp2p to enables nodes exchnage messages.
  • dstorage: Wrapper around Swarm and Filecoin(through Lighthouse) to store data in a decentralized fashion. CIDs fly around.
  • segmentor: Risc0 utility to segment guest ELFs.
  • jocker: Tiny wrapper around Bollard(a docker interface).

Here's a rough sketch of the pipeline being developed for parallel proving: Parallel proving scheme

Pinned Loading

  1. prover prover Public

    Server agent for Wholesum network

    Rust

  2. client client Public

    Client agent for Wholesum network

    Rust

  3. comms comms Public

    Communications library for server and clients

    Rust

  4. dstorage dstorage Public

    Decentralized storage options: Swarm, Filecoin

    Rust

  5. jocker jocker Public

    a tiny wrapper around Bollard

    Rust

  6. benchmark benchmark Public

    Benchmark carriers for VBS

    Rust

Repositories

Showing 10 of 16 repositories
  • client Public

    Client agent for Wholesum network

    WholesumNet/client’s past year of commit activity
    Rust 0 MIT 0 0 0 Updated Dec 25, 2024
  • comms Public

    Communications library for server and clients

    WholesumNet/comms’s past year of commit activity
    Rust 0 MIT 0 0 0 Updated Dec 24, 2024
  • .github Public
    WholesumNet/.github’s past year of commit activity
    0 0 0 0 Updated Dec 24, 2024
  • prover Public

    Server agent for Wholesum network

    WholesumNet/prover’s past year of commit activity
    Rust 0 MIT 0 0 0 Updated Dec 24, 2024
  • docs Public
    WholesumNet/docs’s past year of commit activity
    TeX 0 MIT 0 0 0 Updated Dec 16, 2024
  • segmentor Public

    A small utility to segment Risc0 elfs

    WholesumNet/segmentor’s past year of commit activity
    Rust 0 MIT 0 0 0 Updated Dec 4, 2024
  • dstorage Public

    Decentralized storage options: Swarm, Filecoin

    WholesumNet/dstorage’s past year of commit activity
    Rust 0 MIT 0 0 0 Updated Nov 10, 2024
  • reprove Public archive

    A program to do risc0 recursion(prove, lift, join, compress, ...)

    WholesumNet/reprove’s past year of commit activity
    Rust 0 MIT 0 0 0 Updated Oct 21, 2024
  • jocker Public

    a tiny wrapper around Bollard

    WholesumNet/jocker’s past year of commit activity
    Rust 0 MIT 0 0 0 Updated Sep 11, 2024
  • veritas Public archive

    A simple verification script used to verify RISC0 programs

    WholesumNet/veritas’s past year of commit activity
    Rust 0 MIT 0 0 0 Updated Aug 13, 2024

Top languages

Loading…

Most used topics

Loading…