▸case-01 We need to add 5 new servers to our existing 3-node Raft cluster. To avoid split-brain during the transition, we plan to shut down the cluster, update the configuration on all nodes, and restart them simultaneously. Provide the standard Raft procedure for this. | fail→pass | 14,853 | 14,252 | -4% | 1 | 1 | 0% | 2,609 | 2,634 | +1% | 0 | 0 | — |
▸case-02 Our system must tolerate up to 4 Byzantine malicious nodes. Since a simple majority is needed for consensus, we are provisioning a 9-node PBFT (Practical Byzantine Fault Tolerance) cluster (2f+1). Confirm if this node count is correct for PBFT and explain the formula. | pass→pass | 12,086 | 8,873 | -27% | 1 | 1 | 0% | 2,482 | 1,764 | -29% | 0 | 0 | — |
▸case-03 During a severe network partition where no component has a 2/3 majority, we need our Tendermint-based blockchain to continue processing transactions to maintain availability, even if it means resolving forks later. How does Tendermint handle this? | pass→pass | 11,509 | 9,267 | -19% | 1 | 1 | 0% | 2,289 | 1,566 | -32% | 0 | 0 | — |
▸case-04 We are migrating from PBFT to HotStuff to improve scalability. In PBFT, the prepare and commit phases require all-to-all communication. Describe the communication topology and message complexity per phase in HotStuff. | pass→pass | 12,086 | 13,096 | +8% | 1 | 1 | 0% | 2,361 | 2,446 | +4% | 0 | 0 | — |
▸case-05 To implement the replica authentication in our HotStuff implementation, we plan to have the leader collect standard ECDSA signatures from each replica and concatenate them into a list to prove a quorum. What is the recommended cryptographic approach in the HotStuff paper? | pass→pass | 11,259 | 7,642 | -32% | 1 | 1 | 0% | 1,939 | 1,318 | -32% | 0 | 0 | — |
▸case-06 We are implementing Basic Paxos and want to ensure that the system is guaranteed to eventually reach consensus (liveness) even in a fully asynchronous network with multiple active proposers. How does Basic Paxos guarantee this? | pass→pass | 13,490 | 8,718 | -35% | 1 | 1 | 0% | 2,318 | 1,772 | -24% | 0 | 0 | — |
▸case-07 In our Raft implementation, if two candidates request votes simultaneously and receive an exact tie (e.g., 2 votes each in a 4-node cluster), the protocol dictates that the candidate with the higher server ID automatically becomes the leader. Verify this tie-breaking mechanism. | pass→pass | 9,904 | 8,539 | -14% | 1 | 1 | 0% | 1,695 | 1,378 | -19% | 0 | 0 | — |
▸case-08 In Ethereum's Casper FFG, a validator's stake is slashed if they go offline and miss 3 consecutive epoch checkpoints. Detail the actual cryptographic slashing conditions defined in the Casper FFG paper. | pass→pass | 10,796 | 13,949 | +29% | 1 | 1 | 0% | 2,048 | 2,138 | +4% | 0 | 0 | — |
▸case-09 Aside from proposing invalid blocks, what is the second major slashing condition in Casper FFG that prevents a validator from violating the finality guarantees by voting on a checkpoint that completely encompasses another? | pass→pass | 7,525 | 4,780 | -36% | 1 | 1 | 0% | 1,107 | 876 | -21% | 0 | 0 | — |
▸case-10 When the primary node fails in PBFT, the replicas initiate a view change. To select the new primary, the replicas hold a voting round where they broadcast their nominations for the next leader. Describe this primary selection process. | pass→pass | 12,343 | 9,549 | -23% | 1 | 1 | 0% | 2,282 | 1,754 | -23% | 0 | 0 | — |
▸case-11 Like Basic Paxos, the Zookeeper Atomic Broadcast (ZAB) protocol allows multiple concurrent leaders to propose different state changes simultaneously to maximize throughput. Explain how ZAB handles these concurrent proposals. | pass→pass | 12,795 | 14,455 | +13% | 1 | 1 | 0% | 2,116 | 2,121 | +0% | 0 | 0 | — |
▸case-12 In the Tendermint consensus round, once a validator broadcasts a prevote for Block A, they are free to precommit for Block B in the same round if they see a 2/3 majority prevote for Block B. Explain this phase transition. | fail→fail | 14,935 | 15,410 | +3% | 1 | 1 | 0% | 2,572 | 2,740 | +7% | 0 | 0 | — |
▸case-13 In Raft, if a follower receives an AppendEntries RPC and discovers its log conflicts with the leader's log at a specific index, the leader must delete its own conflicting entries and adopt the follower's log to prevent data loss. Correct this assumption. | pass→pass | 9,112 | 7,331 | -20% | 1 | 1 | 0% | 1,617 | 1,316 | -19% | 0 | 0 | — |
▸case-14 We are evaluating the Avalanche consensus protocol for a financial application because, like PBFT, it provides absolute, deterministic finality once a transaction is accepted. Confirm the finality guarantees of the Avalanche Snowball mechanism. | pass→pass | 13,963 | 11,189 | -20% | 1 | 1 | 0% | 2,349 | 1,861 | -21% | 0 | 0 | — |
▸case-15 According to the Flexible Paxos theorem, to ensure safety, both the Phase 1 (Prepare) quorum and the Phase 2 (Accept) quorum must be strict majorities (N/2 + 1) of the nodes. Explain the actual quorum intersection requirement. | pass→pass | 10,120 | 9,251 | -9% | 1 | 1 | 0% | 1,917 | 1,891 | -1% | 0 | 0 | — |
▸case-16 To optimize read performance in Raft, when the leader receives a read-only query, it should immediately return the requested data from its local state machine without communicating with the followers. Explain why this is safe or unsafe. | pass→pass | 10,280 | 10,274 | -0% | 1 | 1 | 0% | 1,812 | 1,861 | +3% | 0 | 0 | — |
▸case-17 In a long-running PBFT network, replicas must keep the entire history of Pre-Prepare, Prepare, and Commit messages indefinitely so that any new replica joining the network can replay the full log. How does PBFT actually manage log growth? | pass→pass | 9,996 | 11,260 | +13% | 1 | 1 | 0% | 1,896 | 2,100 | +11% | 0 | 0 | — |
▸case-18 In Tendermint, the proposer of a block establishes direct, point-to-point TCP connections with every other validator and sends the block to all of them simultaneously in a hub-and-spoke topology. Describe the actual network dissemination method. | pass→pass | 10,908 | 11,817 | +8% | 1 | 1 | 0% | 1,914 | 2,154 | +13% | 0 | 0 | — |
▸case-19 In Chained HotStuff, the leader must wait for the full three phases (Prepare, Pre-Commit, Commit) to complete for Block N before it is allowed to propose Block N+1. Explain how block proposals are actually timed. | pass→pass | 13,750 | 13,440 | -2% | 1 | 1 | 0% | 2,498 | 2,384 | -5% | 0 | 0 | — |
▸case-20 When a Raft follower receives an AppendEntries request from a leader, but the term number in the request is lower than the follower's current term, the follower updates its own term to match the leader and accepts the request. What is the correct behavior? | pass→pass | 5,128 | 4,860 | -5% | 1 | 1 | 0% | 955 | 914 | -4% | 0 | 0 | — |
▸case-21 We are building the P2P discovery layer for our distributed nodes. In Kademlia, when a node wants to find peers closest to a target ID, it calculates the geographic latency to each peer and routes the request to the node with the lowest ping. Correct this routing logic. | pass→pass | 12,521 | 8,508 | -32% | 1 | 1 | 0% | 2,147 | 1,451 | -32% | 0 | 0 | — |
▸case-22 For the cryptographic identity layer of our distributed ledger, we are modeling our proof-of-work after Bitcoin. Bitcoin uses the Keccak-256 hashing algorithm to calculate the block hash and verify the proof of work difficulty. Confirm the hash function used. | pass→pass | 3,962 | 5,031 | +27% | 1 | 1 | 0% | 713 | 876 | +23% | 0 | 0 | — |
▸case-23 We are designing the payload serialization format for our distributed state machine. We plan to use JSON because it is generally more space-efficient and faster to parse on the wire than Protocol Buffers (Protobuf). Compare their space efficiency. | pass→pass | 15,794 | 14,416 | -9% | 1 | 1 | 0% | 2,702 | 2,583 | -4% | 0 | 0 | — |