Study Guide

Besu Certified Professional: Study Besu's Two Contexts

Study Besu's dual public and permissioned contexts with decision-focused scenarios, a consensus comparison table, a QBFT and Tessera lab drill, and readiness checks for the Besu Certified Professional exam.

Updated September 202610 min readStudy GuideCert DLT
Laura Kennedy

Laura Kennedy

Cert DLT Editorial Team

Quick readiness summary: you are ready to practice under exam conditions when you can (1) identify the public versus permissioned context of any deployment description, (2) read a genesis file and predict consensus behavior, including what happens when validators stop, (3) choose between standard and flexible privacy groups for a membership change, and (4) trace a new node through every permissioning gate. For administrative details such as scheduling and exam format, rely on the Linux Foundation certification page rather than third-party summaries, and use the free practice questions to rehearse these decisions under time pressure.

Why one Besu client behaves differently in public and permissioned contexts

Besu is a single codebase serving two roles: an Ethereum execution client for public networks and a fully configurable node for permissioned chains. Consensus, privacy, and governance topics split cleanly along that line.

On public networks, Besu follows the Ethereum execution specification: it executes the chain, serves standard JSON-RPC, and depends on a separate consensus-layer client for validator duties. The operator does not choose validators, set block parameters, or decide who connects; the protocol and the wider client ecosystem define those behaviors. When you study validator-related content in this context, the correct frame is how an execution client hands over and receives validator-driven work after the proof-of-stake transition.

On permissioned networks, the operator owns these decisions through the genesis file and configuration: the consensus protocol, who may run a validator, who may connect, and whether private transactions are enabled. Features such as QBFT, Tessera privacy, and permissioning contracts only exist in this context, so make a habit with every deployment scenario you read: write down the context as your first decision, then choose tools second. Practicing that two-step on networks you build yourself trains the habit before you need it.

Matching each Besu component to the behavior it owns

A running Besu node combines the execution engine, transaction pool, JSON-RPC and WebSocket APIs, a pluggable consensus engine, optional privacy-manager integration, and observability hooks. Troubleshooting questions become tractable once you assign each symptom to the right component.

The execution core runs the EVM, maintains state, and syncs blocks; the transaction pool holds pending public transactions until they are included. The JSON-RPC and WebSocket interfaces are the operator-facing surface, grouped by function, and are meant to be explicitly restricted. Metrics and logging expose peer counts, block import rates, and consensus messages — the evidence you would cite when diagnosing a stalled network.

The consensus engine is selected per network in the genesis file (for example dev, qbft, ibft2, or clique) rather than installed separately. Privacy works differently: Besu coordinates with an external privacy manager, Tessera, over configured endpoints, and private payloads travel through that companion process rather than through the public transaction pool. Plugin interfaces allow enterprises to hook in custom identity or storage behavior at defined extension points.

Telling QBFT, IBFT 2.0, and Clique apart when operating a network

Enterprise networks usually choose between QBFT, its predecessor IBFT 2.0, and Clique proof of authority. They differ in Byzantine fault tolerance, when blocks become final, and how validator changes are proposed and accepted.

Read any Besu network from its genesis file first: the consensus protocol and its parameters are declared there, including validator lists or a validator contract. QBFT and IBFT 2.0 provide immediate finality with Byzantine tolerance — a network of N validators keeps finalizing while fewer than a third are faulty, which is why a four-validator network survives one failure but halts when a second stops. Clique is simpler to run but offers no Byzantine tolerance and finalizes only at checkpoint blocks.

Validator management also differs. In QBFT you can propose adding or removing validators through vote-based RPC calls, or manage the set via a validator smart contract; changes take effect only once enough validators agree, so a mid-life validator replacement should be planned as a sequence of coordinated proposals rather than a simultaneous restart of several validators. When comparing IBFT 2.0 and QBFT, treat IBFT 2.0 as the established predecessor that legacy networks still run in production.

ProtocolTrust modelFinality behaviorTypical fit
QBFTBFT; tolerates up to one third faulty validatorsImmediate finality once enough validators voteRecommended for enterprise permissioned networks
IBFT 2.0BFT; predecessor of QBFTImmediate finality, similar thresholdsLegacy permissioned networks still running it
CliqueProof of authority among configured signersFinality at checkpoint blocks, no BFT toleranceSimple test or signer networks
Public PoS transitionValidator set managed at the consensus layerFinality determined by the consensus clientPublic Ethereum operation as an execution client

Choosing a privacy group type when members may change later

Private transactions reach only the members of a privacy group, coordinated through Tessera. Standard privacy groups have fixed membership once created; flexible privacy groups allow members to be added afterwards.

A standard privacy group forms implicitly from the participants of the first private transaction, and its membership is fixed: no later transaction extends it. A flexible (bespoke) privacy group is created deliberately with a privacy group identifier and an initial member list, and new members can be added while the group lives. Distinguishing the two matters wherever network membership is expected to grow, which describes most consortium designs, and it changes how you plan contract state sharing.

Scenario: three banks have traded privately for months, and a supplier must now join the same working group. The tempting mistake is to hand the supplier's Tessera details to the existing participants, assuming the group grows automatically. The better decision is to recognize the group is a standard one with locked membership, then either create a flexible privacy group for the expanded membership or plan a deliberate state-sharing and migration path. The choice determines whether the supplier can read prior private state at all, which is the whole point of the integration.

Debugging a healthy new node that still has no permitted peers

