summaryrefslogtreecommitdiff
path: root/e3/ec0773c088325743b79764881f4905a4e4e3f3
blob: 7bff430fff8632b3cd2118c1c94bdd52cb4d475d (plain)
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
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
Received: from sog-mx-1.v43.ch3.sourceforge.com ([172.29.43.191]
	helo=mx.sourceforge.net)
	by sfs-ml-1.v29.ch3.sourceforge.com with esmtp (Exim 4.76)
	(envelope-from <pete@petertodd.org>) id 1Y0V3z-0002RP-2u
	for bitcoin-development@lists.sourceforge.net;
	Mon, 15 Dec 2014 12:47:53 +0000
Received-SPF: pass (sog-mx-1.v43.ch3.sourceforge.com: domain of petertodd.org
	designates 62.13.149.95 as permitted sender)
	client-ip=62.13.149.95; envelope-from=pete@petertodd.org;
	helo=outmail149095.authsmtp.com; 
Received: from outmail149095.authsmtp.com ([62.13.149.95])
	by sog-mx-1.v43.ch3.sourceforge.com with esmtp (Exim 4.76)
	id 1Y0V3w-0003rX-DL for bitcoin-development@lists.sourceforge.net;
	Mon, 15 Dec 2014 12:47:45 +0000
Received: from mail-c235.authsmtp.com (mail-c235.authsmtp.com [62.13.128.235])
	by punt15.authsmtp.com (8.14.2/8.14.2/) with ESMTP id sBFClct3090049
	for <bitcoin-development@lists.sourceforge.net>;
	Mon, 15 Dec 2014 12:47:38 GMT
Received: from savin.petertodd.org (75-119-251-161.dsl.teksavvy.com
	[75.119.251.161]) (authenticated bits=128)
	by mail.authsmtp.com (8.14.2/8.14.2/) with ESMTP id sBFClUcY020171
	(version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NO)
	for <bitcoin-development@lists.sourceforge.net>;
	Mon, 15 Dec 2014 12:47:33 GMT
Date: Mon, 15 Dec 2014 07:47:30 -0500
From: Peter Todd <pete@petertodd.org>
To: Bitcoin Dev <bitcoin-development@lists.sourceforge.net>
Message-ID: <20141215124730.GA8321@savin.petertodd.org>
MIME-Version: 1.0
Content-Type: multipart/signed; micalg=pgp-sha256;
	protocol="application/pgp-signature"; boundary="ibTvN161/egqYuK8"
Content-Disposition: inline
User-Agent: Mutt/1.5.21 (2010-09-15)
X-Server-Quench: 8a196bec-8458-11e4-b396-002590a15da7
X-AuthReport-Spam: If SPAM / abuse - report it at:
	http://www.authsmtp.com/abuse
X-AuthRoute: OCd2Yg0TA1ZNQRgX IjsJECJaVQIpKltL GxAVJwpGK10IU0Fd
	P1hXKl1LNVAaWXld WiVPGEoXDxgzCjYj NEgGOBsDNw4AXgB1
	JB0aXVBSFQF4AB4L AhkUURo8cABYeX95 e0RnX25aWkVlcE56
	XU8aVh9wFjsFOwkf UkBZcAIadwZDfFFN O1F2UiFYMngPYn9o
	WlZqMmx0N24OdmEN GltQfAobGBsHF2Eq fR0JEDMzVWAbTiEI
	JAYnMkJcXQ4aMkw0 PlY6EVcVOhlaIS1z NGJpJwR6G3gkahQG
	NyJ0bAYVGTsSXW9W D1UtLwVHDzA6
X-Authentic-SMTP: 61633532353630.1023:706
X-AuthFastPath: 0 (Was 255)
X-AuthSMTP-Origin: 75.119.251.161/587
X-AuthVirus-Status: No virus detected - but ensure you scan with your own
	anti-virus system.
X-Spam-Score: -0.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 SPF_PASS               SPF: sender matches SPF record
	1.0 UC_GIBBERISH_OBFU Multiple instances of "word VERYLONGGIBBERISH
	word"
