πŸ‘ˆ Meridian Design Doc 02: Orchestrator model in depth

πŸ‘‰Β Meridian Design Doc 4: Spark Fraud Prevention

TODO

Introduction

MERidian stands for Measure, Evaluate, Reward, the three steps of the impact evaluator framework. The Meridian project aims to create an impact evaluator for β€œoff-chain” networks. I.e. a network of nodes that do not maintain a shared ledger or blockchain of transactions.

This doc proposes a framework and model for Meridian that will cater initially for both the Saturn payouts system and the SPARK Station module. For a bonus point, it should be able to cater for any Station module. We believe that trying to generalise beyond these few use cases at this point may be counterproductive.

We will structure this design doc based on the three steps of an Impact Evaluator (IE), measure, evaluate and reward.

Overview

sequenceDiagram
  autonumber
  participant P as Peer
  participant M as Measure
  participant E as Evaluate
  participant R as Reward
  participant DB as Database
  participant C as Chain
  loop Measure
		P->>M: Upload logs
	  M->>DB: Store logs
	  M->>C: Publish proof
  end
  loop Evaluate I
    DB->>E: Fetch logs
    E->>E: Detect fraud
    E->>E: Aggregate
    E->>DB: Store aggregates
    E->>C: Publish proof
  end
  loop Evaluate II
    DB->>E: Fetch aggregates
    E->>E: Calculate reward shares
    E->>C: Publish reward shares
  end
  loop Reward
    R->>C: Create payment splitters
    P->>C: Claim FIL
  end

Untitled

Use of centralized services

We have chosen to start the Meridian design supported by a minimal set of centralized and trusted services (previously called orchestrator). See Meridian Design Doc 01: Model Exploration for an exploration of alternatives.

A fully trustless model is to be developed as a very next step, because it brings important benefits for a rewards system:

However, only using smart contracts poses unsolved design challenges: