From 89ef49ee919ba9886722e29d962b1cb26a1111b2 Mon Sep 17 00:00:00 2001 From: Mateusz Srebrny Date: Tue, 11 Mar 2025 11:19:45 +0100 Subject: [PATCH] optimizing miner strategy section --- README.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/README.md b/README.md index 95ce21194..0ae917ff0 100644 --- a/README.md +++ b/README.md @@ -94,6 +94,28 @@ This encourages **variance**, which is essential for preventing [weight-copying] - Each **hardware class** in ComputeHorde has a **configurable weight**. - These weights influence the miner’s final score, prioritizing certain hardware types based on network demand. +## Optimizing Miner Strategy + +To maximize rewards in ComputeHorde, miners should implement **adaptive executor scaling** based on the **scoring mechanism**. +Two key functions in the `BaseExecutorManager` control when and how many executors should be declared: + +### `is_active()` – controls dancing & executor variability +- Determines whether a miner's **UID should declare a large or small horde of executors**. +- Returns: + - `True` - Declare a **large horde of executors**. + - `False` - Declare a **small horde of executors**. +- Impact on scoring: + - Properly alternating between large and small hordes when changing UIDs ensures eligibility for the [30% dancing bonus](#dancing-bonus-validated-in-peak-cycles-only). + +### `is_peak()` – controls peak vs. non-peak executor declaration +- Determines whether the current **cycle is a peak cycle**. +- Returns: + - `True` - **Peak cycle** - Declare the **maximum** number of executors (large or small horde depending on `is_active()`). + - `False` - **Non-peak cycle** - Declare **at least 10%** of the peak horde size (large or small). +- Impact on scoring: + - Declaring **less than 10%** results in a **20% penalty**. + - Declaring **more than 10%** won’t increase synthetic job allocation, leading to idle resources. + ## Components ### **Facilitator**