Repeated SnapDeals #538
Replies: 4 comments 9 replies
-
👍 We should view it as a requirement on the first User Programmable markets FIP that this is supported. All markets implement a standard interface that takes in the sector identifier and the new CommD and return success/fail. I don't think we need old CommD but it's worth thinking about that and if so how we support proving that old CommD is correct( related #496). Knowing which markets to call based on a sector is a bit tricky but I think the ideas from #530 will serve us well: abstractly keep a commitment to the notifees and have SP provided data. For first implementation we can simply keep notifee list on the sector infos and carefully keep this detail out of all APIs. |
Beta Was this translation helpful? Give feedback.
-
In this post #554 (reply in thread) it’s suggested that pre shark sectors cannot be snapped. Im having some trouble with understanding the complexity and the gap - @Kubuxu have you any thoughts into it? If so mind shedding me some light? |
Beta Was this translation helpful? Give feedback.
-
summarizing some addt'l threads and comments that may be useful in shaping discussion here:
It's worth noting that there seems to be more recent discussions about deletion (intentionally overwriting data) which can help with some enterprise conversations as well. Folks from the client-wg might be able to weigh in (I will link them to this comment to thread) more details. @anorth has put together a more encompassing revamp of the deal / sector relationship here, related to a talk he gave here. I think there's probably two contexts that are worth discussing (and would love to help motivate):
(some other places discussions have been happening #sector-resnap-wg on FIL Slack, this thread in #fil-protocol ) |
Beta Was this translation helpful? Give feedback.
-
very old topic without implementetion :( |
Beta Was this translation helpful? Give feedback.
-
This is a proposal to allow ReplicaUpdate to be performed multiple times on the same sector.
Motivation
SnapDeals shipped with limited capability due to limitations of the larger system. These limitations are mitigated with the introduction of FIP-0045. Additionally, the ability to perform SnapDeals upgrade on the same sector multiple times would allow Storage Providers to accept a wider variety of deal terms and make sectors that went through their first SnapDeal still useful for data storage after the initial deal expires.
It is the last capability missing from enabling the full utility of all sectors in the network.
Proposal
Allow sectors which underwent the SnapDeals process in the past to repeat it. During the design of SnapDeals, this possibility was taken into account by keeping the
OrginalSealedCID
inSectorInfo
, which is required for Repeated SnapDeals to function.There are two possibilities for the scope of this proposal:
The second one has the added complexity of having to verify that the data corresponding to active deals and claims was kept within the sector after a
ReplicaUpdate
.Fortunately, the PieceCIDs and sizes of deals and claims are kept on-chain to facilitate such constraint.
New methods for Market and Datacap actors would have to be introduced to facilitate the status and data description access during the
ReplicaUpdate
process. This information is already planned to be at least partially exposed for the purpose of user-programmable actors interop.As a way to limit the complexity of the
ReplicaUpdate
method, the expiration of the sector has to already suit new deals and allocations. The SP is free to perform sector extension before theReplicaUpdate
as long as it complies with constraints given by active FIL+ claims.From the perspective of proof production and encoding, the ReSnap process decodes the existing data from the sector, a trivial operation of if an extra copy of the deal data was kept. The result of this operation is sector data corresponding to a CC sector which underwent the SnapDeals process. Then the SP packs new and existing (if we adopt scope 2) deal data into the clear sector (the position of the data within the sector can be chosen by the SP) and produces a ReplicaUpdate proof.
Repeated SnapDeals use the same proving circuit as the original SnapDeals, avoiding the need for a new proof type and trusted setup. The computation time for the proof is the same as regular SnapDeal. This also means that SnapDeal introducing small changes to the sector will have the same computational cost as SnapDeal affecting the whole sector.
During the process of the repeated
ReplicaUpdate
, for a short time, the SP will have to keep sector information for three copies of the sector, the currently active sector with user data, the clear sector and the new sector with new data. The clear sector can be removed after then the new sector and proof are produced. The "currently active sector" can be removed after the proof for the new sector is provided on-chain, validated and the 900 epoch delay period expires.Beta Was this translation helpful? Give feedback.
All reactions