What is Proof of Space?
A Proof of Space (PoS, see for example: eprint 2013/796) is a protocol that allows a prover to convince a verifier that he has a minimum specified amount of space (ie, used storage).
Effort 1: Proof of Space Educational Material
DRI: Anca
We are building the entrypoint for theory and practice on Proof of Space
See effort here: https://proofofspace.org
Effort 2: New Proof of Space Constructions
DRI: Matteo
We are formalizing Proof of Space, review existing design and propose new constructions.
See effort here:
👥 Team
Team: Matteo&Anca (main effort)
Advisors (external): Leo Reyzin (Q2), Carla Rafols
Advisors (internal): Luca & Irene
‣
🚨 Pain points in current PoS
Persona | Story | Current issue | Pain Level |
Client | I want to get my data back quickly when I need it (sub-second ideally). | Slow unsealing | High |
I want to be able to store small files. | Sector sizes | Medium | |
I want to be able to store very large files | Sector sizes | Low | |
I want flexibility in extending my storage deal. | Deal duration | Medium | |
I want the ability to request that my data is deleted. | Sectors/Termination Fee | Medium | |
I want to “put” my data and get confirmation that stored quickly (sub-second ideally) | Sealing | Low | |
Storage Provider | I do not want to have to store both sealed and unsealed copies. | Slow and complex unsealing | High |
I do not want intermittent unsealing workloads interrupting my data onboarding. | Unsealing | Medium | |
I want miner operations to be low maintenance. | Complex sealing workflow/
Can’t buy pre-sealed drives | High | |
I want to be able to accept a deal extension without having to do a lot of work. | Deal duration/Need to reseal | Medium | |
I want to be able to move my physical operations if necessary (including selling my operations to a buyer) without failing WindowPost. | Proving window | Low/Infrequent | |
I want to minimize/streamline messages being sent to make a deal. | PSD/Pre-Commit/Prove Commit all have to be orchestrated | Medium | |
I want to minimize the movement of data. | Current steps limit modularization of processes | Medium | |
Core Dev/Maintainer of network | I want to be able to make changes to the proofs quickly if there is a vulnerability discovered. I do not want to be have to wait months for a new trusted setup to be established. | Trusted setup/parameters file | Medium |
I want the flexibility to create a new circuit for a new proof without delays/obstacles. | Trusted setup/parameters file | Low | |
I want to have long term security assumptions so we do not have to change frequently. | Missing longevity | High | |
Retrieval Network/CDN | I want to get the data back from the local region. | Lack of locality | Low |
‣
🚩 Milestones and roadmap
‣
📖 Research Enablers
‣
🔮 Protocol Opportunities
Name | Status | Quarter | DRI | Date | 🎒 Team backlog ㊙️ |
---|---|---|---|---|---|
Implement it (MVP) | ✅ | 2023Q1 | February 20, 2023 → February 24, 2023 | ||
Integration with existing libraries | ✅ | 2023Q2 | |||
User Friendly API | ✅ | 2023Q1 | February 27, 2023 → March 10, 2023 | ||
First prototype for inclusion proofs during computation of CommP | ✅ | 2023Q1 | February 20, 2023 → February 24, 2023 | ||
Kuba will complete the two sections (security and design reasoning) | ✅ | ||||
Commitment Scheme format agreement | ✅ | 2022Q4 | March 19, 2023 → March 19, 2023 | ||
Software for generation of data segments inclusion proof | ✅ | 2023Q2 | February 12, 2023 → March 24, 2023 | ||
Support for verifying data segment inclusion proofs on-chain | ✅ | 2023Q1 | February 12, 2023 → March 17, 2023 | ||
Data Prepapers API Standard | 🔴 | 2023Q1 | |||
SubPieceCID Registry smart contract with Merkle trees verification | 🔴 | 2023Q2 | |||
Built-in actors API for user-programmed actors | ✅ | 2022Q4 | |||
(security) Short term fix for Cron | ✅ | 2023Q1 | Alex North | ||
🔵 | 2023Q2 | ||||
🔵 | 2023Q2 | October 1, 2022 → June 19, 2023 | |||
FIP for Synthetic PoRep | ✅ | 2023Q1 | March 31, 2023 → April 7, 2023 | ||
Draft ideas to make SnapDeal cheaper | ✅ | 2023Q1 | February 10, 2023 | ||
🔵 | 2023Q2 | March 24, 2023 → June 30, 2023 | |||
🔴 | 2023Q2 | March 31, 2023 | |||
FIP-0047 and code are ready | ✅ | 2022Q4 | October 1, 2022 → December 22, 2022 | ||
Planning session to understand timeline | Not started | 2023Q1 | |||
Pledge Collateral Shortfall | 🔵 | 2023Q2 | Alex North | March 17, 2023 → June 30, 2023 | |
(security) Filecoin Protocol Review | 🔵 | 2023Q2 | March 6, 2023 → June 10, 2023 | ||
🔵 | 2023Q2 | March 20, 2023 → June 12, 2023 | |||
Create the model for cost/profit to compare CC sector upgrade with deal sector strategy | ✅ | 2023Q1 | March 20, 2023 → April 1, 2023 | ||
Report about model and findings | 🔵 | 2023Q2 | May 1, 2023 → June 12, 2023 | ||
Data on-boarding pipeline | 🔵 | 2023Q2 | February 1, 2023 → June 14, 2023 | ||
FIP for Deal Pre-activation (based on ad-hoc collateral) | 🔴 | 2023Q2 | |||
Gather initial feedback about the design for deals larger than sectors | ✅ | 2023Q2 | April 3, 2023 → May 1, 2023 | ||
Identify opportunities | 🔵 | 2023Q1 | February 1, 2023 → March 31, 2023 | ||
Model the qap pricing and characterise where Filecoin consensus security comes from; | ⚪️ | 2023Q2 | May 8, 2023 → June 10, 2023 | ||
🟡 | 2023Q4 | Alex North | |||
Background research on consensus/snapshot/finality options | 🟡 | 2023Q2 | Alex North | ||
Design & analysis for consensus changes for interop | Not started | 2023Q3 | Alex North | ||
Enabling programmable storage applications | 🔵 | 2023Q2 | Alex North | ||
Repeatedly updatable storage ("Re-snap") | 🔴 | 2023Q2 | |||
(advising) 🍝 FilFil: PeSto and Filecoin Archive | 🔴 | 2023Q2 | March 31, 2023 | ||
🔵 | 2023Q3 | May 15, 2023 → June 29, 2023 | |||
DagHouse integration | 🔵 | 2023Q2 | March 15, 2023 → June 15, 2023 | ||
(ex)Estuary integration | 🔵 | 2023Q2 | May 29, 2023 → June 2, 2023 | ||
Storage fees | Not started | 2023Q3 | Alex North | ||
New miner APIs for onboarding (w/ Free CommD) | Not started | 2023Q3 | Alex North | ||
Data collateral without the built-in market | 🔵 | 2023Q2 | Alex North | ||
Technical Report - “Proof of Useful Space in Filecoin” | 🔵 | 2023Q2 | June 25, 2023 | ||
Scaling FIL+ VC Allocation | 🔵 | 2023Q3 | nikkolasg g | ||
✅ | 2023Q2 | ||||
Publish specs for public discussion | ✅ | 2023Q2 | Alex North | April 12, 2023 → May 20, 2023 | |
🔵 | 2023Q4 | May 8, 2023 → October 31, 2023 | |||
Implement the model | ✅ | 2023Q2 | April 10, 2023 → May 1, 2023 | ||
Report about consensus security | Not started | 2023Q2 | May 28, 2023 → June 10, 2023 | ||
Synthetic PoRep is ready to be deployed | 🔵 | 2023Q2 | May 8, 2023 → June 30, 2023 | ||
Obtain cost estimation for the different solutions | ✅ | 2023Q2 | April 3, 2023 | ||
Documentation | Not started | 2023Q2 | |||
Publish FIP-0047 replacement | 🔵 | 2023Q2 | April 10, 2023 → June 19, 2023 | ||
Figure out design to avoid FIP-0047 after all | ✅ | 2023Q1 | January 10, 2023 → March 15, 2023 | ||
Code | ✅ | 2023Q1 | Alex North | ||
Create the FIP for SnapDeal v2 | 🟡 | 2023Q2 | April 2, 2023 | ||
Gather initial feedback from SPs | ✅ | 2023Q2 | March 31, 2023 | ||
✅ | 2023Q2 | March 20, 2023 → April 15, 2023 | |||
✅ | 2023Q2 | March 6, 2023 → March 31, 2023 | |||
Short-term FIP is shipped | ✅ | 2023Q1 | Alex North | ||
Short-term FIP is in the public | ✅ | 2023Q1 | Alex North | ||
Gather initial feedback from SP | ✅ | 2023Q1 | Alex North | May 17, 2023 → May 24, 2023 | |
Resolve int overflow TODOs | ✅ | 2023Q2 | |||
Export Format | ✅ | 2023Q2 | |||
Storage Format | ✅ | 2023Q2 | February 27, 2023 → March 10, 2023 | ||
Testing | ✅ | 2023Q2 | February 27, 2023 → March 10, 2023 | ||
FRC merged (waiting on Kaitlyn to assign number and merge) | 🔵 | February 27, 2023 → March 3, 2023 | |||
Find parameters and alternative proposals and sync with CEL | ✅ | 2023Q2 | Alex North | March 19, 2023 → May 31, 2023 | |
Generate test vectors for solidity implementation | ✅ | 2023Q1 | February 20, 2023 → February 24, 2023 | ||
Lib and docs | ✅ | 2023Q1 | |||
Decoder for boost | ✅ | 2023Q1 | February 13, 2023 → February 17, 2023 | ||
Negative tests and test vectors | ✅ | 2023Q2 | |||
Draft a new concrete proposal w/ analysis of impact | ✅ | 2023Q1 | Alex North | March 27, 2023 → April 28, 2023 | |
Synthetic PoRep shipping effort | ✅ | 2023Q2 | March 24, 2023 → March 31, 2023 | ||
Deploy PoRep safety mechanism to Filecoin | Not started | 2023Q2 | Alex North | ||
FRC is reviewed and approved (continuing with minor edits and chasing people) | ✅ | February 13, 2023 → February 24, 2023 |
‣
🏗️ Product Builders