-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path_kernel.yaml
More file actions
214 lines (213 loc) · 12.2 KB
/
Copy path_kernel.yaml
File metadata and controls
214 lines (213 loc) · 12.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
# The Filecoin Kernel inventory: the canonical taxonomy ProPGF prioritizes against.
# Evolves via reviewed PR. Validated against _kernel_schema.json. Fields: id, tier, category,
# sub_category, function, value. Irreplaceable + Essential are the in-scope tiers.
#
# `id` is the stable join key: every manifest SLA points at one via `kernel_id`, coverage joins
# on it, and it is IMMUTABLE once merged. A rename is a new id plus a migration, never an edit
# in place -- tests/test_kernel.py::test_kernel_ids_are_frozen enforces that. Ids are also kept
# disjoint from SLA function_ids and team names, so a bare slug is never ambiguous.
entries:
- id: fvm-execution-engine
tier: irreplaceable
category: "Blockchain Core & Physical Storage"
sub_category: "VM & Programmability"
function: "FVM execution engine (deterministic WASM actor execution)"
value: "Shared execution engine that produces gas spent; a divergence here forks execution across all clients. Co-maintained by Lotus and Forest."
- id: builtin-actor-suite
tier: irreplaceable
category: "Blockchain Core & Physical Storage"
sub_category: "VM & Programmability"
function: "Storage market / miner / power / system / reward / datacap actors"
value: "Storage market, miner, power and reward logic at protocol level. FIPs may propose modifications. Co-maintained by Lotus and Forest."
- id: proving-subsystem
tier: irreplaceable
category: "Blockchain Core & Physical Storage"
sub_category: "Proving"
function: "Proving subsystem - PoRep (StackedDRG sealing), WinningPoSt/WindowPoSt, crypto primitives (BLST, bellperson, neptune)"
value: "Storage proofs make physical storage trustless and gate block production and sector onboarding; a regression halts proving network-wide."
- id: p2p-networking-stack
tier: irreplaceable
category: "Blockchain Core & Physical Storage"
sub_category: "Networking"
function: "GossipSub propagation, Kademlia DHT peer/content discovery, transports (TCP/QUIC) + NAT traversal"
value: "Blocks must propagate within ~30s; precondition for propagation, discovery and every connection - failure threatens consensus."
- id: distributed-randomness-beacon
tier: irreplaceable
category: "Blockchain Core & Physical Storage"
sub_category: "Randomness"
function: "Distributed randomness beacon (threshold-BLS, League of Entropy)"
value: "If the beacon stops, the chain halts instantly and (without months of R&D) irrecoverably. Governance and on-call support required."
- id: consensus-validation-client
tier: essential
category: "Blockchain Core & Physical Storage"
sub_category: "Ledger & Consensus"
function: "Consensus/validation client: fork-choice, state validation, message pool"
value: "Most widely-deployed full node with broadest feature coverage; the client most of the network currently runs."
- id: chain-sync-state
tier: essential
category: "Blockchain Core & Physical Storage"
sub_category: "Ledger & Consensus"
function: "Chain sync & state management (snapshot bootstrap, heaviest-chain, RPC)"
value: "A correct, fast sync path keeps nodes in consensus rather than forking. Read/write surface used by miners, wallets, explorers, RPC providers and FEVM dApps."
- id: forest-full-node
tier: essential
category: "Blockchain Core & Physical Storage"
sub_category: "Ledger & Consensus"
function: "Independent Rust full node (sync, validation, RPC, snapshot export)"
value: "Second production client bounds the blast radius of a Lotus bug - client diversity is a security property; ~30% lighter footprint, efficient snapshots, more performant Eth RPC."
- id: block-production
tier: essential
category: "Blockchain Core & Physical Storage"
sub_category: "Block Production (mining)"
function: "Block production - WinningPoSt leader election & block assembly"
value: "Without miners running WinningPoSt there is no block production; the chain stops advancing. Majority of block producers run this (70%+)."
- id: sealing-pipeline
tier: essential
category: "Blockchain Core & Physical Storage"
sub_category: "Block Production (mining)"
function: "Sealing pipeline (PC1/PC2/Commit, SupraSeal, Snap)"
value: "How SPs onboard committed capacity and data onto the network."
- id: proving-scheduler
tier: essential
category: "Blockchain Core & Physical Storage"
sub_category: "Block Production (mining)"
function: "Proving scheduler - WindowPoSt deadlines + WinningPoSt eligibility"
value: "Recurring liveness proofs and block production; missed windows mean fault penalties and power loss."
- id: venus-pooled-mining
tier: essential
category: "Blockchain Core & Physical Storage"
sub_category: "Block Production (mining)"
function: "Pooled block production (sophon-miner) + distributed sealing cluster (Damocles)"
value: "Independent block-winning and sealing path for Venus SPs - SP-side client diversity. Dominant stack for China-based SPs (~15% of miners)."
- id: evm-eam-actors
tier: essential
category: "Blockchain Core & Physical Storage"
sub_category: "VM & Programmability"
function: "EVM + EAM actor"
value: "Enables smart contract programmability. Requires keeping shared VM/actors/finality libraries consistent across clients through upgrades. Co-maintained by Lotus, Forest and Fil-B."
- id: randomness-relays
tier: essential
category: "Blockchain Core & Physical Storage"
sub_category: "Randomness"
function: "High-SLA HTTP + gossipsub relays & quarterly resharing"
value: "Keeps randomness reachable and the threshold group healthy as members rotate. Infrastructure and on-call support required."
- id: validated-snapshots
tier: essential
category: "Blockchain Core & Physical Storage"
sub_category: "Mainnet Infrastructure"
function: "Validated snapshot generation & hosting (~2h cadence)"
value: "New/recovering nodes cannot sync from genesis in reasonable time; fresh snapshots keep operators off bad forks. Forest produces them; Lotus can, with more resources."
- id: bootstrap-seed-nodes
tier: essential
category: "Blockchain Core & Physical Storage"
sub_category: "Mainnet Infrastructure"
function: "Operation of seed nodes a new peer contacts on startup"
value: "Without reachable bootstrap nodes a fresh node 'starts and just sits there'."
- id: groth16-params
tier: essential
category: "Blockchain Core & Physical Storage"
sub_category: "Mainnet Infrastructure"
function: "Serving Groth16 trusted-setup parameters to every node and SP (go-paramfetch)"
value: "The network cannot generate/verify proofs without these present and unaltered; impacts all nodes (verifiers) and miners (sealers and provers)."
- id: calibnet-upgrade-rehearsal
tier: essential
category: "Coordination & Hardening"
sub_category: "Testnets"
function: "Mainnet-realistic testnet for rehearsing every network-version upgrade"
value: "Required rehearsal path that catches consensus-breaking issues before mainnet."
- id: infra-stewardship
tier: essential
category: "Coordination & Hardening"
sub_category: "Shared infra stewardship"
function: "Vendor/access governance, runbooks, Slack/Workspace/GitHub stewardship"
value: "Connective infra the ecosystem relies on; reduces systemic and key-person risk."
- id: calibnet-miners
tier: essential
category: "Coordination & Hardening"
sub_category: "Testnets - miners"
function: "Calibnet miners (Lotus-Miner / Curio / Venus) for upgrade rehearsal"
value: "Makes Calibnet a faithful rehearsal; degraded coverage if missing."
- id: calibnet-explorer
tier: essential
category: "Coordination & Hardening"
sub_category: "Testnets - explorer"
function: "Explorer for Calibration testnet"
value: "Supports rehearsal and analysis (need at least one)."
- id: network-monitoring-ir
tier: essential
category: "Coordination & Hardening"
sub_category: "Network data & monitoring"
function: "Monitoring, archival access and incident response (Grafana, OpsGenie, IR coordination)"
value: "Observability and rapid response/recovery through upgrades and outages. Critical for network security; any provider can populate it."
- id: open-network-datasets
tier: essential
category: "Coordination & Incentives"
sub_category: "Network data & monitoring"
function: "Aggregates Filecoin on/off-chain data into open, queryable datasets and dashboards"
value: "Prepares and presents network KPI metrics; free, vendor-neutral network data anyone can reuse - no rebuilding their own pipeline."
- id: chain-etl-spacescope
tier: essential
category: "Coordination & Incentives"
sub_category: "Network data & monitoring"
function: "Chain ETL, indexing, normalization & parameter matching (BigQuery, Spacescope API)"
value: "Free, vendor-neutral chain data anyone can reuse - no rebuilding their own pipeline."
- id: chain-etl-indexing
tier: essential
category: "Coordination & Incentives"
sub_category: "Network data & monitoring"
function: "Chain ETL and indexing"
value: ""
- id: mainnet-explorer
tier: essential
category: "UX/DX"
sub_category: "Explorers and Tooling"
function: "Mainnet block explorer (Lotus archive, indexing, NV maintenance)"
value: "Primary accessibility/observability surface for users and SPs."
- id: network-documentation
tier: essential
category: "UX/DX"
sub_category: "Explorers and Tooling"
function: "Network-wide documentation along with source code availability and source control"
value: "Onboarding to the ecosystem."
- id: content-routing-ads
tier: essential
category: "Storage Market Middleware"
sub_category: "Content routing"
function: "System to advertise CID content records"
value: "An adopted solution for content routing is essential. The network doesn't halt, but it stops being a useful storage network."
- id: dealmaking-pdp-retrieval
tier: essential
category: "Blockchain Core & Physical Storage"
sub_category: "Block Production (mining)"
function: "Deal-making + PDP + HTTP retrieval"
value: "Composable deal interface and hot-storage proving - the demand-side onramp for SPs."
# ---------------------------------------------------------------------------
# IMPORTANT tier. The first entries at this tier; the schema has always permitted it.
# Both adopt a requirement the committee already stewards in
# funding_model_static.requirement_stewards (status: approved, fds_tier: important,
# from_inventory: true) — they are not new judgements. sub_category is the committee's own
# wording verbatim; category collapses to the nearest enum member, since _kernel.yaml has no
# "UX / DX - Structural DeFi".
# ---------------------------------------------------------------------------
- id: stablecoin-settlement
tier: important
category: "UX/DX"
sub_category: "Stablecoin & yield"
function: "Overcollateralized stablecoin settlement rail for storage and service payments (USDFC)"
value: >-
Storage and retrieval priced in a volatile native token cannot be quoted or invoiced across a
multi-month term; a stable unit of account on FVM is what lets paid storage, Filecoin Pay
rails and onchain-cloud services be sold to enterprises. If it depegs or its liquidity dries
up, onchain payments lose their unit of account. Committee steward: Secured Finance
(requirement usdfc-overcollateralised-stablecoin).
- id: ecosystem-coordination
tier: important
category: "UX/DX"
sub_category: "Public-goods coordination"
function: "Technical program coordination, ecosystem technical support and discretionary grant administration across kernel teams"
value: >-
The kernel is maintained by ~15 independent teams with no shared employer. Coordination is
what sequences cross-team upgrades, gives SPs and integrators a support path, and funds gaps
too small or too urgent for a funding round. Without it, gaps surface only when something
breaks. Committee steward: Open Impact Foundation - FilPonto Cell (requirement
public-goods-coordination-rpc-indexers-wallet-oracle).