• Stars
    star
    288
  • Rank 142,948 (Top 3 %)
  • Language
    Jupyter Notebook
  • Created over 5 years ago
  • Updated 12 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

The Filecoin Improvement Proposal repository

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 # Title Type Author Status
0001 FIP Purpose and Guidelines FIP @Whyrusleeping Active
0002 Free Faults on Newly Faulted Sectors of a Missed WindowPoSt FIP @anorth, @davidad, @miyazono, @irenegia, @lucaniz, @nicola, @zixuanzh Final
0003 Filecoin Plus Principles FIP @feerst, @jbenet, @jnthnvctr, @tim-murmuration, @mzargham, @zixuanzh Active
0004 Liquidity Improvement for Storage Miners FIP @davidad, @jbenet, @zenground0, @zixuanzh, @danlessa Final
0005 Remove ineffective reward vesting FIP @anorth, @Zenground Final
0006 No repay debt requirement for DeclareFaultsRecovered FIP @nicola, @irenegia Deferred
0007 h/amt-v3 FIP @rvagg, @Stebalien, @anorth, @Zenground0 Final
0008 Add miner batched sector pre-commit method FIP @anorth, @ZenGround0, @nicola Final
0009 Exempt Window PoSts from BaseFee burn FIP @Stebalien, @momack2, @magik6k, @zixuanzh Final
0010 Off-Chain Window PoSt Verification FIP @Stebalien, @anorth Final
0011 Remove reward auction from reporting consensus faults FIP @Kubuxu Final
0012 DataCap Top up for FIL+ Client Addresses FIP @dshoy, @jnthnvctr, @zx Final
0013 Add ProveCommitSectorAggregated method to reduce on-chain congestion FIP @ninitrava @nicola Final
0014 Allow V1 proof sectors to be extended up to a maximum of 540 days FIP @deltazxm, @neogeweb3 Final
0015 Revert FIP-0009(Exempt Window PoSts from BaseFee burn) FIP @jennijuju, @arajasek Final
0016 Pack arbitrary data in CC sectors FIP donghengzhao (@1475) Deferred
0017 Three-messages lightweight sector updates FIP @nicole, @lucaniz, @irenegia Deferred
0018 New miner terminology proposal FIP @Stefaan-V Final
0019 Snap Deals FIP @Kubuxu, @lucaniz, @nicola, @rosariogennaro, @irenegia Final
0020 Add return value to WithdrawBalance FIP @Stefaan-V Final
0021 Correct quality calculation on expiration FIP @Steven004, @Zenground0 Final
0022 Bad deals don't fail PublishStorageDeals FIP @Zenground0 Final
0023 Break ties between tipsets of equal weights FIP @sa8, @arajasek Final
0024 BatchBalancer & BatchDiscount Post -Hyperdrive adjustment FIP @zx, @jbenet, @zenground0, @momack2 Final
0025 Handle expired deals in ProveCommit FIP @ZenGround0 Deferred
0026 Extend sector fault cutoff period from 2 weeks to 6 weeks FIP @IPFSUnion Final
0027 Change type of DealProposal Label field from a (Golang) String to a Union FIP @laudiacay, @Stebalien, @arajasek Final
0028 Remove DataCap and verified client status from client address FIP @jennijuju, @dkkapur Final
0029 Beneficiary address for storage providers FIP @steven004 Final
0030 Introducing the Filecoin Virtual Machine (FVM) FIP @raulk, @stebalien Final
0031 Atomic switch to non-programmable FVM FIP @raulk, @stebalien Final
0032 Gas model adjustment for non-programmable FVM FIP @raulk, @stebalien Final
0033 Explicit premium for FIL+ verified deals FIP @anorth Deferred
0034 Fix pre-commit deposit independent of sector content FIP @anorth, @Kubuxu Final
0035 Support actors as built-in storage market clients FIP @anorth Withdrawn
0036 Introducing a Sector Duration Multiple for Longer Term Sector Commitment FIP @AxCortesCubero, @jbenet, @misilva73, @momack2, @tmellan, @vkalghatgi, @zixuanzh Rejected
0037 Gas model adjustment for user programmability FIP @raulk, @stebalien Draft
0038 Indexer Protocol for Filecoin Content Discovery FRC @willscott, @gammazero, @honghaoq Draft
0039 Filecoin Message Replay Protection FIP @q9f Draft
0040 Boost - Filecoin Storage Deals Market Protocol FRC @dirkmc, @nonsense, @jacobheun, @brendalee Draft
0041 Forward Compatibility for PreCommit and ReplicaUpdate FIP @Kubuxu Final
0042 Calling Convention for Hashed Method Name FRC @Kubuxu, @anorth Draft
0044 Standard Authentication Method for Actors FIP @arajasek, @anorth Final
0045 De-couple verified registry from markets FIP @anorth, @zenground0 Final
0046 Fungible token standard FRC @anorth, @jsuresh, @alexytsu Draft
0047 Proof Expiration & PoRep Security Policy FIP @Kubuxu, @irenegia, @anorth Superseded
0048 f4 Address Class FIP @stebalien, @mriise, @raulk Final
0049 Actor Events FIP @stebalien, @raulk Final
0050 API Between User-Programmed Actors and Built-In Actors FIP @anorth, @arajasek Final
0051 Synchronous Consistent Block Broadcast for EC Security FRC Guy Goren [email protected], Alfonso de la Rocha [email protected] Draft
0052 Increase max sector commitment to 3.5 years FIP @anorth Accepted
0053 Non-Fungible Token Standard FRC @alexytsu, @abright, @anorth Draft
0054 Filecoin EVM Runtime (FEVM) FIP @raulk, @stebalien Final
0055 Supporting Ethereum Accounts, Addresses, and Transactions FIP @raulk, @stebalien Final
0056 Sector Duration Multiplier FIP @AxCortesCubero, @jbenet, @misilva73, @momack2, @tmellan, @vkalghatgi, @zixuanzh Rejected
0057 Update Gas Charging Schedule and System Limits for FEVM FIP @raulk, @stebalien, @aakoshh, @kubuxu Final
0058 Verifiable Data Aggregation FRC Jakub Sztandera (@Kubuxu), Nicola Greco (@nicola), Peter Rabbitson (@ribasushi) Draft
0059 Synthetic PoRep FIP @Kubuxu @Luca @Rosario Gennaro @Nicola @Irene Last Call
0060 Set market deal maintenance interval to 30 days FIP Jakub Sztandera (@Kubuxu), @Zenground0, Alex North (@anorth) Final
0061 WindowPoSt Grindability Fix FIP @cryptonemo @Kubuxu @DrPeterVanNostrand @Nicola @porcuquine @vmx @arajasek Final
0062 Fallback Method Handler for the Multisig Actor FIP JDimitris Vyzovitis (@vyzo), Raúl Kripalani (@raulk) Final
0063 Switching to new Drand mainnet network FIP @yiannisbot, @CluEleSsUK, @AnomalRoil, @nikkolasg, @willscott Draft
0065 Ignore built-in market locked balance in circulating supply calculation FIP @anorth Draft
0066 Piece Retrieval Gateway FRC @willscott, @dirkmc Draft
0067 PoRep Security Policy & Replacement Sealing Enforcement FIP . @Kubuxu, @anorth, @irenegia, @lucaniz Draft
0068 Deal-Making Between SPs and FVM Smart Contracts FRC @aashidham, @raulk, @skottie86, @jennijuju, @nonsense, @shrenujbansal Draft
0069 Piece Multihash and v2 Piece CID FRC @aschmahmann, @ribasushi Draft

More Repositories

1

lotus

Reference implementation of the Filecoin protocol, written in Go
Go
2,663
star
2

venus

Filecoin Full Node Implementation in Go
Go
2,054
star
3

slate

WIP - We're building the place you go to discover, share, and sell files on the web.
JavaScript
526
star
4

rust-fil-proofs

Proofs for Filecoin in Rust
Rust
487
star
5

community

Filecoin community and ecosystem channels, discussion forums, and more
474
star
6

community-china

Resources and forum for the Chinese community, maintained and moderated by CoinSummer & PL.
C
436
star
7

ref-fvm

Reference implementation of the Filecoin Virtual Machine
Rust
378
star
8

devgrants

👟 Apply for a Filecoin devgrant. Help build the Filecoin ecosystem!
371
star
9

specs

The Filecoin protocol specification
SCSS
368
star
10

filecoin-docs

Filecoin Docs
Shell
218
star
11

fevm-hardhat-kit

A starter hardhat project for developing, deploying, and testing Solidity smart contracts on the FEVM (Ethereum Virtual Machine on Filecoin)
Solidity
183
star
12

fvm-specs

home of the FVM (Filecoin Virtual Machine) project ⚙️
168
star
13

cpp-filecoin

C++17 implementation of Filecoin
C++
126
star
14

neptune

Rust Poseidon implementation.
Rust
125
star
15

notary-governance

114
star
16

filecoin-plus-large-datasets

Hub for client applications for DataCap at a large scale
110
star
17

boost

Boost is a tool for Filecoin storage providers to manage data storage and retrievals on Filecoin.
Go
110
star
18

lassie

A minimal universal retrieval client library for IPFS and Filecoin
Go
106
star
19

filecoin-ffi

C and CGO bindings for Filecoin's Rust libraries
Rust
94
star
20

specs-actors

DEPRECATED Specification of builtin actors, in the form of executable code.
Go
86
star
21

filecoin-plus-client-onboarding

80
star
22

builtin-actors

The Filecoin built-in actors
Rust
78
star
23

go-fil-markets

Shared Implementation of Storage and Retrieval Markets for Filecoin Node Implementations
Go
78
star
24

research

Home for Filecoin Research
74
star
25

go-jsonrpc

Low Boilerplate JSON-RPC 2.0 library
Go
74
star
26

bls-signatures

BLS Signatures in Rust
Rust
72
star
27

ec-gpu

OpenCL code generator for finite-field arithmetic over arbitrary prime fields
Rust
69
star
28

rust-gpu-tools

Rust tools for OpenCL and GPU management.
Rust
66
star
29

replication-game

Compete on the fastest replication algorithm
Rust
59
star
30

slingshot

Official repository for Filecoin's Space Race 2: Slingshot
58
star
31

filecoin

GitHub home for the Filecoin Project
52
star
32

starling

Demo storage client for archival video data
JavaScript
51
star
33

venus-docs

Content for Venus tutorial
Shell
49
star
34

lily

capturing on-chain state for the filecoin network
Go
48
star
35

rust-filecoin-proofs-api

Rust
43
star
36

consensus

Filecoin consensus work
Python
42
star
37

blstrs

Rust
40
star
38

mir

Go
40
star
39

go-data-transfer

Data Transfer Shared Component for go-filecoin & go-lotus
Go
39
star
40

dagstore

a sharded store to hold large IPLD graphs efficiently, packaged as location-transparent attachable CAR files, with mechanical sympathy
Go
39
star
41

merkletree

_merkle_ is a lightweight Rust implementation of a Merkle tree, external dependencies agnostic, std::hash compatible with efficient memory layout
Rust
37
star
42

storetheindex

A storethehash based directory of CIDs
Go
36
star
43

fvm-starter-kit-deal-making

Full dapp starter kit for automating Filecoin deal making
JavaScript
36
star
44

go-statemachine

Go
34
star
45

dealbot

🤖🤝 A bot for making deals
Go
32
star
46

benchmarks

A place for community-submitted Filecoin benchmarks
JavaScript
32
star
47

core-devs

Technical Project Management: Meeting notes and agenda items
32
star
48

lotus-docs

Documentation for Lotus
HTML
29
star
49

fevm-data-dao-kit

A kit to demonstrate the basics of getting a DataDAO up and running on the Filecoin Virtual Machine (FVM).
JavaScript
29
star
50

go-hamt-ipld

An implementation of a HAMT using ipld
Go
28
star
51

sentinel

Filecoin Network monitoring and analysis tools.
27
star
52

filecoin-explorer

Filecoin block explorer
JavaScript
26
star
53

motion

