Pendulum focuses on security and robustness and provides memory safety through Rust. Statime (PTP) and ntpd-rs (NTP) are the two projects that constitute Pendulum.
Our mission is to create memory-safe timing protocol implementations that 1) provide reliable time synchronization, and 2) are easily extensible to accommodate future timing standards improvements.
Working with the timing community and sharing our insights and knowledge is an integral part of that mission.
Q1 2023: NTS (Network Time Security) support + audit ntpd-rs
Q2 2023: PTP default profile + NTP/PTP clock device
Q3 2023: Adoption work (ntpd-rs) and new features
ntpd-rs is an implementation of NTP completely written in Rust, with a focus on exposing a minimal attack surface. In this blog post the process of implementing a new open-source version of the Network Time Protocol is explained.
The project originates from ISRG's Prossimo, as part of their mission to achieve memory safety for the Internet's most critical infrastructure. Prossimo funded the initial development of the NTP client and server, and NTS support. The NTP initiative page on Prossimo's website tells the story.
ntpd-rs is part of Project Pendulum.
Statime is an initiative of Tweede golf, a work-in-progress implementation of the Precision Time Protocol (PTP) in Rust.
High-precision timing is part of crucial networking infrastructure. With Statime we aim to provide a memory-safe alternative for existing implementations.
The first milestones of the project were kindly co-funded by the NLnet Foundation.
Statime is part of Project Pendulum.
What ISRG has to say
Delivering solid results quickly, comes from a team that is focused on the task at hand. That definitely is an aspect of TG's work that we appreciate because it leads to impressive efficiency.
Executive Director, Internet Security Research Group
Financial stability is key to maintaining and extending the projects and growing adoption. We offer GitHub sponsoring options and are happy to talk about custom sponsoring arrangements or funding for specific features.
Blog posts on Pendulum
Implementing the Network Time Protocol (NTP) in Rust
Announcing: Statime, a Rust PTP implementation
Opdrachtgevers & partners
Do you want to learn more about Pendulum, NTP or PTP, or support our project?