2026-05-14
On 23 April, our pure-OCaml CCSDS protocol stack booted up in low Earth orbit! The project, codename Borealis, is running inside DPhi Space's ClusterGate-2 payload module on the host satellite, with end-to-end-encrypted command and control and post-quantum key rotation, all implemented in safe OCaml.
Why does OCaml matter here? Untrusted code running on a satellite is a huge security risk, and OCaml is an ideal safe language to run in space. In his ICFP 2022 keynote, KC Sivaramakrishnan looked back on the decade-long engineering effort that produced OCaml 5, the release that put safe and performant multi-threading into the OCaml runtime.
KC ended his talk speculating that OCaml 5.0 would go to the moon, due to its language features that would deliver C/Rust-like performance on demand while keeping the mathematical rigour of classic ML. Here at Parsimoni, we took his words a bit too literally :-)
Closing slide of KC Sivaramakrishnan's ICFP 2022 keynote: the arrow from OCaml 5.0 to the moon, and the metaphor that gave this post its title. Borealis's first boot on DPhi Space's mission-ops dashboard, 23 April 2026. The first time a pure-OCaml CCSDS stack ran in space!
The host satellite circles the Earth every ninety minutes or so. A few months after Virgile Robles and I hacked on this over Christmas, we (virtually) jumped around when we saw this:
2026-04-23 18:48:06 SpaceOS/Borealis (BPv7, BPSec, OTAR) by Parsimoni 2026-04-23 18:48:06 ClusterGate-2 proxy [single iteration] 2026-04-23 18:48:06 Config: scid=100, tm_vcid=0, tc_vcid=4, tm_spi=1, tc_spi=2, tm_frame_len=1115 2026-04-23 18:48:06 Session keys: EK=0x0100 AK=0x0101 active 2026-04-23 18:48:09 Telemetry health: { ... "status": "healthy" }
What is actually running
Borealis is a daemon. On both the ground and the satellite it speaks a normal client-server protocol (telemetry queries, commands and responses, OTAR rekey requests), the same shape as any production server. What is unusual is the wire underneath.
The protocol stack is a pure-OCaml implementation of CCSDS, the protocol family that links spacecraft to the ground. It covers every layer from radio framing up through Bundle Protocol and the security extensions on top; the binary formats are described as ocaml-wire codecs.
... continue reading