🏍️ Accelerating Data onto FileCoin
Go
25
star
54

rust-fil-nse-gpu

Rust interface to GPU implementation of Filecoin's Narrow Stacked Expander (NSE) sealing algorithm
Rust
24
star
55

testnet-hyperspace

Meta info about the developer-focused Hyperspace testnet for Filecoin developers
24
star
56

sector-storage

A concrete implementation of the specs-storage interface
Go
24
star
57

fevm-foundry-kit

A starter foundry project for developing, deploying, and testing Solidity smart contracts on the FEVM (Ethereum Virtual Machine on Filecoin)
Solidity
23
star
58

testnet-wallaby

Meta info about the Wallaby testnet for FVM developers
20
star
59

go-legs

Does the legwork for go-data-transfer
Go
20
star
60

filecoin-client-tutorial

Store data on the Filecoin Network in under 5 minutes.
JavaScript
20
star
61

go-leb128

LEB128 integer encoding
Go
20
star
62

awesome-filecoin

Curated list of useful resources for Filecoin
19
star
63

venus-wallet

a remote wallet for provider sign service
Go
19
star
64

eudico

lotus, but also other things
Go
19
star
65

go-state-types

Primitive and low level types used in chain state and actor method parameters
Go
19
star
66

designdocs

Docs that capture the design intent for important components
18
star
67

neptune-triton

Futhark implementation of neptune-compatible Poseidon.
C
18
star
68

orient

↻Observe-Orient-Decide-Act↩
Common Lisp
18
star
69

test-vectors

💎 VM and Chain test vectors for Filecoin implementations
Go
18
star
70

filecoin-solidity

Filecoin Solidity API Library
Solidity
17
star
71

go-address

Go
17
star
72

venus-sealer

Go
17
star
73

filsnap

MetaMask snap for interacting with Filecoin dapps.
TypeScript
16
star
74

data-prep-tools

Python
16
star
75

fvm-evm

EVM runtime for the Filecoin Virtual Machine
Rust
15
star
76

actors-utils

Collection of libraries to implement common patterns and standards on the Filecoin Virtual Machine
Rust
15
star
77

filecoin-network-viz

Filecoin Network Visualization Frontend
JavaScript
14
star
78

rust-fil-sector-builder

Rust
13
star
79

fvm-docs

Documentation and website build scripts for the Filecoin Virtual Machine (FVM) project.
HTML
12
star
80

chain-validation

(DEPRECATED) See https://github.com/filecoin-project/test-vectors instead. (was: chain validation tools)
Go
11
star
81

fvm-runtime-experiment

Rust
11
star
82

fungi

A distributed task runner
Go
11
star
83

filecoin-fvm-localnet

A complete filecoin lotus and boost docker image to spin up a localnet for smart contract development
Shell
11
star
84

go-dagaggregator-unixfs

Go
10
star
85

go-fil-commp-hashhash

A hash.Hash implementation of fil-commitment-unsealed
Go
10
star
86

statediff

State Inspector 🕵️‍
Go
10
star
87

lua-filecoin

Prototype of Filecoin in Lua
Lua
10
star
88

go-amt-ipld

Implementation of an array mapped trie using go and ipld
Go
9
star
89

fil-blst

Assembly
9
star
90

go-sectorbuilder

Go
8
star
91

sp-automation

Jinja
8
star
92

oni

👹 (DEPRECATED; see README) Project Oni | Network Validation
Go
7
star
93

helm-charts

Smarty
7
star
94

boost-docs

Documentation for Boost
7
star
95

slate-react-system

A component, constants, and experience library for the Filecoin Network / Textile Services
7
star
96

go-storage-miner

A Filecoin storage miner
Go
7
star
97

system-test-matrix

The Filecoin System Test Matrix is a dashboard with a detailed list of Filecoin features and behaviors and a mapping between those features and test suites, systems and subsystems that those features are related to.
TypeScript
7
star
98

go-data-segment

Go
6
star
99

raas-starter-kit

JavaScript
6
star
100

go-f3

Golang implementation of Fast Finality in Filecoin (F3)
Go
6
star