Home

Awesome

Filecoin Improvement Protocol

The Filecoin Improvement Protocol contains the set of fundamental governing principles for the Filecoin Network. It outlines the vision for Filecoin and the principles, processes, and parties involved in making decisions that affect the future of the network. It also describes how improvements to these rules can be proposed and ratified.

The Filecoin Vision

Filecoin is a peer-to-peer network that stores files, with built-in economic incentives to ensure that files are stored reliably over time. Its mission is to create a decentralized, efficient and robust foundation for humanity’s information. To advance that mission, Filecoin has created a decentralized storage network that lets anyone in the world store or retrieve files.

In Filecoin, users pay to store their files on storage miners. Storage miners are computers responsible for storing files and proving they have stored the files correctly over time. Anyone who wants to store their files or get paid for storing other users’ files can join Filecoin. Available storage and pricing are not controlled by any single entity. Instead, Filecoin facilitates open markets for storing and retrieving files that anyone can participate in, thereby providing storage to billions of people who are currently locked out of the web.

Filecoin Design Principles

The design of Filecoin is intended to follow a set of principles. The community will help define these principles in the coming months.

Filecoin Improvement Principles

When making decisions about how to improve Filecoin, we will follow a set of principles. The community will help define these principles in the coming months.

Making changes to the Filecoin network

Filecoin Improvement Proposals (FIPs) are the primary mechanism by which the Filecoin community can submit, discuss, and approve changes relevant to the Filecoin network. These discussions and decisions should be guided by the governance and design principles above.

FIPs are classified into three categories:

Technical FIPs, or Filecoin Technical Proposals (FTPs) are designed to gather community feedback on technical Filecoin issues. These include changes to the Filecoin protocol, a change in block or transaction validity rules, and proposed application standards or conventions. They are then reviewed by the Filecoin community and the technical steering committee. They are normally followed by a PR to the Filecoin Specification repository to update the protocol's spec.

Organizational FIPs, or Filecoin Organization Proposals (FOPs) allow the Filecoin community to propose, discuss, and achieve consensus on Filecoin governance. This includes procedures, guidelines, decision-making processes, and changes to FIP processes.

Recovery FIPs, or Filecoin Recovery Proposals (FRPs) are intended to provide the Filecoin community with a forum to raise, discuss, and achieve consensus on fault recovery and chain rewrites, under a very limited, clearly-defined set of criteria (ex, in the case of protocol bugs destroying network value). The community will help define this process as needed in the coming months.

A decentralized, global network

Filecoin is still in its infancy, but it has the potential to play a central role in the storage and distribution of humanity’s information. To help the network grow and evolve, it is critical for the community to collectively be engaged in proposing, discussing, and implementing changes that improve the network and its operations.

This improvement protocol helps achieve that objective for all members of the Filecoin community (developers, miners, clients, token holders, ecosystem partners, and more).

FIPs

