From 2fdd09a71ee73a720fb9de7c788c5ed96cfb53a7 Mon Sep 17 00:00:00 2001 From: Maximilian Hubert <64627729+gap-editor@users.noreply.github.com> Date: Wed, 19 Feb 2025 01:04:05 +0100 Subject: [PATCH 1/4] Update contributing.md --- contributing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributing.md b/contributing.md index 9265b0d..fb536b3 100644 --- a/contributing.md +++ b/contributing.md @@ -4,7 +4,7 @@ ### Checks -* [ ] I've made sure the lint is passing in this PR. +* [ ] I've made sure the linter is passing in this PR. * [ ] I've made sure the tests are passing. Note that there might be a few flaky tests, in that case, please comment that they are not relevant. * [ ] Testing Strategy * [ ] Unit tests From cd675fca87cf539de57933a3ad61e1bb82ef059f Mon Sep 17 00:00:00 2001 From: Maximilian Hubert <64627729+gap-editor@users.noreply.github.com> Date: Wed, 19 Feb 2025 01:04:31 +0100 Subject: [PATCH 2/4] Update mining-reward.md --- docs/incentive-mechanism/mining-reward.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/incentive-mechanism/mining-reward.md b/docs/incentive-mechanism/mining-reward.md index c781d86..fac0a88 100644 --- a/docs/incentive-mechanism/mining-reward.md +++ b/docs/incentive-mechanism/mining-reward.md @@ -1,6 +1,6 @@ # Mining Reward -0G Storage creates pricing segments every 8 GB of data chunks over the data flow. Each pricing segment is associated with an Endowment Pool and a Reward Pool. The Endowment Pool collects the storage endowments of all the data chunks belongs to this pricing segment and releases a fixed ratio of balance to the Reward Pool every second. The rate of reward release is set to 4% per year. +0G Storage creates pricing segments every 8 GB of data chunks over the data flow. Each pricing segment is associated with an Endowment Pool and a Reward Pool. The Endowment Pool collects the storage endowments of all the data chunks belong to this pricing segment and releases a fixed ratio of balance to the Reward Pool every second. The rate of reward release is set to 4% per year. The mining reward is paid to miners for providing data service. Miners receive mining reward when submit the first legitimate PoRA for a mining epoch to 0G Storage contract. From 928d3613aaeb6645065af34f8df59f313358483e Mon Sep 17 00:00:00 2001 From: Maximilian Hubert <64627729+gap-editor@users.noreply.github.com> Date: Wed, 19 Feb 2025 01:05:48 +0100 Subject: [PATCH 3/4] Update proof-of-random-access.md --- docs/incentive-mechanism/proof-of-random-access.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/incentive-mechanism/proof-of-random-access.md b/docs/incentive-mechanism/proof-of-random-access.md index 6ff2016..c10d81f 100644 --- a/docs/incentive-mechanism/proof-of-random-access.md +++ b/docs/incentive-mechanism/proof-of-random-access.md @@ -2,7 +2,7 @@ The ZeroGravity network adopts a Proof of Random Access (PoRA) mechanism to incentivize miners to store data. By requiring miners to answer randomly produced queries to archived data chunks, the PoRA mechanism establishes the relation between mining proof generation power and data storage. Miners answer the queries repeatedly and computes an output digest for each loaded chunk until find a digest that satisfies the mining difficulty (i.e., has enough leading zeros). PoRA will stress the miners' disk I/O and reduce their capability to respond user queries. So 0G Storage adopts intermittent mining, in which a mining epoch starts with a block generation at a specific block height on the host chain and stops when a valid PoRA is submitted to the 0G Storage contract. -In a strawman design, a PoRA iteration consists of a computing stage and a loading stage. In the computing stage, a miner computes a random recall position (the universal offset in the flow) based on an arbitrary picked random nonce and a mining status read from the host chain. In the loading stage, a miner loads the archived data chunks at the given recall position, and computes output digest by hashing the tuple of mining status and the data chunks. If the output digest satisfies the target difficulty, the miner can construct a legitimate PoRA consists of the chosen random nonce, the loaded data chunk and the proof for the correctness of data chunk to the mining contract. +In a strawman design, a PoRA iteration consists of a computing stage and a loading stage. In the computing stage, a miner computes a random recall position (the universal offset in the flow) based on an arbitrary picked random nonce and a mining status read from the host chain. In the loading stage, a miner loads the archived data chunks at the given recall position, and computes output digest by hashing the tuple of mining status and the data chunks. If the output digest satisfies the target difficulty, the miner can construct a legitimate PoRA, which consists of the chosen random nonce, the loaded data chunk and the proof for the correctness of data chunk to the mining contract. ## Fairness From ae9031efa7b1ee5e3b7745c18f99173d4519f5f6 Mon Sep 17 00:00:00 2001 From: Maximilian Hubert <64627729+gap-editor@users.noreply.github.com> Date: Wed, 19 Feb 2025 01:06:18 +0100 Subject: [PATCH 4/4] Update run.md --- docs/run.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/run.md b/docs/run.md index 3be13f1..529422c 100644 --- a/docs/run.md +++ b/docs/run.md @@ -4,7 +4,7 @@ ### Setup Environment -Install the dependencies Node.js, yarn, hardhat. +Install the dependencies: Node.js, yarn, hardhat. - Linux