From 4377f4c3c6fdf217768b603bf838156e14a9c1f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20Uhl=C3=AD=C5=99?= Date: Tue, 3 Sep 2024 15:52:15 +0200 Subject: [PATCH] [Marketplace] Initial version (#2) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: markspanbroek Co-authored-by: Eric <5089238+emizzle@users.noreply.github.com> Co-authored-by: Jimmy Debe <91767824+jimstir@users.noreply.github.com> Co-authored-by: Adam Uhlíř Co-authored-by: Marcin Czenko --- specs/images/storeRequest.png | Bin 0 -> 173140 bytes specs/marketplace.md | 291 ++++++++++++++++++++++++++++++++++ 2 files changed, 291 insertions(+) create mode 100644 specs/images/storeRequest.png create mode 100644 specs/marketplace.md diff --git a/specs/images/storeRequest.png b/specs/images/storeRequest.png new file mode 100644 index 0000000000000000000000000000000000000000..327694a4a4375472f48f330feccf6d83398f3661 GIT binary patch literal 173140 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
u}ljE9h1N}n}6z&}I( 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 literal 0 HcmV?d00001 diff --git a/specs/marketplace.md b/specs/marketplace.md new file mode 100644 index 0000000..46954f9 --- /dev/null +++ b/specs/marketplace.md @@ -0,0 +1,291 @@ +# Codex Marketplace Spec + +title: CODEX-MARKETPLACE +name: Codex Storage Marketplace +status: raw +tags: codex +editor: Dmitriy +contributors: +- Mark +- Adam +- Eric +- Jimmy Debe +--- + +## Abstract + +Codex Marketplace and its interactions are defined by a smart contract deployed on an EVM-compatible blockchain. This specification describes these interactions for the various roles within the network. + +The document is intended for implementors of Codex nodes. + +## Semantics + +The keywords “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in [2119](https://www.ietf.org/rfc/rfc2119.txt). + +### Definitions + +| Terminology | Description | +|---------------------------|---------------------------------------------------------------------------------------------------------------------------| +| Storage Provider (SP) | A node in the Codex network that provides storage services to the marketplace. | +| Validator | A node that assists in identifying missing storage proofs. | +| Client | A node that interacts with other nodes in the Codex network to store, locate, and retrieve data. | +| Storage Request or Request | A request created by a client node to persist data on the Codex network. | +| Slot or Storage Slot | A space allocated by the storage request to store a piece of the request's dataset. | +| Smart Contract | A smart contract implementing the marketplace functionality. | +| Token | ERC20-based token used within the Codex network. | + +## Motivation + +The Codex network aims to create a peer-to-peer storage engine with robust data durability, data persistence guarantees, and a comprehensive incentive structure. + +The marketplace is a critical component of the Codex network, serving as a platform where all involved parties interact to ensure data persistence. It provides mechanisms to enforce agreements and facilitate data repair when SPs fail to fulfill their duties. + +Implemented as a smart contract on an EVM-compatible blockchain, the marketplace enables various scenarios where nodes assume one or more roles to maintain a reliable persistence layer for users. This specification details these interactions. + +The marketplace contract manages storage requests, maintains the state of allocated storage slots, and orchestrates SP rewards, collaterals, and storage proofs. + +A node that wishes to participate in the Codex persistence layer MUST implement one or more roles described in this document. + +### Roles + +A node can assume one of the three main roles in the network: the client, SP, and validator. + +A client is a potentially short-lived node in the network with the purpose of persisting its data in the Codex persistence layer. + +An SP is a long-lived node providing storage for clients in exchange for profit. To ensure a reliable, robust service for clients, SPs are required to periodically provide proofs that they are persisting the data. + +A validator ensures that SPs have submitted valid proofs each period where the smart contract required a proof to be submitted for slots filled by the SP. + +## Storage Request Lifecycle + +The diagram below depicts the lifecycle of a storage request: + +``` + ┌───────────┐ + │ Cancelled │ + └───────────┘ + ▲ + │ Not all + │ Slots filled + │ + ┌───────────┐ ┌──────┴─────────────┐ ┌─────────┐ + │ Submitted ├───►│ Slots Being Filled ├──────────►│ Started │ + └───────────┘ └────────────────────┘ All Slots └────┬────┘ + Filled │ + │ + ┌───────────────────────┘ + Proving ▼ + ┌────────────────────────────────────────────────────────────┐ + │ │ + │ Proof submitted │ + │ ┌─────────────────────────► All good │ + │ │ │ + │ Proof required │ + │ │ │ + │ │ Proof missed │ + │ └─────────────────────────► After some time slashed │ + │ eventually Slot freed │ + │ │ + └────────┬─┬─────────────────────────────────────────────────┘ + │ │ ▲ + │ │ │ + │ │ SP kicked out and Slot freed ┌───────┴────────┐ +All good │ ├─────────────────────────────►│ Repair process │ +Time ran out │ │ └────────────────┘ + │ │ + │ │ Too many Slots freed ┌────────┐ + │ └─────────────────────────────►│ Failed │ + ▼ └────────┘ + ┌──────────┐ + │ Finished │ + └──────────┘ +``` + +![image](./images/storeRequest.png) + +## Client Role + +A node implementing the client role mediates the persistence of data within the Codex network. + +A client has two primary responsibilities: + +- Requesting storage from the network by sending a storage request to the smart contract. +- Withdrawing funds from the storage requests previously created by the client. + +### Creating Storage Requests + +When a user prompts the client node to create a storage request, the client node SHOULD receive the input parameters for the storage request from the user. + +To create a request to persist a dataset on the Codex network, client nodes MUST split the dataset into data chunks, $(c_1, c_2, c_3, \ldots, c_{n})$. Using the erasure coding method and the provided input parameters, the data chunks are encoded and distributed over a number of slots. The applied erasure coding method MUST use the [Reed-Solomon algorithm](https://hackmd.io/FB58eZQoTNm-dnhu0Y1XnA). The final slot roots and other metadata MUST be placed into a `Manifest` (TODO: Manifest RFC). The CID for the `Manifest` MUST then be used as the `cid` for the stored dataset. + +After the dataset is prepared, a client node MUST call the smart contract function `requestStorage(request)`, providing the desired request parameters in the `request` parameter. The `request` parameter is of type `Request`: + +```solidity +struct Request { + address client; + Ask ask; + Content content; + uint256 expiry; + byte32 nonce; +} + +struct Ask { + uint256 reward; + uint256 collateral; + uint256 proofProbability; + uint256 duration; + uint64 slots; + uint256 slotSize; + uint64 maxSlotLoss; +} + +struct Content { + string cid; + byte32 merkleRoot; +} +``` + +The the table below provides the description of the `Request` and the associated types attributes: + +| attribute | type | description | +|-----------|------|-------------| +| `client` | `address` | The Codex node requesting storage. | +| `ask` | `Ask` | Parameters of Request. | +| `content` | `Content` | The dataset that will be hosted with the storage request. | +| `expiry` | `uint256` | Timeout in seconds during which all the slots have to be filled, otherwise Request will get cancelled. The final deadline timestamp is calculated at the moment the transaction is mined. | +| `nonce` | `byte32` | Random value to differentiate from other requests of same parameters. It SHOULD be a random byte array. | +| `reward` | `uint256` | Amount of tokens that will be awarded to SPs for finishing the storage request. It MUST be an amount of Tokens offered per slot per second. The Ethereum address that submits the `requestStorage()` transaction MUST have [approval](https://docs.openzeppelin.com/contracts/2.x/api/token/erc20#IERC20-approve-address-uint256-) for the transfer of at least an equivalent amount in Tokens. | +| `collateral` | `uint256` | The amount of tokens that SPs submit when they fill slots. Collateral is then slashed or forfeited if SPs fail to provide the service requested by the storage request (more information in the [Slashing](#Slashing) section). | +| `proofProbability` | `uint256` | Determines the average frequency that a proof is required within a period: $\frac{1}{proofProbability}$. SPs are required to provide proofs of storage to the marketplace smart contract when challenged by the smart contract. To prevent hosts from only coming online when proofs are required, the frequency at which proofs are requested from SPs is stochastic and is influenced by the `proofProbability` parameter. | +| `duration` | `uint256` | Total duration of the storage request in seconds. | +| `slots` | `uint64` | The number of requested slots. The slots will all have the same size. | +| `slotSize` | `uint256` | Amount of storage per slot in bytes. | +| `maxSlotLoss` | `uint64` | Max slots that can be lost without data considered to be lost. | +| `cid` | `string` | An identifier used to locate the Manifest representing the dataset. It MUST be a [CIDv1](https://github.com/multiformats/cid#cidv1), SHA-256 [multihash](https://github.com/multiformats/multihash) and the data it represents SHOULD be discoverable in the network, otherwise the request will be eventually canceled. | +| `merkleRoot` | `byte32` | Merkle root of the dataset, used to verify storage proofs | + +#### Renewal of Storage Requests + +It should be noted that the marketplace does not support extending requests. It is REQUIRED that if the user wants to extend the duration of a request, a new request with the same CID must be [created](#Creating-storage-requests) **before the original request completes**. + +This ensures that the data will continue to persist in the network at the time when the new (or existing) SPs need to retrieve the complete dataset to fill the slots of the new request. + +### Withdrawing Funds + +The client node SHOULD monitor the status of the requests it created. When a storage request enters the `Cancelled` state (this occurs when not all slots were filled before the `expiry` timeout), the client node SHOULD initiate the withdrawal of the remaining funds from the smart contract using the `withdrawFunds(requestId)` function. + +- The request is considered `Cancelled` if no `requestFulfilled(requestId)` event is observed during the timeout specified by the value returned from the `requestExpiresAt(requestId)` function. +- The request is considered `Failed` when the `RequestFailed(requestId)` event is observed. +- The request is considered `Finished` after the interval specified by the value returned from the `getRequestEnd(requestId)` function. + +## Storage Provider Role + +A Codex node acting as an SP persists data across the network by hosting slots requested by clients in their storage requests. + +The following tasks need to be considered when hosting a slot: + +- Filling a slot +- Proving +- Repairing a slot +- Collecting request reward and collateral + +### Filling Slots + +When a new request is created, the `StorageRequested(requestId, ask, expiry)` event is emitted with the following properties: + +- `requestId` - the ID of the request. +- `ask` - the specification of the request parameters. For details, see the definition of the `Request` type in the [Creating Storage Requests](#Creating-storage-requests) section above. +- `expiry` - a Unix timestamp specifying when the request will be canceled if all slots are not filled by then. + +It is then up to the SP node to decide, based on the emitted parameters and node's operator configuration, whether it wants to participate in the request and attempt to fill its slot(s) (note that one SP can fill more than one slot). If the SP node decides to ignore the request, no further action is required. However, if the SP decides to fill a slot, it MUST follow the remaining steps described below. + +The node acting as an SP MUST decide which slot, specified by the slot index, it wants to fill. The SP MAY attempt to fill more than one slot. To fill a slot, the SP MUST first download the slot data using the CID of the manifest (**TODO: Manifest RFC**) and the slot index. The CID is specified in `request.content.cid`, which can be retrieved from the smart contract using `getRequest(requestId)`. Then, the node MUST generate a proof over the downloaded data (**TODO: Proving RFC**). + +When the proof is ready, the SP MUST call `fillSlot()` on the smart contract with the following REQUIRED parameters: + +- `requestId` - the ID of the request. +- `slotIndex` - the slot index that the node wants to fill. +- `proof` - the `Groth16Proof` proof structure, generated over the slot data. + +The Ethereum address of the SP node from which the transaction originates MUST have [approval](https://docs.openzeppelin.com/contracts/2.x/api/token/erc20#IERC20-approve-address-uint256-) for the transfer of at least the amount of Tokens required as collateral for the request. + +If the proof delivered by the SP is invalid or the slot was already filled by another SP, then the transaction will revert. Otherwise, a `SlotFilled(requestId, slotIndex)` event is emitted. If the transaction is successful, the SP SHOULD transition into the __proving__ state, where it will need to submit proof of data possession when challenged by the smart contract. + +It should be noted that if the SP node observes a `SlotFilled` event for the slot it is currently downloading the dataset for or generating the proof for, it means that the slot has been filled by another node in the meantime. In response, the SP SHOULD stop its current operation and attempt to fill a different, unfilled slot. + +### Proving + +Once an SP fills a slot, it MUST submit proofs to the smart contract when a challenge is issued by the contract. SPs SHOULD detect that a proof is required for the current period using the `isProofRequired(slotId)` function, +or that it will be required using the `willProofBeRequired(slotId)` function in the case that the [pointer is in downtime](https://github.com/codex-storage/codex-research/blob/41c4b4409d2092d0a5475aca0f28995034e58d14/design/storage-proof-timing.md). + +Once an SP knows it has to provide a proof it MUST get the proof challenge using `getChallenge(slotId)`, which then +MUST be incorporated into the proof generation as described in Proving RFC (**TODO: Proving RFC**). + +When the proof is generated, it MUST be submitted by calling the `submitProof(slotId, proof)` smart contract function. + +#### Slashing + +There is a slashing scheme orchestrated by the smart contract to incentivize correct behavior and proper proof submissions by SPs. This scheme is configured at the smart contract level and applies uniformly to all participants in the network. The configuration of the slashing scheme can be obtained via the `getConfig()` contract call. + +The slashing works as follows: + +- An SP node MAY miss up to `config.collateral.slashCriterion` proofs before being slashed. +- It is then slashed by `config.collateral.slashPercentage` **of the originally required collateral** (hence the slashing amount is always the same for a given request). +- If the number of slashes exceeds `config.collateral.maxNumberOfSlashes`, the slot is freed, the remaining collateral is burned, and the slot is offered to other nodes for repair. The smart contract also emits the `SlotFreed(requestId, slotIndex)` event. + +If, at any time, the number of freed slots exceeds the value specified by the `request.ask.maxSlotLoss` parameter, the dataset is considered lost, and the request is deemed _failed_. The collateral of all SPs that hosted the slots associated with the storage request is burned, and the `RequestFailed(requestId)` event is emitted. + +### Repair + +When a slot is freed due to too many missed proofs, which SHOULD be detected by listening to the `SlotFreed(requestId, slotIndex)` event, an SP node can decide whether to participate in repairing the slot. Similar to filling a slot, the node SHOULD consider the operator's configuration when making this decision. The SP that originally hosted the slot but failed to comply with proving requirements MAY also participate in the repair. However, by refilling the slot, the SP **will not** recover its original collateral and must submit new collateral using the `fillSlot()` call. + +The repair process is similar to filling slots. If the original slot dataset is no longer present in the network, the SP MAY use erasure coding to reconstruct the dataset. Reconstructing the original slot dataset requires retrieving other pieces of the dataset stored in other slots belonging to the request. For this reason, the node that successfully repairs a slot is entitled to an additional reward. (**TODO: Implementation**) + +The repair process proceeds as follows: + +1. The SP observes the `SlotFreed` event and decides to repair the slot. +2. The SP MUST download the chunks of data required to reconstruct the freed slot's data. The node MUST use the [Reed-Solomon algorithm](https://hackmd.io/FB58eZQoTNm-dnhu0Y1XnA) to reconstruct the missing data. +3. The SP MUST generate proof over the reconstructed data. +4. The SP MUST call the `fillSlot()` smart contract function with the same parameters and collateral allowance as described in the [Filling Slots](#filling-slot) section. + +### Collecting Funds + +An SP node SHOULD monitor the requests and the associated slots it hosts. + +When a storage request enters the `Cancelled`, `Finished`, or `Failed` state, the SP node SHOULD call the `freeSlot(slotId)` smart contract function. + +The aforementioned storage request states (`Cancelled`, `Finished`, and `Failed`) can be detected as follows: + +- A storage request is considered `Cancelled` if no `RequestFulfilled(requestId)` event is observed within the time indicated by the `expiry` request parameter. Note that a `RequestCancelled` event may also be emitted, but the node SHOULD NOT rely on this event to assert the request expiration, as the `RequestCancelled` event is not guaranteed to be emitted at the time of expiry. +- A storage request is considered `Finished` when the time indicated by the value returned from the `getRequestEnd(requestId)` function has elapsed. +- A node concludes that a storage request has `Failed` upon observing the `RequestFailed(requestId)` event. + +For each of the states listed above, different funds are handled as follows: + +- In the `Cancelled` state, the collateral is returned along with a proportional payout based on the time the node actually hosted the dataset before the expiry was reached. +- In the `Finished` state, the full reward for hosting the slot, along with the collateral, is collected. +- In the `Failed` state, no funds are collected. The reward is returned to the client, and the collateral is burned. The slot is removed from the list of slots and is no longer included in the list of slots returned by the `mySlots()` function. + +## Validator Role + +In a blockchain, a contract cannot change its state without a transaction and gas initiating the state change. Therefore, our smart contract requires an external trigger to periodically check and confirm that a storage proof has been delivered by the SP. This is where the validator role is essential. + +The validator role is fulfilled by nodes that help to verify that SPs have submitted the required storage proofs. + +It is the smart contract that checks if the proof requested from an SP has been delivered. The validator only triggers the decision-making function in the smart contract. To incentivize validators, they receive a reward each time they correctly mark a proof as missing. + +Each time a validator observes the `SlotFilled` event, it SHOULD add the slot reported in the `SlotFilled` event to the validator's list of watched slots. Then, after the end of each period, a validator has up to `config.proofs.timeout` seconds (a configuration parameter retrievable with `getConfig()`) to validate all the slots. If a slot lacks the required proof, the validator SHOULD call the `markProofAsMissing(slotId, period)` function on the smart contract. This function validates the correctness of the claim, and if right, will send a reward to the validator. + +If validating all the slots observed by the validator is not feasible within the specified `timeout`, the validator MAY choose to validate only a subset of the observed slots. + +## Copyright + +Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/). + +## References + +1. [Reed-Solomon algorithm](https://hackmd.io/FB58eZQoTNm-dnhu0Y1XnA) +2. [CIDv1](https://github.com/multiformats/cid#cidv1) +3. [multihash](https://github.com/multiformats/multihash) +4. [Proof-of-Data-Possession](https://hackmd.io/2uRBltuIT7yX0CyczJevYg?view) +5. [Codex market implementation](https://github.com/codex-storage/nim-codex/blob/master/codex/market.nim)