Skip to content

Latest commit

 

History

History
151 lines (107 loc) · 6.4 KB

ecosystem.md

File metadata and controls

151 lines (107 loc) · 6.4 KB

The Roughtime ecosystem

File ecosystem.json contains the configurations of a growing list of Roughtime servers. This file contains a brief description of how each server is provisioned. Refer to README.md for information about adding your server to the list.

Cloudflare-Roughtime-2

Cloudflare's Roughtime service aims for high availability and low latency. The announcement provides details about how we set up the service. Briefly, the domain for Roughtime resolves to an address in Cloudflare's anycast IP range (both IPv4 and IPv6 are supported), so the response may come from any one of their points of presence. The implementation is based on Google's Go code, but has been updated to support both Google-Roughtime and IETF Roughtime (draft08). This service is currently in beta. As such the root key is subject to change. It will be updated here and in the developer docs. You can also obtain it over DNS; see the docs for details.

int08h-Roughtime

A public Roughtime server operated by the author of the Rust and Java implementations of Roughtime.

The server runs the latest release of roughenough on Digital Ocean droplets in their US NYC datacenter. The server supports both the Google-Roughtime and IETF-Roughtime protocols. Time is sourced from Google's public NTP servers, Amazon's public NTP servers, and NIST's public NTP servers.

Available at roughtime.int08h.com:2002 its public key is stable and the service is available 24/7, modulo a few seconds downtime for maintenance.

The int08h instance keeps the "rough" in Roughtime: it smears leapseconds and always reports a 'radius' (RADI tag) of 2 seconds to account for the resulting uncertainty. The int08h Roughtime instance will never set the DUT1, DTAI, or LEAP tags as this level of precision is unnecessary.

The public key is available in a blog post at int08h, and the DNS TXT record of roughtime.int08h.com:

$ dig -t txt roughtime.int08h.com

roughtime.se

roughtime.se provides a stratum 1 Roughtime service. It runs the roughtimed implementation. Hosting is provided by STUPI AB. The server is located in Stockholm, Sweden and is directly connected to atomic clocks that track the UTC timescale. The aim is for the server to be compatible with the latest published IETF Roughtime draft. The server is connected to high-availability power and network infrastructure in a datacenter, however no availability is guaranteed. The public key is available on the server's web site, and as a DNS TXT record:

dig TXT roughtime.se

time.txryan.com

time.txryan.com runs on a stratum 2 NTP server.

The clock is synchronized with authenticated NTP connections to NIST (National Institute of Standards and Technology), and the Canadian equivalent, NRC (National Research Council Canada), which are both directly connected to atomic sources (caesium fountains and/or hydrogen masers). There are also multiple unauthenticated stratum 1 upstreams, maintained by GNSS (GPS + Galileo + GLONASS). The accuracy is typically within +/- 50 microseconds.

The Roughtime service is accessible at time.txryan.com:2002. The public key is available on time.txryan.com's website, or through a DNS TXT lookup.

dig TXT time.txryan.com +short

The Roughtime service is powered by Google's Go reference implementation.

No uptime is guaranteed, but the server is constantly monitored for accuracy and availability. From time to time, there may be a few minutes of downtime for server maintenance.

Inactive servers

Chainpoint-Roughtime

This service is unreachable as of 2024-07-01.

The Chainpoint Roughtime service is hosted at roughtime.chainpoint.org:2002. The public key, and information about running the Docker container we've created for roughenough, is provided at https://github.com/chainpoint/chainpoint-roughtime.

In addition to the Github repository README.md, the long-term public key in Hexadecimal form is also provided as a DNS TXT record accessible with:

$ dig -t txt roughtime.chainpoint.org

The Chainpoint Roughtime service is in open beta, but aims to operate with high-availability. The roughenough Rust implementation of Roughtime is currently running on two servers in the Google Compute Engine cloud (US-EAST4), both synced to Google's internal high accuracy NTP service. These servers exist behind a public UDP load-balancer and a Cloudflare DNS A record.

Cloudflare-Roughtime

Deprecation notice: The Cloudflare-Roughtime server will be shut down on 2024-07-01. Please update your client to use Cloudflare-Roughtime-2 instead.

Google-Sandbox-Roughtime

This service is unreachable as of 2024-07-01.

This is Google's proof-of-concept server. It is experimental and does not, as of yet, provide uptime guarantees. The root public key is published here.

Mixmin Roughtime

This service is unreachable as of 2024-07-01.

Mixmin's Roughtime service resides on a dedicated Raspberry Pi running Arch Linux. The Pi has an Adafruit GPS module fitted and uses it to sync the system clock via NTP. It uses Adam Langley's reference implementation of Roughtime, written in Go and is compiled locally on the Raspberry Pi. The Roughtime server was announced on the mailing list, archived here. The announcement includes the server details.