X-Headers-End: 1Y0V3w-0003rX-DL
Subject: [Bitcoin-development] Recent EvalScript() changes mean
	CHECKLOCKTIMEVERIFY can't be merged
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, 15 Dec 2014 12:49:01 -0000


--ibTvN161/egqYuK8
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

BtcDrak was working on rebasing my CHECKLOCKTIMEVERIFY=B9 patch to master a=
 few
days ago and found a fairly large design change that makes merging it curre=
ntly
impossible. Pull-req #4890=B2, specifically commit c7829ea7, changed the
EvalScript() function to take an abstract SignatureChecker object, removing=
 the
txTo and nIn arguments that used to contain the transaction the script was =
in
and the txin # respectively. CHECKLOCKTIMEVERIFY needs txTo to obtain the
nLockTime field of the transaction, and it needs nIn to obtain the nSequenc=
e of
the txin.

We need to fix this if CHECKLOCKTIMEVERIFY is to be merged.

Secondly, that this change was made, and the manner in which is was made, i=
s I
think indicative of a development process that has been taking significant
risks with regard to refactoring the consensus critical codebase. I know I
personally have had a hard time keeping up with the very large volume of co=
de
being moved and changed for the v0.10 release, and I know BtcDrak - who is
keeping Viacoin up to date with v0.10 - has also had a hard time giving the
changes reasonable review. The #4890 pull-req in question had no ACKs at al=
l,
and only two untested utACKS, which I find worrying for something that made
significant consensus critical code changes.

While it would be nice to have a library encapsulating the consensus code, =
this
shouldn't come at the cost of safety, especially when the actual users of t=
hat
library or their needs is still uncertain. This is after all a multi-billion
project where a simple fork will cost miners alone tens of thousands of dol=
lars
an hour; easily much more if it results in users being defrauded. That's al=
so
not taking into account the significant negative PR impact and loss of trus=
t. I
personally would recommend *not* upgrading to v0.10 due to these issues.

A much safer approach would be to keep the code changes required for a
consensus library to only simple movements of code for this release, accept
that the interface to that library won't be ideal, and wait until we have
feedback from multiple opensource projects with publicly evaluatable code on
where to go next with the API.

1) https://github.com/bitcoin/bips/blob/master/bip-0065.mediawiki
2) https://github.com/bitcoin/bitcoin/pull/4890

--=20
'peter'[:-1]@petertodd.org
00000000000000001b18a596ecadd07c0e49620fb71b16f9e41131df9fc52fa6

--ibTvN161/egqYuK8
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature

-----BEGIN PGP SIGNATURE-----

iQGrBAEBCACVBQJUjtheXhSAAAAAABUAQGJsb2NraGFzaEBiaXRjb2luLm9yZzAw
MDAwMDAwMDAwMDAwMDAwMjFmYTE4YjFlYTk1MTY0MzVhNGE2ZWQ1NjAxOTk2MGFj
NTY1OWI2NTZhMzNiNWQvFIAAAAAAFQARcGthLWFkZHJlc3NAZ251cGcub3JncGV0
ZUBwZXRlcnRvZC5vcmcACgkQJIFAPaXwkfuDFAgAlWN8CgLuDprYmQJCCRzeUJtJ
DyJTMPzO5jQ0BM0N8Lyc9Z6ewYt9KPKvrmUOg3ugP+LkZr+iump369Hpl1R+KRJu
9Zpa9AcT2L0ZKf2qRqjNiDH740HSWrCKRs1McesiGtYmrEvA945JqN7UGFhvIHBs
/AjM//ziugabnWCD0ZdEUzebkm9PBBHW7lutFDz4DNQzv3gzcIPsgBGKP2wAVJ5H
v22VuJV1M/trf0/PfijQgBngbLpMPqy7NoBw2zR2HW7PE0otLmCWB0JfmnMA4BkO
AoA5VK/jRye8aX211a0Z/u+Iab55/VDotXBz4vI5siMr1jJZ7VOGhFg8TzT07w==
=LgXC
-----END PGP SIGNATURE-----

--ibTvN161/egqYuK8--