> > Ok... 'time' on the blockchain could be 'gamed' ... but with great > difficulty. Unfortunately not: miners have in the past routinely gamed the timestamp in order to use it as an extra nonce and squeeze some more gigahashes out of their hardware/pool. Also remember that currently the chain could be dominated by a coalition of just two pools. > An application presented with a fake blockchain can use > quite a few heuristics to test the 'validity' of the block chain. > The app cannot tell if it was given a truncated chain. You could keep such an app stuck in the past forever. This is often a problem. > Reliable 'time' has been impossible up until now - because you need to > trust the time source, and that can always be faked. Using the > blockchain as an approximate time source gives you a world wide > consensus without direct trust of any player. > Much though I hate to be a party pooper, you could currently get Bitcoin-level trusted time by just polling at least two or three independent servers e.g. google.com, baidu.cn, yandex.ru (they all serve time via HTTPS headers). If we crack the mining decentralisation problem then this argument becomes a lot stronger, but for now ...... > So if this presumption is correct, then we can now build time capsule > applications that can not be tricked into exposing their contents too > early by running them in a virtual environment with the wrong system time. If you have a tamper resistant execution environment (TXT, SGX, Flicker etc) then yes. However trusted execution environments sometimes have tamper resistant clocks as well for exactly this reason. So whether this technique makes sense depends a lot on the details of your configuration, I think.