Permissioning separates network admission from validation and transacting. A new node can be technically healthy yet isolated if it is missing from the node allowlist — whether that lives in onchain permissioning contracts or local configuration.

Besu supports layered admission control: onchain permissioning stores node and account allowlists in smart contracts managed through governance RPC calls, while file-based permissioning enforces allowlists locally in configuration. Discovery is not admission — finding a bootnode does not mean peers will accept connections from an unallowlisted node. Account permissioning then governs who may send transactions, which is a distinct question from which nodes may join the peer-to-peer network.

Scenario: an operator launches a new node with the correct genesis file and bootnode list, sees zero peers in a permissioned network, and repeatedly restarts the node while suspecting networking. The better decision is to walk the admission chain in order: confirm the node's enode identity is recorded in the permissioning contracts or local allowlist, confirm bootnode connectivity, and only then investigate TLS or firewall settings. The distinction matters because each gate fails differently, and restarting a node that is permitted by nothing cannot fix it.

A lab drill that makes consensus, privacy, and observability concrete

Build a small QBFT network with privacy enabled in an isolated lab, watch its metrics, and deliberately stop validators. Observing where finality and privacy boundaries move teaches what configuration reading alone cannot.

Exercise: on an isolated machine, deploy a four-validator QBFT network in containers plus two Tessera nodes, send a private transaction between two members and a public transaction from a third, then stop one validator and later a second. Expected observations: with one validator stopped, blocks keep finalizing; stopping a second halts finality because the required threshold can no longer be reached. In the logs, find the privacy group creation, the privacy group identifier in transaction receipts, and confirm the third member cannot read the private payload.

Extend the drill into performance: enable Prometheus-format metrics, watch block import and peer counts while a validator is down, and experiment with data-retention settings such as pruning on a separate throwaway node, noting what historical access you lose. Sizing storage and watching sync behavior on a disposable copy of the network builds deployment judgment far better than rereading configuration references, and the same lab can be reused for every scenario in this guide.

  • Rubric item: explain why one stopped validator is tolerated but two are not, in terms of the fault-tolerance threshold.
  • Rubric item: locate the privacy group ID in a receipt and state which Tessera nodes hold the private payload.
  • Rubric item: name the metrics you watched — peer count, block import, validator status — to diagnose the halt.
  • Self-check: score each item 0-2; treat a total below 4 as a signal to redo the drill, not as a pass or fail prediction.

Securing enterprise interfaces and sequencing your final weeks

Security topics concentrate on signing-key handling, restricting JSON-RPC exposure, TLS between Besu, Tessera, and clients, and plugin-based enterprise identity. Finish preparation by rehearsing decisions rather than rereading notes.

In an enterprise node, the JSON-RPC interface is a privileged surface: enable only the API groups a client needs, bind it away from public interfaces, and use host allowlists to block rebinding attacks. Traffic between Besu and Tessera, and between clients and RPC endpoints, can be protected with TLS using trusted certificates. Signing keys for validators and transaction senders need explicit custody decisions — a file-based keystore is the default arrangement, not a complete security strategy.

Identity integration closes the loop: Besu's plugin API lets enterprises replace default behaviors, for example by plugging in an enterprise key-management or authentication flow, which is why integration questions hinge on identifying which extension point a described change would use. When studying, name the extension point explicitly for each enterprise integration you read about, then check how it interacts with permissioning and privacy components instead of treating the three as isolated features.

  • Weeks 1-2: draw one permissioned network end to end, label which component owns each behavior, and rebuild it from a genesis file.
  • Week 3: run the privacy and permissioning scenarios from this guide as written decisions, not as reading.
  • Week 4: take the free practice set timed, redo any missed decision in the lab, and repeat the readiness checks below.
  • Check 1: given a deployment description, name the context (public vs permissioned) and consensus protocol without notes.
  • Check 2: given a membership change, choose standard versus flexible privacy groups and justify the state consequences.
  • Check 3: trace a new node from launch to permitted peers, naming each admission gate in order.

References and further reading

Use these references to explore the concepts and check the latest information from the relevant organizations.

Continue your preparation

FAQ

Frequently Asked Questions

Practical answers to help you apply the guidance for Besu Certified Professional.

Should I memorize Besu command-line flags for the BCP?
Learn what each major flag decides — whether privacy is enabled, which consensus protocol runs, which APIs are exposed — rather than exact syntax. Flags are easier to recall once attached to the decision they encode, and lab drills make them stick faster than flashcards do.
Do I need Tessera running to study the privacy topics?
Yes. Besu handles private transactions by coordinating with Tessera, so a two-node setup with Tessera is the smallest faithful lab. Without it you can read about privacy groups, but you cannot observe the Tessera interaction that the concepts actually describe.
Does Besu itself run validators on public Ethereum?
No. Besu is an execution client; validator duties on public proof-of-stake networks belong to the consensus layer's client. Keeping that separation clear prevents confusion between public validator operation and permissioned-network validator management, which follow completely different rules.
What score on practice questions means I am ready?
Treat scores as learning milestones, not pass predictions. If you can explain why each distractor is wrong for the specific scenario — not just which option is right — your self-check is doing its job regardless of the raw number.
IBFT 2.0 or QBFT — which should I focus on?
Both. New permissioned deployments favor QBFT, but legacy networks still run IBFT 2.0, so learn to recognize each from a genesis file and compare their fault thresholds and validator management before deciding how much depth each deserves in your plan.

Keep Reading

Related Study Guides

Explore related guides and preparation topics.