ELI5: Explain Like I'm 5

Proof of elapsed time

Proof of elapsed time is like a secret code that helps you prove that you have waited for a certain amount of time without actually wasting that time waiting. Just like how you can use a timer to measure how long it takes to bake a cake, you can use something called an "enclave" and a "trusted platform module" (TPM) to measure how long it takes for a computer program to run.

Imagine you have a secret recipe for a cake that you want to give to your friend, but you don't want anyone else to see it. So you put the recipe in a locked box and give the box to your friend. Your friend can't open the box without a key, which only you have. Similarly, an enclave is like a locked box where secret information can be stored.

Now suppose you want to prove to your mom that you actually waited for 30 minutes for the cake to bake instead of just setting a timer and walking away. You could ask your mom to stand next to the oven and watch the cake bake for 30 minutes, but that would be boring for both of you. Instead, you could write down the starting time when you put the cake in the oven, and then put a seal on the oven door that can only be broken after 30 minutes have elapsed. When the time is up, you can break the seal and show your mom that you waited the full amount of time.

In the same way, when a computer program wants to prove that it has waited for a certain amount of time, it can use a TPM to "seal" a secret message inside an enclave. This message can only be revealed after a certain amount of time has elapsed. The program then gives the sealed message to someone who wants to verify that the program waited the full amount of time, without actually having to wait themselves. The verifier can use the TPM to check that the seal was really created at the beginning of the time period, and that it can only be opened after the correct amount of time has passed.

So, proof of elapsed time is like a special way of showing that you waited the whole time you were supposed to, without actually having to waste that time. Just like how you can put a seal on a cake to prove you waited for it to bake, a computer program can use an enclave and TPM to seal a message and prove it waited for a certain amount of time.
Related topics others have asked about: