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
99
100
101
102
103
104
105
106
107
108
109
|
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 <bitcoin-list@bluematt.me>) id 1StLEl-0002KI-0w
for bitcoin-development@lists.sourceforge.net;
Mon, 23 Jul 2012 16:11:59 +0000
Received-SPF: pass (sog-mx-2.v43.ch3.sourceforge.com: domain of bluematt.me
designates 173.246.101.161 as permitted sender)
client-ip=173.246.101.161;
envelope-from=bitcoin-list@bluematt.me; helo=mail.bluematt.me;
Received: from vps.bluematt.me ([173.246.101.161] helo=mail.bluematt.me)
by sog-mx-2.v43.ch3.sourceforge.com with esmtp (Exim 4.76)
id 1StLEg-0007K2-Nx for bitcoin-development@lists.sourceforge.net;
Mon, 23 Jul 2012 16:11:58 +0000
Received: from [192.168.1.100] (178-118-66-138.access.telenet.be
[178.118.66.138])
by mail.bluematt.me (Postfix) with ESMTPSA id 7FD4D3F16
for <bitcoin-development@lists.sourceforge.net>;
Mon, 23 Jul 2012 16:11:48 +0000 (UTC)
Message-ID: <1343059903.6350.2.camel@bmthinkpad.lan.bluematt.me>
From: Matt Corallo <bitcoin-list@bluematt.me>
To: bitcoin-development@lists.sourceforge.net
Date: Mon, 23 Jul 2012 18:11:43 +0200
In-Reply-To: <CA+8xBpfMRSmw2bPuR2yy8jffKiSVvLfZzPyfByvMThMV-xh84A@mail.gmail.com>
References: <CA+8xBpfMRSmw2bPuR2yy8jffKiSVvLfZzPyfByvMThMV-xh84A@mail.gmail.com>
Content-Type: text/plain; charset="UTF-8"
X-Mailer: Evolution 3.2.2-1
Content-Transfer-Encoding: 7bit
Mime-Version: 1.0
X-Spam-Score: -1.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 T_RP_MATCHES_RCVD Envelope sender domain matches handover relay
domain
-0.0 SPF_PASS SPF: sender matches SPF record
X-Headers-End: 1StLEg-0007K2-Nx
Subject: Re: [Bitcoin-development] Coinbase script parse failures
X-BeenThere: bitcoin-development@lists.sourceforge.net
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <bitcoin-development.lists.sourceforge.net>
List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
<mailto:bitcoin-development-request@lists.sourceforge.net?subject=unsubscribe>
List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum_name=bitcoin-development>
List-Post: <mailto:bitcoin-development@lists.sourceforge.net>
List-Help: <mailto:bitcoin-development-request@lists.sourceforge.net?subject=help>
List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
<mailto:bitcoin-development-request@lists.sourceforge.net?subject=subscribe>
X-List-Received-Date: Mon, 23 Jul 2012 16:11:59 -0000
I mentioned this on IRC a week or so ago, noticing that though they are
not executed and required to be well-formed, we still count any sigops
that appear in them (which I guessed may be an interesting attack if you
could get a miner to put a byte in there that is the equivalent of
OP_CHECKSIG because we dont count the sigops in the coinbase scriptSig
during mining, however luke pointed out that we always push the content
of coinbase scriptSigs properly by default, and those modifying the code
should spend time researching this stuff anyway, so if they break it,
its their fault (and now they can find this email)).
Matt
On Mon, 2012-07-23 at 02:07 -0400, Jeff Garzik wrote:
> While writing the script engine for pynode, I ran a test to validate
> my script tokenizer -- a python script which does nothing more than
> split up scriptPubKey and scriptSig into component opcodes and data
> elements. No execution, just tokenization of the script's data
> stream.
>
> Scanning the entire blockchain, my script found over 8,000
> tokenization failures, and 100% of those were in coinbase
> transactions' scriptSig. The scripts used to generate this can be
> found at https://github.com/jgarzik/pynode
>
> The following data dump are just the first few, and most recent few,
> of the invalid scripts I found in the blockchain:
>
> Scanning block #142312 000000000000046acff93b0e76cd10490551bf871ce9ac9fad62e67a0
> 7ff1d1e (1 tx)
> TX 50cfd3361f7162b3c0c00dacd3d0e4ddf61e8ec0c51bfa54c4ca0e61876810a9
> txin 0 parse failed
> Scanning block #142357 0000000000000743c432f84ad688b7b60d1474ccd7baa3d762df0b3f5
> 1205712 (1 tx)
> TX 587da4d4870515e57efc27623aa92fae0b7aef5908162de57fef0bbe6382be73
> txin 0 parse failed
> Scanning block #143014 00000000000007fe6ecd20a8c454cd43c78d912b499c46a1179e30f7c
> ff002b3 (1 tx)
> TX 4c8f43c5115c5f29f3761176fa59cde2de2ad976efcbc5faae8ee79fa5dd6264
> txin 0 parse failed
> ...
> Scanning block #190315 00000000000006a0bc3be527033c02d3bcfa72af2f4213c4b0feec923
> 9573342 (336 tx)
> TX f0ba80ce080eb49148b69c47d744bbb85e4e07e4e4d0273b402c0989d79c359c
> txin 0 parse failed
> Scanning block #190321 00000000000001c3bacc869917cacdafb6e00c552ac294835107b574a
> 44a0362 (38 tx)
> TX 4c91f5ad0616df92165819902d0b117d9e68345f5fe964de6146f89838b9295e
> txin 0 parse failed
> Scanning block #190331 00000000000000e3d3eaf93600684b085df7d58f84ef952c91e84eb4a
> 251d5d8 (128 tx)
> TX 5ee371d65e323934570566b1d92dceb8456e887814da8ef2a53971683bd11da4
> txin 0 parse failed
>
|