Ouroboros Chronos Permissionless Clock Synchroniztion via Proof of Stake paper out



It’s a really interesting read…and while the math can seem a bit foreboding, the language in the paper is very lucid and easy to follow.

Here’s my ELI5 for anyone interested:

A network is made of a bunch of different computers that can all talk to one another. Because these computer are run by different people all over the world and not just one person, they can come online or go offline as they please. There’s no way to really know when this will happen. We want anyone with a computer to be able to join the network, but we also want all of these computers to agree on what happens so it acts like one giant computer. We all need to be independent, but we also all need to all agree on what’s real! One really important agreement is the time or the ‘clock’. It’s important that all of the computers agree on the same time otherwise the giant computer is broken. We can ask each computer to look at the clock on the wall and tell us the time so we know we all agree, but what if they decide to lie or they don’t know how to read the time correctly? They could stop the giant computer or even try to break it for their own selfish reasons. How is it possible that the giant computer keeps the right time when everyone is free to do whatever they want?

The Chronos program, using some clever math, shows how the giant computer can know the correct time without using the clock on the wall and can do this even when some of the computers decide they will lie about the time, or leave the network without telling anyone, or without even knowing how many computers are on the network. Because the giant computer knows the right time, it makes sure that when a good player comes online with their own computer they are also, eventually, given the correct time and can not be fooled by the bad players telling them they have the wrong time. Bad players who tell the wrong time are eventually asked to leave. The Chronos program shows, for the first time, how a bunch of computers can all agree on the time without trusting anyone and while still being free to do and act as they want. This means the giant computer will always have the right time and keep moving even while it is made up of a bunch of different computers with different ideas about the time. This also means any new computer that joins can trust they will get the right time if they are acting in a good way.

(I’ve purposefully oversimplified; there is a lot of minutia and some clever mechanics for deriving global time… and also I’m sure I may have missed some of the essence, so anyone please feel free to add/correct if I’ve misstepped! I’d love it if the authors would participate in these convos as a lot of this stuff is so in the weeds that most are rendered eye-glazed.)