πŸ‘ˆ Meridian Design Doc 06: Decentralization

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

Setup

sequenceDiagram
  autonumber
  participant C as Client
  participant I as Contract: IE
  participant P as Peer
  par Funding
    loop
			C->>I: Fund work
    end
  and Work
    loop
	    P->>P: Perform work
    end
  and Impact Evaluator
    loop
      I->>P: Measure
      I->>I: Evaluate
      I->>P: Reward
    end
  end

Generalizability

What can Meridian implementors re-use?

What do Meridian implementors have to provide?

flowchart TD
  MS[Meridian Measure Service]
  P[*Peer] --measurement--> MS
  MS --commitment--> IE[Meridian IE Contract]
  subgraph ES [Meridian Evaluate Service]
    E[*Evaluate function]
  end
  ES--evaluation-->IE
  MS--measurement-->ES
  IE--rewards-->P

Measure