Repeated SnapDeals #538
Replies: 7 comments 10 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. |
|
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? |
|
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 ) |
|
very old topic without implementetion :( |
|
So, a year has passed, and is there still no progress on this obviously necessary option? |
Repeated SnapDeals — where this lands, and the structure for the FIPTL;DR: we aim to re-vamp the re-snap effort described in this discussion. The introduction of Direct Data Onboarding (FIP-0076) changed what is available to solve it with, so the mechanism has to be different from what was first proposed. Below is what DDO foreclosed, and the structure we'll propose into the FIP draft. What changed after DDOThe original idea was to enforce piece preservation by reading PieceCIDs out of market and verifreg actor state. That was reasonable when written, but post-DDO it no longer generalizes, for two independent reasons:
So the right problem and the right primitive (preserve pieces across a replica update), but the proposed source of truth does not survive DDO. What's needed is a piece-integrity construction that does not depend on deals or claims existing (which is what the FIP should specify). The structure for the FIP draftOne FIP, CC sectors only. Re-Snap generalizes SnapDeals (FIP-0019) from a one-shot update to a repeatable one. The same encoding ( Sectors sealed natively with data are out of scope and handled as a separate Future Work track. The two open items there are
The latter is the harder one and is specific to native sectors: a native replica after a snap is The capability: keep a subset of pieces and prove they are still present. On a Re-Snap the SP declares which existing pieces it carries forward, and that claim is verifiable (i.e. the kept pieces are proven genuinely present and unchanged after the update). This is framed purely in terms of pieces and their commitments; it makes no distinction between active and inactive deals, and depends on no piece having a deal or claim, precisely because of the DDO points above. Anchor: opt-in CommD in The FIP draft will add an opt-in, prospective-only Proof: PoDSI inclusion proofs against Method. The FIP draft will propose to extend A full draft following this structure is ready and will be posted as the FIP draft. Comments on the structure above are more than welcome. |
|
HI There! Happy to get this on the agenda for next Core Devs in July! |
Uh oh!
There was an error while loading. Please reload this page.
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
OrginalSealedCIDinSectorInfo, 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
ReplicaUpdateprocess. 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
ReplicaUpdatemethod, the expiration of the sector has to already suit new deals and allocations. The SP is free to perform sector extension before theReplicaUpdateas 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.All reactions