The FIL+ allocation strategy is slow, costly and does not scale onchain.
Let’s think as the datacap as a non-transferable token for simplicity. Currently, on a high level the FIL+ allocation looks like the following:
Each allocation is for only one sector at a time.
Note that all of these operations can be done in batch, but there is still per-sector overhead for each allocation and claim.
We want to change the process so that clients can create a single allocation for data that will span multiple sectors.
The primary goal is to reduce the workload/cost on the client (the second step mentioned in the above section). This proposal also enables to reduce the workload/cost on the SP as well by claiming multiple allocations at once but it is not required.
We propose the client use a commitment to represent a set of Piece CIDs (CommPs) that the client wishes to put on Filecoin.
The client can then do a single allocation for this set of CommPs.
The SP can claim set of commPs either incrementally (one by one) or by batches.
A proposed workflow for the allocation is as follow: