Core Protocol

Core BPF Programs

An initiative to migrate Solana's native programs (System Program, Stake Program, Vote Program, and others currently compiled into the validator binary) to BPF/SBF bytecode deployed on-chain. This migration enables these core programs to be upgraded via feature gates and governance without requiring validator software releases, improving protocol agility. The programs maintain the same addresses and interfaces while gaining the upgradeability of standard on-chain programs.

IDcore-bpf-programs

Plain meaning

Start with the shortest useful explanation before going deeper.

An initiative to migrate Solana's native programs (System Program, Stake Program, Vote Program, and others currently compiled into the validator binary) to BPF/SBF bytecode deployed on-chain. This migration enables these core programs to be upgraded via feature gates and governance without requiring validator software releases, improving protocol agility. The programs maintain the same addresses and interfaces while gaining the upgradeability of standard on-chain programs.

Mental model

Use the quick analogy first so the term is easier to reason about when you meet it in code, docs, or prompts.

Think of it as part of the chain machinery that keeps ordering, execution, or consensus moving.

Technical context

Place the term inside its Solana layer so the definition is easier to reason about.

Consensus, leader rotation, slots, epochs, and the runtime.

Why builders care

Turn the term from vocabulary into something operational for product and engineering work.

This term unlocks adjacent concepts quickly, so it works best when you treat it as a junction instead of an isolated definition.

AI handoff

AI handoff

Use this compact block when you want to give an agent or assistant grounded context without dumping the entire page.

Core BPF Programs (core-bpf-programs)
Category: Core Protocol
Definition: An initiative to migrate Solana's native programs (System Program, Stake Program, Vote Program, and others currently compiled into the validator binary) to BPF/SBF bytecode deployed on-chain. This migration enables these core programs to be upgraded via feature gates and governance without requiring validator software releases, improving protocol agility. The programs maintain the same addresses and interfaces while gaining the upgradeability of standard on-chain programs.
Related: Native Program, System Program, Feature Gate, SBF (Solana Bytecode Format)
Glossary Copilot

Ask grounded Solana questions without leaving the glossary.

Use glossary context, relationships, mental models, and builder paths to get structured answers instead of generic chat output.

Explain this code

Optional: paste Anchor, Solana, or Rust code so the Copilot can map primitives back to glossary terms.

Ask a glossary-grounded question

Ask a glossary-grounded question

The Copilot will answer using the current term, related concepts, mental models, and the surrounding glossary graph.

Concept graph

See the term as part of a network, not a dead-end definition.

These branches show which concepts this term touches directly and what sits one layer beyond them.

Branch

Native Program

A program compiled directly into the validator binary rather than deployed as SBF bytecode. Native programs include the System Program, Vote Program, Stake Program, BPF Loader, and others. They have hardcoded addresses and cannot be upgraded through the normal program upgrade mechanism—they change only with validator software updates.

Branch

System Program

The built-in native program (address: 11111111111111111111111111111111) responsible for creating new accounts, transferring SOL between accounts, allocating account data space, and assigning account ownership to programs. It is the only program that can create new accounts and is invoked in nearly every transaction.

Branch

Feature Gate

The mechanism for activating protocol changes on Solana's mainnet cluster. Each feature is identified by a unique pubkey and activated when validators representing a supermajority of stake signal support by creating a feature account. Feature gates control runtime behavior changes, new syscalls, parameter adjustments, and program upgrades. This system allows gradual, stake-weighted rollout of protocol changes without hard forks.

Branch

SBF (Solana Bytecode Format)

Solana Bytecode Format—Solana's customized evolution of BPF. SBF adds Solana-specific syscalls, modifies calling conventions, disables certain eBPF instructions, and adds features like position-independent code. Programs are compiled with `cargo build-sbf` and deployed as SBF ELF binaries. SBF replaced BPF as the canonical bytecode format.

Next concepts to explore

Keep the learning chain moving instead of stopping at one definition.

These are the next concepts worth opening if you want this term to make more sense inside a real Solana workflow.

Programming Model

Native Program

A program compiled directly into the validator binary rather than deployed as SBF bytecode. Native programs include the System Program, Vote Program, Stake Program, BPF Loader, and others. They have hardcoded addresses and cannot be upgraded through the normal program upgrade mechanism—they change only with validator software updates.

Programming Model

System Program

The built-in native program (address: 11111111111111111111111111111111) responsible for creating new accounts, transferring SOL between accounts, allocating account data space, and assigning account ownership to programs. It is the only program that can create new accounts and is invoked in nearly every transaction.

Core Protocol

Feature Gate

The mechanism for activating protocol changes on Solana's mainnet cluster. Each feature is identified by a unique pubkey and activated when validators representing a supermajority of stake signal support by creating a feature account. Feature gates control runtime behavior changes, new syscalls, parameter adjustments, and program upgrades. This system allows gradual, stake-weighted rollout of protocol changes without hard forks.

Core Protocol

SBF (Solana Bytecode Format)

Solana Bytecode Format—Solana's customized evolution of BPF. SBF adds Solana-specific syscalls, modifies calling conventions, disables certain eBPF instructions, and adds features like position-independent code. Programs are compiled with `cargo build-sbf` and deployed as SBF ELF binaries. SBF replaced BPF as the canonical bytecode format.

Commonly confused with

Terms nearby in vocabulary, acronym, or conceptual neighborhood.

These entries are easy to mix up when you are reading quickly, prompting an LLM, or onboarding into a new layer of Solana.

Core Protocolbpf

BPF (Berkeley Packet Filter)

Berkeley Packet Filter—the original bytecode format used for Solana programs, inherited from Linux's eBPF. Programs written in Rust or C are compiled to BPF bytecode and executed in a sandboxed VM. BPF has been superseded by SBF on Solana but the tooling names (BPF Loader, cargo build-bpf) persist for historical reasons.

AliasBPFAliaseBPF
Related terms

Follow the concepts that give this term its actual context.

Glossary entries become useful when they are connected. These links are the shortest path to adjacent ideas.

Programming Modelnative-program

Native Program

A program compiled directly into the validator binary rather than deployed as SBF bytecode. Native programs include the System Program, Vote Program, Stake Program, BPF Loader, and others. They have hardcoded addresses and cannot be upgraded through the normal program upgrade mechanism—they change only with validator software updates.

Programming Modelsystem-program

System Program

The built-in native program (address: 11111111111111111111111111111111) responsible for creating new accounts, transferring SOL between accounts, allocating account data space, and assigning account ownership to programs. It is the only program that can create new accounts and is invoked in nearly every transaction.

Core Protocolfeature-gate

Feature Gate

The mechanism for activating protocol changes on Solana's mainnet cluster. Each feature is identified by a unique pubkey and activated when validators representing a supermajority of stake signal support by creating a feature account. Feature gates control runtime behavior changes, new syscalls, parameter adjustments, and program upgrades. This system allows gradual, stake-weighted rollout of protocol changes without hard forks.

Core Protocolsbf

SBF (Solana Bytecode Format)

Solana Bytecode Format—Solana's customized evolution of BPF. SBF adds Solana-specific syscalls, modifies calling conventions, disables certain eBPF instructions, and adds features like position-independent code. Programs are compiled with `cargo build-sbf` and deployed as SBF ELF binaries. SBF replaced BPF as the canonical bytecode format.

More in category

Stay in the same layer and keep building context.

These entries live beside the current term and help the page feel like part of a larger knowledge graph instead of a dead end.

Core Protocol

Proof of History (PoH)

A clock mechanism that cryptographically proves the passage of time between events. PoH uses a sequential SHA-256 hash chain where each output becomes the next input, creating a verifiable ordering of events without requiring consensus. The leader produces ~400,000 hashes per slot (~400ms), and any validator can verify the sequence in parallel, enabling Solana's high throughput by removing the need for validators to agree on time.

Core Protocol

Tower BFT

Solana's custom BFT consensus algorithm built on top of Proof of History. Tower BFT uses PoH as a clock to reduce communication overhead in traditional PBFT from O(n²) to O(n). Validators vote on forks with exponentially increasing lockout periods—each consecutive vote doubles the lockout, making rollbacks progressively more expensive. A fork is finalized when it reaches supermajority (66.7%+ of stake).

Core Protocol

Slot

A time window during which a designated leader validator can produce a block. Each slot lasts approximately 400 milliseconds. Slots are numbered sequentially from genesis and grouped into epochs of 432,000 slots (~2-3 days). Not every slot produces a block—a skipped slot means the leader was offline or too slow.

Core Protocol

Block

A set of entries produced by a leader during a single slot. A block contains transactions bundled into entries, each with a PoH hash proving ordering. Blocks are broken into shreds for network propagation via Turbine. Maximum block size is limited by compute units (48M CU cap per block) rather than byte size.