Index Projects Blog

Trustless Timelock Encryption using Cosmological Clockwork

2024-03-15

I recently read Cloudflare's blog post about their implementation of timelock encryption through a "league of entropy" that promises not to release decryption keys before a certain time. It's a cool idea, but it fundamentally relies on you trusting the member organisations. I started thinking about physically based methods of timelock encryption that would not rely on human trust.

This brought me to the idea of using observations of cylical yet discontinuously predictable processes that occur in the universe. Someone could observe the state of an object that they knew would perfectly repeat over a period of time and use that state as an encryption key. Someone who wanted to decrypt the data would have to wait for that point in the cycle to occur again so that they could reobserve and derive the key.

This observed object would need to fulfil the following properties:

  • It would need to return to a previous state, or a state that is predictable from a certain state, under a predictable time period.
  • But that state must not be observable or predictable in the intervening period - it must be discontinuously predictable.
  • It must be hard enough to observe that it isn't seen by wide-field surveys.
  • But would preferably be easy enough to observe that you don't need a prohibitively expensive telescope.
  • The time period must be useful - on the order of months or years, not millennia or minutes.
  • It should be possible to calculate sufficient entropy to seed a viable encryption key, either as one observation or as a combination of many.

I've found some candidates, but I don't think any of them fulfil all of the requirements. To be clear, I am neither an astrophysicist nor a cryptographer, and this is not particularly well researched - take this with a grain of salt.

Exoplanet transits

One way of detecting exoplanets is to observe how the brightness of a star dims at a certain predictable interval.

Diagram of how transiting exoplanets reduce a star's observed brightness

An exoplanet transit [0]

This fulfils a lot of the properties well. It is predictable - planetary orbits are generally stable - and it is very difficult to measure the state between transits. It may be possible with the radial velocity method, but that only works with very large objects - there should be an equillibrium where transit is viable but the radial velocity is not, although technological differences may cause issues here. There is also quite a wide range of planetary orbital periods - from days to centuries - which makes them more flexible, although it's worth considering that lower orbital periods are much easier to detect.

Exoplanets are very difficult to find - there have been just 5600 confirmed discoveries. The main issue with this method, as far as I can tell, is just how difficult it would be to find an exoplanet, particularly one that hasn't been found yet. Additionally, verifying that it would actually be an exoplanet and finding the orbital period would require waiting for an entire cycle to complete.

Binary system eclipses

Binary systems, when inclined towards Sol, will undergo eclipses where one star obscures the other. Sometimes one star will be completely obscured. Perhaps the spectral data (separated out via blueshift) of one star could be observed just before it's obscured and used to create the encryption key?

It seems that the longest binary system eclipses[1][2] are around 5-10 years, and they're very rare, with most being significantly shorter.

Cepheid variables

Cepheid variables are the textbook predictable, repeating objects of the cosmos. Their direct relationship between luminosity and pulsation period makes them invaluable for measuring cosmic distances.

Chart of a continous, sin-like brightness curve

The pulsation is, unfortunately, continuous and predictable - a small amount of data at any point allows for extrapolation into the far future.

Exoplanet wobble/radial velocity with a highly elliptical orbit

There's another method of detecting exoplanets - the radial velocity method - which relies on the fact that the gravitational influence of large planets causes stars to "wobble". Perhaps, if a large planet were in a highly elliptical orbit, the wobble would only be detectable at certain times?

The wobble is usually detected through redshift/blueshift data. It's quite difficult to get data on this, but the combination of the radial velocity method being even more difficult than the transit method and it requiring a rather esoteric orbital arrangement makes it unlikely to work - as far as I can tell. I'm not an astronomer!

Solar conjunction

Information about any random star could be taken shortly before it is obscured by the sun. This would prevent it from being viewed until it was no longer obscured. This may be the most practical, but it would only work for short periods.

Conclusion

While I doubt that this will ever become a practical method of timelock encryption, it's an interesting thing to consider.