How Can I Send You Your Birthday Present, and Know That You Won’t Open it until your Birthday?
How can we properly secure things? Well, we sure make the effort so large to crack them, that no-one could afford the effort to break it. If is takes me a little bit of work to change the clock on a computer, it is probably worth it to me to do it, if there is a good reward. But if I require to purchase all the computing power in the world to change something, it is probably outwith my budget. In a blockchain world, work load becomes a key test of the security of systems.
So let’s say that I do not trust anything, and especially not you! I don’t even trust the clock on a computer or on a network (as someone may change it).
How would I send you your birthday present now, even though your birthday is three days off? I know that you will cheat and change the clock on your computer and reveal the present, so I need to stop that. And you are also sneaky enough to change the network time server clock. If I write a program to reveal an encryption key based on the time on the system, you are likely to open your present early.
I have a plan which will cost you a great deal of effort to break it.
Now I need an encrypted box with your present in in, and then I create a black box which has the encryption key in it. I now…