[Bitcoin-development] Time

2014-07-24 Thread Ron OHara

-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

I thought I should shortcut my research by asking a direct question here.

As I understand it, the blockchain actually provides an extra piece of
reliable data that is not being exploited by applications.

Which data?  The time.   In this case 'the time' as agreed by 50% of
the participants, where those participants have a strong financial
incentive to keep that 'time' fairly accurate. (+/- about 10 minutes)

Is this a reasonable understanding of 'time'? ... aka timestamps on the
block

Ok... 'time' on the blockchain could be 'gamed' ... but with great
difficulty. An application presented with a fake blockchain can use
quite a few heuristics to test the 'validity' of the block chain.
It can review the usual cryptographic proofs, and check that difficulty
is growing/declining only in a realistic manner up to the most recent
block. Even use some arbitrary test like difficulty  10,000,000,000 
... on the presumption that any less means that the Bitcoin system has
failed massively from where it currently is and has become an unreliable
time source.

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.

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.

Is this right? or did miss I something fundamental?

Ron

- -- 
public identify: https://www.onename.io/ron_ohara
-BEGIN PGP SIGNATURE-
Version: GnuPG v2.0.20 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBAgAGBQJT0a9sAAoJEAla1VT1+xc2ONQH/0R09guSNNCxP36KziAjfcBc
JEhxMpIlqTTYEvNXaBmuPy4BN+IZQ9izgrW/cvlEJJNMmc5/VIBk83WZltmDwcKl
oo4MIdmp6vz984GWToyyLcLSEDT60UE9Hhe+U9RyF5J9kwbN8Uy4ozUHhFVP/0EL
q4O1V6ggPbHWgH4q8m8E9qWOlIFXCDgCjxpL8Ptxsk+UlBq2NWMiwTz6Tbc9KOB4
hOffzXCZV+DkwjFZD2Rc4rHaxw1yLuYr7DzmzwZbhRQclv9tZt9hoVaAT+RQpE1k
X7pi+zVzeMMng0bzUv8t/G+gq0gaelyV41MJQRparEXhnuYkgU7rAPKIQEG8qpc=
=T5fw
-END PGP SIGNATURE-


--
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Time

2014-07-24 Thread Aaron Voisine
The upcoming release of breadwallet uses the height of the blockchain to
enforce timed pin code lockouts for preventing an attacker from
quickly making multiple pin guesses. This prevents them changing the
devices system time to get around the lockout period.

Aaron

On Thursday, July 24, 2014, Ron OHara ron.ohar...@gmail.com wrote:


 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 I thought I should shortcut my research by asking a direct question here.

 As I understand it, the blockchain actually provides an extra piece of
 reliable data that is not being exploited by applications.

 Which data?  The time.   In this case 'the time' as agreed by 50% of
 the participants, where those participants have a strong financial
 incentive to keep that 'time' fairly accurate. (+/- about 10 minutes)

 Is this a reasonable understanding of 'time'? ... aka timestamps on the
 block

 Ok... 'time' on the blockchain could be 'gamed' ... but with great
 difficulty. An application presented with a fake blockchain can use
 quite a few heuristics to test the 'validity' of the block chain.
 It can review the usual cryptographic proofs, and check that difficulty
 is growing/declining only in a realistic manner up to the most recent
 block. Even use some arbitrary test like difficulty  10,000,000,000
 ... on the presumption that any less means that the Bitcoin system has
 failed massively from where it currently is and has become an unreliable
 time source.

 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.

 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.

 Is this right? or did miss I something fundamental?

 Ron

 - --
 public identify: https://www.onename.io/ron_ohara
 -BEGIN PGP SIGNATURE-
 Version: GnuPG v2.0.20 (GNU/Linux)
 Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

 iQEcBAEBAgAGBQJT0a9sAAoJEAla1VT1+xc2ONQH/0R09guSNNCxP36KziAjfcBc
 JEhxMpIlqTTYEvNXaBmuPy4BN+IZQ9izgrW/cvlEJJNMmc5/VIBk83WZltmDwcKl
 oo4MIdmp6vz984GWToyyLcLSEDT60UE9Hhe+U9RyF5J9kwbN8Uy4ozUHhFVP/0EL
 q4O1V6ggPbHWgH4q8m8E9qWOlIFXCDgCjxpL8Ptxsk+UlBq2NWMiwTz6Tbc9KOB4
 hOffzXCZV+DkwjFZD2Rc4rHaxw1yLuYr7DzmzwZbhRQclv9tZt9hoVaAT+RQpE1k
 X7pi+zVzeMMng0bzUv8t/G+gq0gaelyV41MJQRparEXhnuYkgU7rAPKIQEG8qpc=
 =T5fw
 -END PGP SIGNATURE-



 --
 Want fast and easy access to all the code in your enterprise? Index and
 search up to 200,000 lines of code with a free copy of Black Duck
 Code Sight - the same software that powers the world's largest code
 search on Ohloh, the Black Duck Open Hub! Try it now.
 http://p.sf.net/sfu/bds
 ___
 Bitcoin-development mailing list
 Bitcoin-development@lists.sourceforge.net javascript:;
 https://lists.sourceforge.net/lists/listinfo/bitcoin-development



-- 

Aaron Voisine
breadwallet.com
--
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Time

2014-07-24 Thread Jeff Garzik
Miners are free to set the block's timestamp to whatever they please,
within a certain +/- time window.  Time might even go backwards a tiny
bit from the last block to the next block.


On Thu, Jul 24, 2014 at 9:14 PM, Ron OHara ron.ohar...@gmail.com wrote:

 -BEGIN PGP SIGNED MESSAGE-
 Hash: SHA1

 I thought I should shortcut my research by asking a direct question here.

 As I understand it, the blockchain actually provides an extra piece of
 reliable data that is not being exploited by applications.

 Which data?  The time.   In this case 'the time' as agreed by 50% of
 the participants, where those participants have a strong financial
 incentive to keep that 'time' fairly accurate. (+/- about 10 minutes)

 Is this a reasonable understanding of 'time'? ... aka timestamps on the
 block

 Ok... 'time' on the blockchain could be 'gamed' ... but with great
 difficulty. An application presented with a fake blockchain can use
 quite a few heuristics to test the 'validity' of the block chain.
 It can review the usual cryptographic proofs, and check that difficulty
 is growing/declining only in a realistic manner up to the most recent
 block. Even use some arbitrary test like difficulty  10,000,000,000
 ... on the presumption that any less means that the Bitcoin system has
 failed massively from where it currently is and has become an unreliable
 time source.

 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.

 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.

 Is this right? or did miss I something fundamental?

 Ron

 - --
 public identify: https://www.onename.io/ron_ohara
 -BEGIN PGP SIGNATURE-
 Version: GnuPG v2.0.20 (GNU/Linux)
 Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

 iQEcBAEBAgAGBQJT0a9sAAoJEAla1VT1+xc2ONQH/0R09guSNNCxP36KziAjfcBc
 JEhxMpIlqTTYEvNXaBmuPy4BN+IZQ9izgrW/cvlEJJNMmc5/VIBk83WZltmDwcKl
 oo4MIdmp6vz984GWToyyLcLSEDT60UE9Hhe+U9RyF5J9kwbN8Uy4ozUHhFVP/0EL
 q4O1V6ggPbHWgH4q8m8E9qWOlIFXCDgCjxpL8Ptxsk+UlBq2NWMiwTz6Tbc9KOB4
 hOffzXCZV+DkwjFZD2Rc4rHaxw1yLuYr7DzmzwZbhRQclv9tZt9hoVaAT+RQpE1k
 X7pi+zVzeMMng0bzUv8t/G+gq0gaelyV41MJQRparEXhnuYkgU7rAPKIQEG8qpc=
 =T5fw
 -END PGP SIGNATURE-


 --
 Want fast and easy access to all the code in your enterprise? Index and
 search up to 200,000 lines of code with a free copy of Black Duck
 Code Sight - the same software that powers the world's largest code
 search on Ohloh, the Black Duck Open Hub! Try it now.
 http://p.sf.net/sfu/bds
 ___
 Bitcoin-development mailing list
 Bitcoin-development@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/bitcoin-development



-- 
Jeff Garzik
Bitcoin core developer and open source evangelist
BitPay, Inc.  https://bitpay.com/

--
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Time

2014-07-24 Thread Gregory Maxwell
On Thu, Jul 24, 2014 at 7:35 PM, Aaron Voisine vois...@gmail.com wrote:
 The upcoming release of breadwallet uses the height of the blockchain to
 enforce timed pin code lockouts for preventing an attacker from quickly
 making multiple pin guesses. This prevents them changing the devices system
 time to get around the lockout period.

Is breadwallet tamper resistant  zero on tamper hardware? otherwise
this sounds like security theater I attach a debugger to the
process (or modify the program) and ignore the block sourced time.

--
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Time

2014-07-24 Thread William Yager
On Thu, Jul 24, 2014 at 10:39 PM, Gregory Maxwell gmaxw...@gmail.com
wrote:


 Is breadwallet tamper resistant  zero on tamper hardware? otherwise
 this sounds like security theater I attach a debugger to the
 process (or modify the program) and ignore the block sourced time.


It's an iOS application. I would imagine it is substantially more difficult
to attach to a process (which, at the very least, requires root, and
perhaps other things on iOS) than to convince the device to change its
system time.

That said, the security benefits might not be too substantial.
--
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development


Re: [Bitcoin-development] Time

2014-07-24 Thread Aaron Voisine
It's based on the block height, not the block's timestamp. If you have
access to the device and the phone itself is not pin locked, then you
can jailbreak it and get access to the wallet seed that way. A pin
locked device however is reasonably secure as the filesystem is
hardware aes encrypted to a combination of pin+uuid. This was just an
easy way to prevent multiple pin guesses by changing system time in
settings, so that isn't the weakest part of the security model.

Aaron Voisine
breadwallet.com


On Thu, Jul 24, 2014 at 8:21 PM, William Yager will.ya...@gmail.com wrote:
 On Thu, Jul 24, 2014 at 10:39 PM, Gregory Maxwell gmaxw...@gmail.com
 wrote:


 Is breadwallet tamper resistant  zero on tamper hardware? otherwise
 this sounds like security theater I attach a debugger to the
 process (or modify the program) and ignore the block sourced time.


 It's an iOS application. I would imagine it is substantially more difficult
 to attach to a process (which, at the very least, requires root, and perhaps
 other things on iOS) than to convince the device to change its system time.

 That said, the security benefits might not be too substantial.

 --
 Want fast and easy access to all the code in your enterprise? Index and
 search up to 200,000 lines of code with a free copy of Black Duck
 Code Sight - the same software that powers the world's largest code
 search on Ohloh, the Black Duck Open Hub! Try it now.
 http://p.sf.net/sfu/bds
 ___
 Bitcoin-development mailing list
 Bitcoin-development@lists.sourceforge.net
 https://lists.sourceforge.net/lists/listinfo/bitcoin-development


--
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
___
Bitcoin-development mailing list
Bitcoin-development@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-development