1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
Return-Path: <gmaxwell@gmail.com>
Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org
[172.17.192.35])
by mail.linuxfoundation.org (Postfix) with ESMTPS id 5AF233EE
for <bitcoin-dev@lists.linuxfoundation.org>;
Wed, 21 Oct 2015 19:27:55 +0000 (UTC)
X-Greylist: whitelisted by SQLgrey-1.7.6
Received: from mail-io0-f177.google.com (mail-io0-f177.google.com
[209.85.223.177])
by smtp1.linuxfoundation.org (Postfix) with ESMTPS id D4C2B90
for <bitcoin-dev@lists.linuxfoundation.org>;
Wed, 21 Oct 2015 19:27:54 +0000 (UTC)
Received: by iow1 with SMTP id 1so68790221iow.1
for <bitcoin-dev@lists.linuxfoundation.org>;
Wed, 21 Oct 2015 12:27:54 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
h=mime-version:in-reply-to:references:date:message-id:subject:from:to
:cc:content-type;
bh=HXNHY6BAEAOXmQqMOcs4Fqko8WBVJEwq1D+TaDmpBgc=;
b=jStWzNlDuZKd74pJ8zXKHN2ELoemjL633EBkLhD8G6RmPWxXlGO3OJRr1lisH+voGV
WOfhqXPNIoQhIT8u5xsIpeprCbDitYfUzEvXLypDXmgYPicN7xAU38+BBy4g8GXZGSWZ
xyXicz+Hed2XWw/eU0HEu7zYrze83Ltp4x7I409Ej1ee+k0XZCdtfeWRn8VqJBuVQovn
2d3cuGbL32U+Y2cD3eBFG098MvtO6KGdk8QaFYFAFTiW9lypcCbPnhntDeE8LWVl39Du
g9ZOvmwgu01T657mAe1W1xHKdNA+FBu5sesQgJ4SSXBVp8k0/FSQcIiT0TsqXUL6oQnj
DXKA==
MIME-Version: 1.0
X-Received: by 10.107.30.78 with SMTP id e75mr12697094ioe.150.1445455674303;
Wed, 21 Oct 2015 12:27:54 -0700 (PDT)
Received: by 10.107.23.197 with HTTP; Wed, 21 Oct 2015 12:27:54 -0700 (PDT)
In-Reply-To: <CAJN5wHXSbZPuXN7PQRyOgOMuk2Ogooiww3hW93uNipQJnfkeOg@mail.gmail.com>
References: <CALxbBHU+kdEAh_4+B663vknAAr8OKZpUzVTACORPZi47E=Ehkw@mail.gmail.com>
<201510210839.42420.luke@dashjr.org>
<CALxbBHWOp9Q67bqSd4h=2+28PT_2stWzMBQ=nSvxPqKocx_xtQ@mail.gmail.com>
<201510210846.43988.luke@dashjr.org>
<CAJN5wHXSbZPuXN7PQRyOgOMuk2Ogooiww3hW93uNipQJnfkeOg@mail.gmail.com>
Date: Wed, 21 Oct 2015 19:27:54 +0000
Message-ID: <CAAS2fgTjG2yC1Zxqc6bgTk=Z2rAQbW6mnW7pef3jSNKcOZ4fng@mail.gmail.com>
From: Gregory Maxwell <gmaxwell@gmail.com>
To: Danny Thorpe <danny.thorpe@gmail.com>
Content-Type: text/plain; charset=UTF-8
X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,
DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM,
RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.1
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
smtp1.linux-foundation.org
Cc: Bitcoin Dev <bitcoin-dev@lists.linuxfoundation.org>
Subject: Re: [bitcoin-dev] [BIP] Normalized transaction IDs
X-BeenThere: bitcoin-dev@lists.linuxfoundation.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Bitcoin Development Discussion <bitcoin-dev.lists.linuxfoundation.org>
List-Unsubscribe: <https://lists.linuxfoundation.org/mailman/options/bitcoin-dev>,
<mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=unsubscribe>
List-Archive: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/>
List-Post: <mailto:bitcoin-dev@lists.linuxfoundation.org>
List-Help: <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=help>
List-Subscribe: <https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev>,
<mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=subscribe>
X-List-Received-Date: Wed, 21 Oct 2015 19:27:55 -0000
On Wed, Oct 21, 2015 at 6:22 PM, Danny Thorpe via bitcoin-dev
<bitcoin-dev@lists.linuxfoundation.org> wrote:
> outputs) seems like quite a different hazard than a malicious third party
> modifying a transaction in the mempool by twiddling opcodes in the signature
> scripts. The former seems like more a matter of keeping your own house in
Indeed they are different, but canonical encoding enforcement prevents
the third party malleability completely on ordinary transactions.
It is an an _immediate_ solution which is already deployed as a
standardness rule-- once miners update to 0.11.1 or 0.10.3 (or
equivalent) only miners will be able to malleable ordinary payments,
to the best of our current understanding.
[snip]
> proposal. Baby steps. Normalized transaction IDs provide an immediate
> benefit against the hazard of third party manipulation of transactions in
> the mempool, even without canonical ordering.
The thing being discussed here does not provide an immediate benefit
to that particular issue. It addresses multistep contracts and other
cases.
But it does not prevent third party mutation until people change their
public keys to new scheme (which based on p2sh we should expect a well
over a year deployment), which they cannot being doing until a soft
fork is made and settled in the network, for which the code is not yet
written. CLTV suggests that the current timeframe for a soft fork is
around a year and though I'd like to see that improved.
So canonical encoding is both sufficient (to the best of our current
understanding) for preventing third party malleability on ordinary
transactions, and the _only_ option for to have an actually immediate
benefit.
Please don't mix up third party malleability with this work which is
important in its own right.
|