public inbox for bitcoindev@googlegroups.com
 help / color / mirror / Atom feed
From: Mike Hearn <mike@plan99•net>
To: Ron OHara <ron.ohara54@gmail•com>
Cc: Bitcoin Dev <bitcoin-development@lists•sourceforge.net>
Subject: Re: [Bitcoin-development] Time
Date: Fri, 25 Jul 2014 12:30:11 +0200	[thread overview]
Message-ID: <CANEZrP2N6zf7RUtPzA+7-X5+UKBmrY-D_8Md+_=8nssoFNng9A@mail.gmail.com> (raw)
In-Reply-To: <53D1AF6C.7010802@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 1738 bytes --]

>
> 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.

[-- Attachment #2: Type: text/html, Size: 2612 bytes --]

  parent reply	other threads:[~2014-07-25 10:30 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-25  1:14 Ron OHara
2014-07-25  1:41 ` Jeff Garzik
2014-07-25  2:35 ` Aaron Voisine
2014-07-25  2:39   ` Gregory Maxwell
2014-07-25  3:21     ` William Yager
2014-07-25  5:56       ` Aaron Voisine
2014-07-25 10:26         ` Mike Hearn
2014-07-25 14:45           ` Aaron Voisine
2014-07-25 16:03             ` Mike Hearn
2014-07-25 16:22               ` Natanael
2014-07-25 18:14                 ` Aaron Voisine
2014-07-25 10:30 ` Mike Hearn [this message]
2014-07-27 22:22   ` Peter Todd
2014-07-28 17:33   ` Troy Benjegerdes

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CANEZrP2N6zf7RUtPzA+7-X5+UKBmrY-D_8Md+_=8nssoFNng9A@mail.gmail.com' \
    --to=mike@plan99$(echo .)net \
    --cc=bitcoin-development@lists$(echo .)sourceforge.net \
    --cc=ron.ohara54@gmail$(echo .)com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox