Contradiction in BIP65 text?

Contradiction in BIP65 text?
2015-11-13 21:53 ` Gregory Maxwell
  2015-11-13 23:58 ` Jeff Garzik
  
From: xor @ 2015-11-13 21:48 UTC (permalink / raw)
  To: bitcoin-dev

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

BIP65 [1] says this:
> Motivation
> [...]
> However, the nLockTime field can't prove that it is impossible to spend a
> transaction output until some time in the future, as there is no way to
> know if a valid signature for a different transaction spending that output
> has been created.

I'd interpret "can't prove that it is impossible to spend" = cannot be used 
for freezing funds.

Then later, at "Motivation", it says:
> Freezing Funds
> 
> In addition to using cold storage, hardware wallets, and P2SH multisig
> outputs to control funds, now funds can be frozen in UTXOs directly on the
> blockchain.

This clearly says that funds can be frozen.
Can the BIP65-thing be used to freeze funds or can it not be?

Notice: I am by no means someone who is able to read Bitcoin script. I'm 
rather an end user. So maybe I'm misinterpreting the document?
I'm nevertheless trying to provide a "neutral" review from an outsider who's 
trying to understand whats new in 0.11.2.
You may want to discard my opinion if you think that BIP65 is aimed at an 
audience with more experience.

Greetings and thanks for your work!

[1] 
https://github.com/bitcoin/bips/blob/d0cab0379aa50cdf4a9d1ab9e29c3366034ad77f/bip-0065.mediawiki

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

 permalink raw reply	[|nested]
2015-11-13 21:48 [bitcoin-dev] Contradiction in BIP65 text? xor

  2015-11-13 22:08   ` xor
  2015-11-13 23:58 ` Jeff Garzik
  
From: Gregory Maxwell @ 2015-11-13 21:53 UTC (permalink / raw)
  To: xor;  Bitcoin Dev

On Fri, Nov 13, 2015 at 9:48 PM, xor via bitcoin-dev
<bitcoin-dev@lists•linuxfoundation.org> wrote:
> BIP65 [1] says this:
>> Motivation
>> [...]
>> However, the nLockTime field can't prove that it is impossible to spend a
>> transaction output until some time in the future, as there is no way to
>> know if a valid signature for a different transaction spending that output
>> has been created.
>
> I'd interpret "can't prove that it is impossible to spend" = cannot be used
> for freezing funds.
>
> Then later, at "Motivation", it says:
>> Freezing Funds
>>
>> In addition to using cold storage, hardware wallets, and P2SH multisig
>> outputs to control funds, now funds can be frozen in UTXOs directly on the
>> blockchain.
>
> This clearly says that funds can be frozen.
> Can the BIP65-thing be used to freeze funds or can it not be?
>
> Notice: I am by no means someone who is able to read Bitcoin script. I'm
> rather an end user. So maybe I'm misinterpreting the document?
> I'm nevertheless trying to provide a "neutral" review from an outsider who's
> trying to understand whats new in 0.11.2.
> You may want to discard my opinion if you think that BIP65 is aimed at an
> audience with more experience.


The first text is explaining nlocktime without BIP65 in order to
explain the reason for having BIP65.


 permalink raw reply	[|nested]
2015-11-13 21:53 ` Gregory Maxwell

  
From: xor @ 2015-11-13 22:08 UTC (permalink / raw)
  To: Bitcoin Dev

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

On Friday, November 13, 2015 09:53:57 PM Gregory Maxwell wrote:
> The first text is explaining nlocktime without BIP65 in order to
> explain the reason for having BIP65.

Thanks. I would recommend changing the BIP65 to clarify what you just said, 
this clearly is the missing piece of information there.

[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 836 bytes --]

 permalink raw reply	[|nested]
2015-11-13 21:48 [bitcoin-dev] Contradiction in BIP65 text? xor
  2015-11-13 21:53 ` Gregory Maxwell

  2015-11-14  0:29   ` Gregory Maxwell
  2015-11-14 22:47   ` xor
  
From: Jeff Garzik @ 2015-11-13 23:58 UTC (permalink / raw)
  To: xor;  Bitcoin development mailing list

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

On Fri, Nov 13, 2015 at 4:48 PM, xor via bitcoin-dev <
bitcoin-dev@lists•linuxfoundation.org> wrote:

> This clearly says that funds can be frozen.
> Can the BIP65-thing be used to freeze funds or can it not be?
>


This language definitely trips up or worries several folks - it's been
mentioned a few times before.

The user _chooses_ to freeze _their own_ funds.  It is not an unwilling act
of force, which many assume when they see the phrase "freeze funds."

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

 permalink raw reply	[|nested]
2015-11-13 23:58 ` Jeff Garzik

  2015-11-14 22:47   ` xor
  
From: Gregory Maxwell @ 2015-11-14  0:29 UTC (permalink / raw)
  To: Jeff Garzik;  Bitcoin development mailing list

On Fri, Nov 13, 2015 at 11:58 PM, Jeff Garzik via bitcoin-dev
<bitcoin-dev@lists•linuxfoundation.org> wrote:
> On Fri, Nov 13, 2015 at 4:48 PM, xor via bitcoin-dev
> <bitcoin-dev@lists•linuxfoundation.org> wrote:
>>
>> This clearly says that funds can be frozen.
>> Can the BIP65-thing be used to freeze funds or can it not be?
> This language definitely trips up or worries several folks - it's been
> mentioned a few times before.
>
> The user _chooses_ to freeze _their own_ funds.  It is not an unwilling act
> of force, which many assume when they see the phrase "freeze funds."


The most frequent related point of confusion I see is that people have
a dangerously wrong mental model of how scrpitpubkeys work.

It seems people think that wallets will infer whatever they can
possibly spend and display that.  This is not how wallets work, and if
any wallet were ever created like that its users would immediately go
broke (and it's author should be taken out and shot. :) ).

Rather, wallets must only display funds paid to scriptpubkeys (also
addresses) they actually generated or, at least, would have generated.

Otherwise someone can just create a 1 of 2 {them, you}  multisig and
then claw back the coins after you think you've been paid.

As such there is no risk of anyone sneaking in CLTV locked funds for
on you except by virtue of spectacular software bugs that would likely
cause you to destroy funds in a zillion other ways first.


 permalink raw reply	[|nested]
2015-11-13 23:58 ` Jeff Garzik
  2015-11-14  0:29   ` Gregory Maxwell

  
From: xor @ 2015-11-14 22:47 UTC ( / )
  To: Bitcoin development mailing list



On Friday, November 13, 2015 06:58:07 PM Jeff Garzik wrote:
> On Fri, Nov 13, 2015 at 4:48 PM, xor via bitcoin-dev <
> 
> bitcoin-dev@lists•linuxfoundation.org> wrote:
> > This clearly says that funds can be frozen.
> > Can the BIP65-thing be used to freeze funds or can it not be?
> 
> This language definitely trips up or worries several folks - it's been
> mentioned a few times before.
> 
> The user _chooses_ to freeze _their own_ funds.  It is not an unwilling act
> of force, which many assume when they see the phrase "freeze funds."

Oh, interesting, albeit that was not subject of my question.

My question in fact was whether *I* can use it to freeze *my* funds; because I 
think that would be an interesting feature for various purposes.
From the state of BIP65 I talked about, it is not even clear whether that is 
possible.

Your observation beyond that is a valid concern though.
So both should be addressed.