From 0933fa11d8dccfe2692d3ac1909dcf5db8fffdce Mon Sep 17 00:00:00 2001 From: brucexc <108378464+brucexc@users.noreply.github.com> Date: Fri, 3 Jan 2025 18:39:53 -0800 Subject: [PATCH] REP-54: Network operation rewards distribution adjustment (#54) ``` REP: REP-54 Title: Network operation rewards distribution adjustment Status: Draft Type: Core Created: 1 Dec 2024 Author(s): BruceXC Description: This REP proposes a new Network operation rewards distribution mechanism Discussions: https://forum.rss3.io/t/rep-network-operation-rewards-distribution-adjustment/223 ``` --- README.md | 1 + REPs/REP-54.md | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 REPs/REP-54.md diff --git a/README.md b/README.md index b4dcab5..11b0d52 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,7 @@ This repository tracks all REPs proposed by the RSS3 Community. | [REP-38](./REPs/REP-38.md) | Demotion and Slashing Mechanism | [Polebug](mailto:polebug@rss3.io) | Core | Draft | | [REP-40](./REPs/REP-40.md) | Whitepaper Updates | [pseudoyu](mailto:pseudoyu@connect.hku.hk) | Core | Final | | [REP-43](./REPs/REP-43.md) | Introducing Payment Processor for Request Fees | [Nya Candy](mailto:dev@candinya.com) | Core | Review | +| [REP-54](./REPs/REP-54.md) | Network Operation Rewards Distribution | [BruceXC](mailto:xichang1510@gmail.com) | Core | Draft | ## Submit an REP diff --git a/REPs/REP-54.md b/REPs/REP-54.md new file mode 100644 index 0000000..2f2b9c0 --- /dev/null +++ b/REPs/REP-54.md @@ -0,0 +1,81 @@ +``` +REP: REP-54 +Title: Network operation rewards distribution adjustment +Status: Draft +Type: Core +Created: 1 Dec 2024 +Author(s): BruceXC +Description: This REP proposes a new Network operation rewards distribution mechanism +Discussions: https://forum.rss3.io/t/rep-network-operation-rewards-distribution-adjustment/223 +``` + +# REP-54: Network operation rewards distribution adjustment + +## Table of Contents + +- [Abstract](#abstract) +- [Motivation](#motivation) +- [Specification](#specification) +- [Rationale](#rationale) +- [Reference Implementations](#reference-implementations) + +## Abstract + +This REP proposes to adjust the Network operation rewards distribution mechanism. +The REP will update the Whitepaper first, and then the rewards distribution mechanism will be adjusted on the Global Indexer accordingly. + +## Motivation + +The proposed adjustment accounts for various aspects of Node contributions to the network, aiming to optimize the allocation of rewards to Nodes and help cover their operational costs. + +## Specification + +The current formula is based on various factors reflecting Node contributions to the network. The total score for Node $i$ is defined as $S_i$, calculated using the following formula: + +$$ +S_i = W_1 \cdot R_i + W_2 \cdot D_i + W_3 \cdot E_i +$$ + +Where: + +- $W_1$, $W_2$, $W_3$ are the weights of the three factors, and $W_1 + W_2 + W_3 = 1$. +- $R_i$ is the request distribution score of Node $i$. +- $D_i$ is the data indexing score of Node $i$. +- $E_i$ is the stability score of Node $i$. + +$$ +R_i = \frac{\text{validCount}_i}{\max(\text{validCount})} - \alpha \cdot \frac{\text{invalidCount}_i}{\max(\text{invalidCount})} +$$ + +where: + +- $\text{validCount}_i$ is the valid request count of Node $i$. +- $\text{invalidCount}_i$ is the potential invalid request count of Node $i$. +- $\alpha$ is a constant factor, representing the weight of the invalid request count. + +$$ +D_i = \beta_1 \cdot \frac{\text{networkCount}_i}{\max(\text{networkCount})} + \beta_2 \cdot \frac{\text{workerCount}_i}{\max(\text{workerCount})} + \beta_3 \cdot \frac{\text{activityCount}_i}{\max(\text{activityCount})} +$$ + +where: + +- $\text{networkCount}_i$ is the number of supported networks of Node $i$. +- $\text{workerCount}_i$ is the worker count of Node $i$. +- $\text{activityCount}_i$ is the activity count of Node $i$. +- $\beta_1$, $\beta_2$, $\beta_3$ are the weights of the three factors, and $\beta_1 + \beta_2 + \beta_3 = 1$. + +$$ +E_i = \gamma_1 \cdot \frac{\text{uptime}_i}{\max(\text{uptime})} + \gamma_2 \cdot \text{versionScore}_i +$$ + +where: + +- $\text{uptime}_i$ is the continuous uptime of Node $i$. +- $\text{versionScore}_i = 1$ if the node uses the latest version, otherwise $0$. +- $\gamma_1$, $\gamma_2$ are the weights of the two factors, and $\gamma_1 + \gamma_2 = 1$. + +## Rationale + +The core goal of this proposal is to evaluate Node contributions from multiple perspectives to ensure a fair allocation of network operation rewards. This approach enables Node operators to receive Network operation rewards while reducing their operational costs. + +## Reference Implementations