FIP #TitleTypeAuthorStatus
0001FIP Purpose and GuidelinesFIP@WhyrusleepingActive
0002Free Faults on Newly Faulted Sectors of a Missed WindowPoStFIP@anorth, @davidad, @miyazono, @irenegia, @lucaniz, @nicola, @zixuanzhFinal
0003Filecoin Plus PrinciplesFIP@feerst, @jbenet, @jnthnvctr, @tim-murmuration, @mzargham, @zixuanzhActive
0004Liquidity Improvement for Storage MinersFIP@davidad, @jbenet, @zenground0, @zixuanzh, @danlessaFinal
0005Remove ineffective reward vestingFIP@anorth, @ZengroundFinal
0006No repay debt requirement for DeclareFaultsRecoveredFIP@nicola, @irenegiaDeferred
0007h/amt-v3FIP@rvagg, @Stebalien, @anorth, @Zenground0Final
0008Add miner batched sector pre-commit methodFIP@anorth, @ZenGround0, @nicolaFinal
0009Exempt Window PoSts from BaseFee burnFIP@Stebalien, @momack2, @magik6k, @zixuanzhFinal
0010Off-Chain Window PoSt VerificationFIP@Stebalien, @anorthFinal
0011Remove reward auction from reporting consensus faultsFIP@KubuxuFinal
0012DataCap Top up for FIL+ Client AddressesFIP@dshoy, @jnthnvctr, @zxFinal
0013Add ProveCommitSectorAggregated method to reduce on-chain congestionFIP@ninitrava @nicolaFinal
0014Allow V1 proof sectors to be extended up to a maximum of 540 daysFIP@deltazxm, @neogeweb3Final
0015Revert FIP-0009(Exempt Window PoSts from BaseFee burn)FIP@jennijuju, @arajasekFinal
0016Pack arbitrary data in CC sectorsFIPdonghengzhao (@1475)Deferred
0017Three-messages lightweight sector updatesFIP@nicole, @lucaniz, @irenegiaDeferred
0018New miner terminology proposalFIP@Stefaan-VFinal
0019Snap DealsFIP@Kubuxu, @lucaniz, @nicola, @rosariogennaro, @irenegiaFinal
0020Add return value to WithdrawBalanceFIP@Stefaan-VFinal
0021Correct quality calculation on expirationFIP@Steven004, @Zenground0Final
0022Bad deals don't fail PublishStorageDealsFIP@Zenground0Final
0023Break ties between tipsets of equal weightsFIP@sa8, @arajasekFinal
0024BatchBalancer & BatchDiscount Post -Hyperdrive adjustmentFIP@zx, @jbenet, @zenground0, @momack2Final
0025Handle expired deals in ProveCommitFIP@ZenGround0Deferred
0026Extend sector fault cutoff period from 2 weeks to 6 weeksFIP@IPFSUnionFinal
0027Change type of DealProposal Label field from a (Golang) String to a UnionFIP@laudiacay, @Stebalien, @arajasekFinal
0028Remove DataCap and verified client status from client addressFIP@jennijuju, @dkkapurFinal
0029Beneficiary address for storage providersFIP@steven004Final
0030Introducing the Filecoin Virtual Machine (FVM)FIP@raulk, @stebalienFinal
0031Atomic switch to non-programmable FVMFIP@raulk, @stebalienFinal
0032Gas model adjustment for non-programmable FVMFIP@raulk, @stebalienFinal
0033Explicit premium for FIL+ verified dealsFIP@anorthDeferred
0034Fix pre-commit deposit independent of sector contentFIP@anorth, @KubuxuFinal
0035Support actors as built-in storage market clientsFIP@anorthWithdrawn
0036Introducing a Sector Duration Multiple for Longer Term Sector CommitmentFIP@AxCortesCubero, @jbenet, @misilva73, @momack2, @tmellan, @vkalghatgi, @zixuanzhRejected
0037Gas model adjustment for user programmabilityFIP@raulk, @stebalienWithdrawn
0038Indexer Protocol for Filecoin Content DiscoveryFRC@willscott, @gammazero, @honghaoqDraft
0039Filecoin Message Replay ProtectionFIP@q9fDraft
0040Boost - Filecoin Storage Deals Market ProtocolFRC@dirkmc, @nonsense, @jacobheun, @brendaleeDraft
0041Forward Compatibility for PreCommit and ReplicaUpdateFIP@KubuxuFinal
0042Calling Convention for Hashed Method NameFRC@Kubuxu, @anorthDraft
0044Standard Authentication Method for ActorsFIP@arajasek, @anorthFinal
0045De-couple verified registry from marketsFIP@anorth, @zenground0Final
0046Fungible token standardFRC@anorth, @jsuresh, @alexytsuDraft
0047Proof Expiration & PoRep Security PolicyFIP@Kubuxu, @irenegia, @anorthSuperseded
0048f4 Address ClassFIP@stebalien, @mriise, @raulkFinal
0049Actor EventsFIP@stebalien, @raulkFinal
0050API Between User-Programmed Actors and Built-In ActorsFIP@anorth, @arajasekFinal
0051Synchronous Consistent Block Broadcast for EC SecurityFRCGuy Goren guy.goren@protocol.ai, Alfonso de la Rocha alfonso@protocol.aiDraft
0052Increase max sector commitment to 3.5 yearsFIP@anorthFinal
0053Non-Fungible Token StandardFRC@alexytsu, @abright, @anorthDraft
0054Filecoin EVM Runtime (FEVM)FIP@raulk, @stebalienFinal
0055Supporting Ethereum Accounts, Addresses, and TransactionsFIP@raulk, @stebalienFinal
0056Sector Duration MultiplierFIP@AxCortesCubero, @jbenet, @misilva73, @momack2, @tmellan, @vkalghatgi, @zixuanzhRejected
0057Update Gas Charging Schedule and System Limits for FEVMFIP@raulk, @stebalien, @aakoshh, @kubuxuFinal
0058Verifiable Data AggregationFRCJakub Sztandera (@Kubuxu), Nicola Greco (@nicola), Peter Rabbitson (@ribasushi)Draft
0059Synthetic PoRepFIP@Kubuxu @Luca @Rosario Gennaro @Nicola @IreneFinal
0060Set market deal maintenance interval to 30 daysFIPJakub Sztandera (@Kubuxu), @Zenground0, Alex North (@anorth)Final
0061WindowPoSt Grindability FixFIP@cryptonemo @Kubuxu @DrPeterVanNostrand @Nicola @porcuquine @vmx @arajasekFinal
0062Fallback Method Handler for the Multisig ActorFIPDimitris Vyzovitis (@vyzo), Raúl Kripalani (@raulk)Final
0063Switching to new Drand mainnet networkFIP@yiannisbot, @CluEleSsUK, @AnomalRoil, @nikkolasg, @willscottFinal
0065Ignore built-in market locked balance in circulating supply calculationFIP@anorthFinal
0066Piece Retrieval GatewayFRC@willscott, @dirkmcDraft
0067PoRep Security Policy & Replacement Sealing EnforcementFIP@Kubuxu, @anorth, @irenegia, @lucanizAccepted
0068Deal-Making Between SPs and FVM Smart ContractsFRC@aashidham, @raulk, @skottie86, @jennijuju, @nonsense, @shrenujbansalDraft
0069Piece Multihash and v2 Piece CIDFRC@aschmahmann, @ribasushiDraft
0070Allow SPs to move partitions between deadlinesFIPSteven Li (@steven004), Alan Xu (@zhiqiangxu), Mike Li (@hunjixin), Alex North (@anorth), Nicola (@nicola)Rejected
0071Deterministic State Access (IPLD Reachability)FIP@stebalienFinal
0072Improved event syscall APIFIP@fridrik01, @StebalienFinal
0073Remove beneficiary from the self_destruct syscallFIP@StebalienFinal
0074Remove cron-based automatic deal settlementFIP@anorth, @alexytsuFinal
0075Improvements to the FVM randomness syscallsFIP@arajasek, @StebalienFinal
0076Direct data onboardingFIP@anorth, @zenground0Final
0077Add Cost Opportunity For New Miner CreationFIPZac (@remakeZK), Mike Li (@hunjixin)Draft
0078Remove Restrictions on the Minting of DatacapFIPFatman13 (@Fatman13), flyworker (@flyworker), stuberman (@stuberman), Eliovp (@Eliovp), dcasem (@dcasem), and The-Wayvy (@The-Wayvy)Draft
0079Add BLS Aggregate Signatures to FVMFIPJake (@drpetervannostrand)Final
0080Phasing Out Fil+ and Restoring Deal Quality Multiplier to 1xFIP@Fatman13, @ArthurWang1255, @stuberman, @Eliovp, @dcasem, @The-WayvyDraft
0081Introduce lower bound for sector initial pledgeFIP@anorth, @vkalghatgiFinal
0082Add support for aggregated replica update proofsFIPnemo (@cryptonemo), Jake (@drpetervannostrand), @anorthAccepted
0083Add built-in Actor events in the Verified Registry, Miner and Market ActorsFIPAarsh (@aarshkshah1992)Final
0084Remove Storage Miner Actor Method ProveCommitSectorsFIPJennifer Wang (@jennijuju)Final
0085Convert f090 Mining Reserve actor to a keyless account actorFIPJennifer Wang (@jennijuju), Jon Victor (@jnthnvctr)Final
0086Fast Finality in Filecoin (F3)FIP@stebalien, @masih, @mb1896, @hmoniz, @anorth, @matejpavlovic, @arajasek, @ranchalp, @jsoares, @Kubuxu, @vukolic, @jennijujuAccepted
0087FVM-Enabled Deal AggregationFRC@aashidham, @honghao, @raulk, @nonsenseDraft
0089A Finality Calculator for FilecoinFRC@guy-goren, @jsoaresDraft
0090Non-Interactive PoRepFIPluca (@lucaniz), kuba (@Kubuxu), nicola (@nicola), nemo (@cryptonemo), volker (@vmx), irene (@irenegia)Superseded by FIP0092
0091Add support for Homestead and EIP-155 Ethereum Transactions ("legacy" Ethereum Transactions)FIPAarsh (@aarshkshah1992)Accepted
0092Non-Interactive PoRepFIPluca (@lucaniz), kuba (@Kubuxu), nicola (@nicola), nemo (@cryptonemo), volker (@vmx), irene (@irenegia), Alex North (@anorth), orjan (@Phi-rjan)Final
0094Add Support for EIP-5656 (MCOPY Opcode) in the FEVMFIPMichael Seiler (@snissn), Raúl Kripalani (@raulk), Steven Allen (@stebalien)Final
0095Add FEVM precompile to fetch beacon digest from chain historyFIP@ZenGround0, Alex North (@anorth)Final
0096Convert fundraising remainder address(es) to keyless account actor(s)FIP@Fatman13Draft
0097Add Support for EIP-1153 (Transient Storage) in the FEVMFIPMichael Seiler (@snissn), Steven Allen (@stebalien)Last Call
0098Simplify termination fee calculation to a fixed percentage of initial pledgeFIPJonathan Schwartz (@Schwartz10), Alex North (@anorth), Jim Pick (@jimpick)Draft