From ef201d1eca45f0b0026c38fd0c3ea1b332a93f20 Mon Sep 17 00:00:00 2001 From: DevEloperate Date: Tue, 3 Dec 2024 14:50:40 +0300 Subject: [PATCH 1/4] typo 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 29a24309..2fb48617 100644 --- a/docs/incentive-mechanism/proof-of-random-access.md +++ b/docs/incentive-mechanism/proof-of-random-access.md @@ -30,4 +30,4 @@ Precisely, the mining process has the following steps: 6. For each piece $$\overrightarrow{v}$$, compute the Blake2b hash of the tuple ($$\mathsf{miner\_id}$$, $$\mathsf{nonce}$$, $$\mathsf{context\_digest}$$, $$\mathsf{start\_position}$$, $$\mathsf{mine\_length}$$, $$\overrightarrow{v}$$). 7. If one of Blake2b hash output is smaller than a target value, the miner finds a legitimate PoRA solution. -

Figure 1. Recall Position and Scratchpat Computation

+

Figure 1. Recall Position and Scratchpad Computation

From 25a1f58ee10030d7804cdcc00a50edac5edebdb4 Mon Sep 17 00:00:00 2001 From: DevEloperate Date: Tue, 3 Dec 2024 14:56:21 +0300 Subject: [PATCH 2/4] typos transaction-processing.md --- docs/transaction-processing.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/transaction-processing.md b/docs/transaction-processing.md index 77d439d5..b3e7161f 100644 --- a/docs/transaction-processing.md +++ b/docs/transaction-processing.md @@ -6,10 +6,10 @@ When an application server linking with the 0G Storage key-value runtime starts a transaction using `BeginTx()` interface, it notifies the runtime that the transaction will work on the current state snapshot constructed by playing the log to the current tail. The further key-value operations before the invocation of `EndTx()` updates the key-values locally in the server without exposing the updates to the log. When `EndTx()` is invoked, the runtime composes a commit record containing the log position the transaction starts from and the read-write set of the transaction. This commit record is then appended to the log. -When an application server with the key-value runtime encounters the commit record during playing the log, it identifies a conflict window consists of all the log entries between the start log position of the transaction and the position of the commit record. The log entries in the conflict window therefore contain the key-value operations concurrent with the transaction submitting the commit record. The runtime further detects whether these concurrent operations contain the updates on the keys that belong to the read set of the transaction. If yes, the transaction is aborted, otherwise committed successfully. +When an application server with the key-value runtime encounters the commit record during playing the log, it identifies a conflict window consisting of all the log entries between the start log position of the transaction and the position of the commit record. The log entries in the conflict window therefore contain the key-value operations concurrent with the transaction submitting the commit record. The runtime further detects whether these concurrent operations contain the updates on the keys belonging to the read set of the transaction. If yes, the transaction is aborted, otherwise committed successfully.

Figure 1. Transaction Processing on 0G K-V Store

## Concurrent Assumption -This transaction model assumes that the transaction participants are collaborative and will honestly compose the commit record with the correct content. Although this assumption in a decentralized environment is too strong, it is still achievable for specific applications. For example, for an application like Google Docs, a user normally shares the access to others who can be trusted. In case this assumption cannot hold, the code of the transaction can be stored in ZeroGravity log and some mechanism of verifiable computation like zero-knowledge proof or hardware with trust execution environment (TEE) can be employed by the transaction executors to detect the validity of the commit record. +This transaction model assumes that the transaction participants are collaborative and will honestly compose the commit record with the correct content. Although this assumption in a decentralized environment is too strong, it is still achievable for specific applications. For example, for an application like Google Docs, a user normally shares the access to others who can be trusted. In case this assumption cannot hold, the code of the transaction can be stored in the ZeroGravity log and some mechanism of verifiable computation like zero-knowledge proof or hardware with trust execution environment (TEE) can be employed by the transaction executors to detect the validity of the commit record. From b7530c74bde49c976f5ca21a3c9ae4ae4c68550d Mon Sep 17 00:00:00 2001 From: DevEloperate Date: Tue, 3 Dec 2024 15:11:56 +0300 Subject: [PATCH 3/4] typos README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index bd4501ad..983b926a 100644 --- a/README.md +++ b/README.md @@ -8,13 +8,13 @@ 0G Storage consists of two main components: -1. **Data Publishing Lane**: Ensures fast Merkle treedata root commitment and verification through 0G Chain. +1. **Data Publishing Lane**: Ensures fast Merkle tree data root commitment and verification through 0G Chain. 2. **Data Storage Lane**: Manages large data transfers and storage using an erasure-coding mechanism for redundancy and sharding for parallel processing. Across the two lanes, 0G Storage supports the following features: * **General Purpose Design**: Supports atomic transactions, mutable key-value stores, and archive log systems, enabling a wide range of applications with various data types. -* **Validated Incentivization**: Utilizes the PoRA (Proof of Random Access) mining algorithm to mitigate data outsourcing issue and to ensure rewards are distributed to nodes who contribute to the storage network. +* **Validated Incentivization**: Utilizes the PoRA (Proof of Random Access) mining algorithm to mitigate the data outsourcing issue and to ensure rewards are distributed to nodes who contribute to the storage network. For in-depth technical details about 0G Storage, please read our [Intro to 0G Storage](https://docs.0g.ai/og-storage). From e53e7b336a7cf74c4f8a4148764443f1eb50cf62 Mon Sep 17 00:00:00 2001 From: DevEloperate Date: Tue, 3 Dec 2024 15:19:22 +0300 Subject: [PATCH 4/4] typos 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 62fe9343..c781d86c 100644 --- a/docs/incentive-mechanism/mining-reward.md +++ b/docs/incentive-mechanism/mining-reward.md @@ -2,7 +2,7 @@ 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. -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. The mining reward consists of two parts: +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. The mining reward consists of two parts: