Received: from sog-mx-2.v43.ch3.sourceforge.com ([172.29.43.192] helo=mx.sourceforge.net) by sfs-ml-4.v29.ch3.sourceforge.com with esmtp (Exim 4.76) (envelope-from ) id 1YioAf-0008Rj-6A for bitcoin-development@lists.sourceforge.net; Thu, 16 Apr 2015 18:05:49 +0000 X-ACL-Warn: Received: from mail-ie0-f175.google.com ([209.85.223.175]) by sog-mx-2.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128) (Exim 4.76) id 1YioAW-0008BP-E8 for bitcoin-development@lists.sourceforge.net; Thu, 16 Apr 2015 18:05:49 +0000 Received: by iebrs15 with SMTP id rs15so57751512ieb.3 for ; Thu, 16 Apr 2015 11:05:35 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=EVS/pVGNJrIYfy8xFDJ/LQLMn15E8BFHDgveYLXVG7g=; b=Ok8U9PJgrLYoKAbQ1+zuoJPWBUz3ArsbGn1xAk7PNn14lMyvJkOnrQ2EHfQxh7kjAb yyk651ELvYhGGLQMOTegowvUFY1XyganUKTS1M4GMa6j8d8lyi7ILA5OARbo28BWJ+5n t5zdyFXxCssOM2hz8D7LauXXQspV06QyJ290pdO7bzOa1VmLkcb0V5VznHXbfBtBkMcG bjjAa7ZNtphyz3hGm2Y9QLyJEzhZxfdxHI+1SM00D7V1+mthyM/ZRPVlW47Adx+g5L64 FSo4+fMoBzqt6TPYp9LWsHhk779Bt2DPxBFbIlYoL0fYUU79DE2hbIdaC50sKxpeD7k5 qQBw== X-Gm-Message-State: ALoCoQmSfB3DFLUm/ciYMtUoJ+wXkY+DvimYDdh81W0gk0jwt+oJaBqRuRxdQPx1HqzThDPPBwyk MIME-Version: 1.0 X-Received: by 10.107.135.144 with SMTP id r16mr45472600ioi.13.1429205671809; Thu, 16 Apr 2015 10:34:31 -0700 (PDT) Received: by 10.107.25.203 with HTTP; Thu, 16 Apr 2015 10:34:31 -0700 (PDT) X-Originating-IP: [208.54.4.178] Received: by 10.107.25.203 with HTTP; Thu, 16 Apr 2015 10:34:31 -0700 (PDT) In-Reply-To: <552FDF73.6010104@sky-ip.org> References: <552EF785.7000207@sky-ip.org> <552FDF73.6010104@sky-ip.org> Date: Thu, 16 Apr 2015 10:34:31 -0700 Message-ID: From: Mark Friedenbach To: s7r@sky-ip.org Content-Type: multipart/alternative; boundary=001a113ec81a612e250513dae03f X-Spam-Score: 1.0 (+) X-Spam-Report: Spam Filtering performed by mx.sourceforge.net. See http://spamassassin.org/tag/ for more details. 1.0 HTML_MESSAGE BODY: HTML included in message X-Headers-End: 1YioAW-0008BP-E8 Cc: Bitcoin Development Subject: Re: [Bitcoin-development] 75%/95% threshold for transaction versions 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: Thu, 16 Apr 2015 18:05:49 -0000 --001a113ec81a612e250513dae03f Content-Type: text/plain; charset=UTF-8 At this moment anyone can alter the txid. Assume transactions are 100% malleable. On Apr 16, 2015 9:13 AM, "s7r" wrote: > Hi Pieter, > > Thanks for your reply. I agree. Allen has a good point in the previous > email too, so the suggestion might not fix anything and complicate things. > > The problem I am trying to solve is making all transactions > non-malleable by default. I guess there is a very good reason why BIP62 > will not touch v1 anyway. > > I am trying to build a bitcoin contract which will relay on 3 things: > - coinjoin / txes with inputs from multiple users which are signed by > all users after they are merged together (every user is sure his coins > will not be spent without the other users to spend anything, as per > agreed contract); > - pre-signed txes with nLockTime 'n' weeks. These txes will be signed > before the inputs being spent are broadcasted/confirmed, using the txid > provided by the user before broadcasting it. Malleability hurts here. > - P2SH > > In simple terms, how malleable transactions really are in the network at > this moment? Who can alter a txid without invalidating the tx? Just the > parties who sign it? The miners? Anyone in the network? This is a little > bit unclear to me. > > Another thing I would like to confirm, the 3 pieces of the bitcoin > protocol mentioned above will be supported in _any_ future transaction > version or block version, regardless what changes are made or features > added to bitcoin core? The contract needs to be built and left unchanged > for a very very long period of time... > > > On 4/16/2015 8:22 AM, Pieter Wuille wrote: > > > > On Apr 16, 2015 1:46 AM, "s7r" > > > wrote: > >> but for transaction versions? In simple terms, if > 75% from all the > >> transactions in the latest 1000 blocks are version 'n', mark all > >> previous transaction versions as non-standard and if > 95% from all the > >> transactions in the latest 1000 blocks are version 'n' mark all previous > >> transaction versions as invalid. > > > > What problem are you trying to solve? > > > > The reason why BIP62 (as specified, it is just a draft) does not make v1 > > transactions invalid is because it is opt-in. The creator of a > > transaction needs to agree to protect it from malleability, and this > > subjects him to extra rules in the creation. > > > > Forcing v3 transactions would require every piece of wallet software to > > be changed. > > > > -- > > Pieter > > > > > ------------------------------------------------------------------------------ > BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT > Develop your own process in accordance with the BPMN 2 standard > Learn Process modeling best practices with Bonita BPM through live > exercises > http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- > event?utm_ > source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF > _______________________________________________ > Bitcoin-development mailing list > Bitcoin-development@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/bitcoin-development > --001a113ec81a612e250513dae03f Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable

At this moment anyone can alter the txid. Assume transaction= s are 100% malleable.

On Apr 16, 2015 9:13 AM, "s7r" <s7r@sky-ip.org> wrote:
Hi Pieter,

Thanks for your reply. I agree. Allen has a good point in the previous
email too, so the suggestion might not fix anything and complicate things.<= br>
The problem I am trying to solve is making all transactions
non-malleable by default. I guess there is a very good reason why BIP62
will not touch v1 anyway.

I am trying to build a bitcoin contract which will relay on 3 things:
- coinjoin / txes with inputs from multiple users which are signed by
all users after they are merged together (every user is sure his coins
will not be spent without the other users to spend anything, as per
agreed contract);
- pre-signed txes with nLockTime 'n' weeks. These txes will be sign= ed
before the inputs being spent are broadcasted/confirmed, using the txid
provided by the user before broadcasting it. Malleability hurts here.
- P2SH

In simple terms, how malleable transactions really are in the network at this moment? Who can alter a txid without invalidating the tx? Just the
parties who sign it? The miners? Anyone in the network? This is a little bit unclear to me.

Another thing I would like to confirm, the 3 pieces of the bitcoin
protocol mentioned above will be supported in _any_ future transaction
version or block version, regardless what changes are made or features
added to bitcoin core? The contract needs to be built and left unchanged for a very very long period of time...


On 4/16/2015 8:22 AM, Pieter Wuille wrote:
>
> On Apr 16, 2015 1:46 AM, "s7r" <s7r@sky-ip.org <mailto:s7= r@sky-ip.org>>
> wrote:
>> but for transaction versions? In simple terms, if > 75% from al= l the
>> transactions in the latest 1000 blocks are version 'n', ma= rk all
>> previous transaction versions as non-standard and if > 95% from= all the
>> transactions in the latest 1000 blocks are version 'n' mar= k all previous
>> transaction versions as invalid.
>
> What problem are you trying to solve?
>
> The reason why BIP62 (as specified, it is just a draft) does not make = v1
> transactions invalid is because it is opt-in. The creator of a
> transaction needs to agree to protect it from malleability, and this > subjects him to extra rules in the creation.
>
> Forcing v3 transactions would require every piece of wallet software t= o
> be changed.
>
> --
> Pieter
>

---------------------------------------------------------------------------= ---
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercise= s
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp= -virtual- event?utm_
source=3DSourceforge_BPM_Camp_5_6_15&utm_medium=3Demail&utm_campaig= n=3DVA_SF
_______________________________________________
Bitcoin-development mailing list
Bitcoin-develo= pment@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bitcoin-de= velopment
--001a113ec81a612e250513dae03f--