-
Notifications
You must be signed in to change notification settings - Fork 317
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ZigZag PoRep #77
Comments
Re-using this Epic to track work for zigzag to be done for stage 3, added some issues to it |
no more zigzag for now |
Hi, I would like to ask if ZigZag PoRep was rolled back due to unsuitability for PoSt due to SEAL stacking attack. If so, I am still interested in it as a means for PoRep on network-controlled data without PoSt-based elections etc. Is there anyone I can contact regarding this? I have many questions, especially surrounding how long I can make the lockout time, whether this can be made arbitrarily long by stacking many layers. If one can make timeouts take 1 hour, say by stacking 1 million layers, with initial sealing time of say 6 hours, this would be ideal. I see, @porcuquine , that in your blogpost one can achieve 24 hour timeout. This would be amazing for us. Can I ask if this still holds? Further, what is the initial sealing time? I expect it to be several days then? |
ZigZag PoRep
The one true proof of replication (for now and through initial release, we think).
Current strong focus is on a viable ZigZag PoRep which meets both scaling and security requirements. This will require many optimizations, but ultimately boils down to squeezing better performance (less CPU and less RAM per GiB replicated) and supporting very large sectors.
This issue will serve as a roadmap for that work. The high-level outline below should be broken out into sub-issues. Those working on these issues need to see this work as high-priority, with an emphasis on fast iteration.
Our goal now is to implement a fully viable Proof-of-Replication. This has two broad categories:
Correctness
CompoundProof
and our circuit implementation have been uncovered in the work @dignifiedquire is doing in More refs less clones #517. This should be completed as an immediate next step.There is one item in the list below ('Implement challenge derivation correctly') which needs to be updated to reflect current needs (TODO: @porcuquine). However, this is an easy change and low priority for the short-term push. #404 is also a hanging thread but does not block the below.
Performance
PoRep performance relates to our ability to simultaneously meet security and scaling requirements. Good news: we have now run a secure Proof-of-Replication (i.e. sufficient challenges with full parameters). For the moment, I omit most supporting documentation, but that is being worked on in one work stream below. Together, this work represents one (and for now our best) answer to the question posed in #157.
We now need to overcome two sequential hurdles:
In support of these optimizations, we need to have (and start using) a better way to measure and track change.
Because the above (non-exhaustive) list includes multiple overlapping and potentially conflicting optimizations, we need a better configuration story, as sketched in #501. Once implemented, optimizations should integrate and ensure the defaults for
go-filecoin
allow the nightly and user devnets to continue functioning, while also making it easy to configure benchmarks (especially the ZigZag 'example') for the properties required to both acquire data on the way to and ultimately run a first fully secure, fully scalable proof of replication.The trajectory of this ongoing work needs to be plotted and adjusted in ongoing benchmarks and experimental runs. In support of this tactical work, and as the first step in a larger project, we will deliver a presentation of key data in a form supporting our calculations. This should eventually serve as documentation of the relationship of many key Filecoin parameters, as well as provide a relationship to hardware requirements. [TODO: @porcuquine make placeholder
cryptolab
epic].#477
Historical work, with a few stragglers:
Layers
trait out of extantlayered_drgporep
implementation.zigzag
graph toggle.ZigZagDrgPorep
, implementingLayers
.zigzag_test_compound
pass: for some reason verification fails, though inputs seem correct for generated circuit proof.Don't prove data inclusion except on first layer. (Prove identity to previous layers, replicated data.)Not applicable with challenges varying per layer.Generate proof while replicating.Can't do this.The text was updated successfully, but these errors were encountered: