Received: from sog-mx-3.v43.ch3.sourceforge.com ([172.29.43.193] helo=mx.sourceforge.net) by sfs-ml-1.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1XAclW-0003O4-AI for bitcoin-development@lists.sourceforge.net; Fri, 25 Jul 2014 10:30:18 +0000 Received-SPF: pass (sog-mx-3.v43.ch3.sourceforge.com: domain of gmail.com designates 209.85.218.47 as permitted sender) client-ip=209.85.218.47; envelope-from=mh.in.england@gmail.com; helo=mail-oi0-f47.google.com; Received: from mail-oi0-f47.google.com ([209.85.218.47]) by sog-mx-3.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128) (Exim 4.76) id 1XAclV-0003tN-1k for bitcoin-development@lists.sourceforge.net; Fri, 25 Jul 2014 10:30:18 +0000 Received: by mail-oi0-f47.google.com with SMTP id x69so3178058oia.34 for ; Fri, 25 Jul 2014 03:30:11 -0700 (PDT) MIME-Version: 1.0 X-Received: by 10.60.134.136 with SMTP id pk8mr20914322oeb.81.1406284211498; Fri, 25 Jul 2014 03:30:11 -0700 (PDT) Sender: mh.in.england@gmail.com Received: by 10.76.35.234 with HTTP; Fri, 25 Jul 2014 03:30:11 -0700 (PDT) In-Reply-To: <53D1AF6C.7010802@gmail.com> References: <53D1AF6C.7010802@gmail.com> Date: Fri, 25 Jul 2014 12:30:11 +0200 X-Google-Sender-Auth: cezLy-c33Vajke1RywROu6fN8IA Message-ID: From: Mike Hearn To: Ron OHara Content-Type: multipart/alternative; boundary=047d7b471c2ee1336f04ff020e8c X-Spam-Score: -0.5 (/) X-Spam-Report: Spam Filtering performed by mx.sourceforge.net. See http://spamassassin.org/tag/ for more details. -1.5 SPF_CHECK_PASS SPF reports sender host as permitted sender for sender-domain 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (mh.in.england[at]gmail.com) -0.0 SPF_PASS SPF: sender matches SPF record 1.0 HTML_MESSAGE BODY: HTML included in message 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature X-Headers-End: 1XAclV-0003tN-1k Cc: Bitcoin Dev Subject: Re: [Bitcoin-development] Time X-BeenThere: bitcoin-development@lists.sourceforge.net X-Mailman-Version: 2.1.9 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 Jul 2014 10:30:18 -0000 --047d7b471c2ee1336f04ff020e8c Content-Type: text/plain; charset=UTF-8 > > 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. --047d7b471c2ee1336f04ff020e8c Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
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 no= nce and squeeze some more gigahashes out of their hardware/pool.

Also remember that currently the chain could be dominat= ed by a coalition of just two pools.
=C2=A0
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 tr= uncated chain. You could keep such an app stuck in the past forever. This i= s often a problem.
=C2=A0
Reliable 'time' has= been impossible up until now - because you need to
trust the time source, and that can always be faked. =C2=A0Using 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 Bit= coin-level trusted time by just polling at least two or three independent s= ervers e.g. google.com, baidu.cn, yandex.ru =C2=A0 = =C2=A0(they all serve time via HTTPS headers).

If we crack the mining decentralisation problem then th= is argument becomes a lot stronger, but for now ......
=C2=A0
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.<= /blockquote>

If you have a tamper resistant execution en= vironment (TXT, SGX, Flicker etc) then yes. However trusted execution envir= onments sometimes have tamper resistant clocks as well for exactly this rea= son. So whether this technique makes sense depends a lot on the details of = your configuration, I think.
--047d7b471c2ee1336f04ff020e8c--