◇ OpenCyber Academy
Postgraduate · Chapter 11 · English

Chapter 11 — Applied project

Open, free learning for anyone who wants to protect people and technology. No account is required to read this text or its worked answers.

Chapter 11 — Applied project

Lesson map

Lesson 11 published. Map, example, EX051.

flowchart TD
  N0["Learning outcomes"]
  N1["11.1 Planning the project"]
  N2["Lab — Quorum availability from outage logs"]
  N3["11.2 Results and interpretation"]
  N4["11.3 Presenting with caveats"]
  N5["Synthesis"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5
  N5 --> EX["Worked example"]
  EX --> Q["Exercise EX051"]

Logical drawing

flowchart LR
  N0["Learning outcomes"]
  N1["11.1 Planning the project"]
  N2["Lab — Quorum availability from outage logs"]
  N3["11.2 Results and interpretation"]
  N4["11.3 Presenting with caveats"]
  N5["Synthesis"]
  N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> Q["EX051"]
[Learning outcomes]
    |
    v
[11.1 Planning the project]
    |
    v
[Lab — Quorum availability from outage logs]
    |
    v
[11.2 Results and interpretation]
    |
    v
[11.3 Presenting with caveats]
    |
    v
[Synthesis]
    |
    v
[Worked example] --> [Exercise EX051]

Learning outcomes

You will (1) plan and execute an applied evaluation; (2) measure validator availability; (3) present results with caveats.

11.1 Planning the project

For her applied project, Nadia evaluates whether the pilot's four-validator design meets its availability target of 99.5 percent over a month, given that settlement needs three of four validators to agree. She gathers synthetic outage logs for each validator and writes a read-only script that counts hours when fewer than three validators were up. She also asks whether outages at different validators overlapped, because overlapping outages are what break the quorum. The project's value lies in testing a design assumption with data rather than relying on the vendor's assurances.

Lab — Quorum availability from outage logs

"""Count hours a 3-of-4 validator quorum was unavailable from synthetic outage logs (read-only)."""
# validator: list of (start_hour, end_hour) outages within a 720-hour month
OUTAGES = {
    "v1": [(100, 104), (400, 402)], "v2": [(102, 106)],
    "v3": [(401, 403), (600, 601)], "v4": [(650, 655)],
}
HOURS, QUORUM = 720, 3

def main():
    lost = 0
    for h in range(HOURS):
        up = sum(1 for spans in OUTAGES.values() if not any(s <= h < e for s, e in spans))
        if up < QUORUM:
            lost += 1
    print(f"validators {len(OUTAGES)}; quorum {QUORUM}; unavailable hours {lost}/{HOURS}")
    print(f"availability {100 * (HOURS - lost) / HOURS:.2f}%")

if __name__ == "__main__":
    main()

Run with python3 lab_quorum.py. Verified output:

validators 4; quorum 3; unavailable hours 3/720
availability 99.58%

11.2 Results and interpretation

The lab finds 3 unavailable hours out of 720, giving 99.58 percent availability, just above the 99.5 percent target. Two of the lost hours came from overlapping outages at validators one and two, and one from overlap at validators one and three. Nadia notes that validator one appears in both overlaps. She investigates and finds that its maintenance windows were scheduled without checking other partners' plans. Results meeting a target narrowly deserve attention: a small change, such as one more overlapping outage, would have missed it. She recommends coordinated maintenance windows across partners.

11.3 Presenting with caveats

Nadia presents results to the joint operations group with caveats: one month of synthetic data, hourly resolution that may hide shorter gaps, and no measurement of degraded performance short of full outage. She recommends collecting minute-level data and repeating the analysis quarterly. The group agrees a shared maintenance calendar, so no two validators are planned to be down together. Presenting caveats honestly lets the group act on the finding without over-trusting a narrow pass. Professor Tanaka grades the project highly for linking data, design assumption and operational change.

Worked example

The quorum lab finds 3 of 720 hours unavailable (99.58 percent), both overlaps involve validator one, and partners adopt a shared maintenance calendar.

Synthetic case. The outage logs and results are synthetic.

Errors and limits

Accepting a narrow pass without examining causes misses easy improvements and hidden fragility.

Exercises

Synthesis

Testing design assumptions with data, and reporting caveats, drives practical improvements.

Continue studying — chapter 11 of 12

← Chapter 10 (draft) · Course chapter index · Chapter 12 (draft) →

Worked answers

EX051. 99.5 percent over a month.

EX052. Three of the four validators.

EX053. 99.58 percent, with 3 of 720 hours unavailable.

EX054. Validator one.

EX055. A shared maintenance calendar so no two validators are down together.