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
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
|
Received: from sog-mx-3.v43.ch3.sourceforge.com ([172.29.43.193]
helo=mx.sourceforge.net)
by sfs-ml-3.v29.ch3.sourceforge.com with esmtp (Exim 4.76)
(envelope-from <mark@friedenbach.org>) id 1YxzHH-0006e6-HJ
for bitcoin-development@lists.sourceforge.net;
Thu, 28 May 2015 14:59:23 +0000
X-ACL-Warn:
Received: from mail-ig0-f169.google.com ([209.85.213.169])
by sog-mx-3.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128)
(Exim 4.76) id 1YxzHC-0004yI-VP
for bitcoin-development@lists.sourceforge.net;
Thu, 28 May 2015 14:59:23 +0000
Received: by igbpi8 with SMTP id pi8so114005840igb.1
for <bitcoin-development@lists.sourceforge.net>;
Thu, 28 May 2015 07:59:13 -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=FS3pEo0baUWseoC9QLQ1VIcb/VEw0LgEMn7HuxgHTyg=;
b=W9I+d/EjPmQCB14sjdq3SI5ONCSk6e38q2QPv1CrsByIAie/NJ6XQPqiErG27Rx+xH
iEqqMt9yFZYu0BeRsb21EPl7zOiFH28lI1w7bk4lomfN0W/i/6PRZGau9yOlPQfZo+TD
vgo5lexgA/h6i06V4q4Te1sM2SQwVjxPzngbCE8eg50LfQPN5f2E52XTgZa8gFaj7p7z
WVGCLzwREzWPHFjZ1yJ9AwaTSouglfN7hfw6oW7lOalZmDwVcsW2cJKo1fhSxASyqnys
FKJHbpurwsFG5KlHy9P0Lp//jQqTn5ryei1Pa2q722BqUVfn7pKVRGtFqTB71XgazSlk
JnTQ==
X-Gm-Message-State: ALoCoQnPGPEIEeNLUq15Sv2MzB4TZ1UnIJaOnt9p+zxwqXgDExb2I3zGqR6ZFb7t8uG1WYAgEve/
MIME-Version: 1.0
X-Received: by 10.43.59.80 with SMTP id wn16mr9813634icb.40.1432825153581;
Thu, 28 May 2015 07:59:13 -0700 (PDT)
Received: by 10.107.10.197 with HTTP; Thu, 28 May 2015 07:59:13 -0700 (PDT)
X-Originating-IP: [172.56.9.144]
Received: by 10.107.10.197 with HTTP; Thu, 28 May 2015 07:59:13 -0700 (PDT)
In-Reply-To: <CAE-z3OUG5p_hAOFvaE10kTT7sa=2GrzvZpis5FzATSEcNwZpyw@mail.gmail.com>
References: <CAOG=w-sfiUQQGUh=RR55NU-TkAi1+2g3_Z+YP3dGDjp8zXYBGQ@mail.gmail.com>
<CANEZrP0QMHp9PwBr=ekkujtA+=LXbgiL4xkXRSmcOGqaLJEp0g@mail.gmail.com>
<CAOG=w-s7JkB6SyEE0=KwmrasyH22aB2Zf3jBdKcXvrGoNhN_Nw@mail.gmail.com>
<CANEZrP0zKe7hK0KjiXN9M6CHnJxKZfW9myez3G+GWpr3fugBCg@mail.gmail.com>
<CAOG=w-vusO30sBZfsuP94wbkUUfHupmhQtScGsJ2463sO=EpzA@mail.gmail.com>
<CAE-z3OUG5p_hAOFvaE10kTT7sa=2GrzvZpis5FzATSEcNwZpyw@mail.gmail.com>
Date: Thu, 28 May 2015 07:59:13 -0700
Message-ID: <CAOG=w-tQyrc8ncAFauDObmBYn3uSwBcLoWVqruaV6PcTUFbTKg@mail.gmail.com>
From: Mark Friedenbach <mark@friedenbach.org>
To: Tier Nolan <tier.nolan@gmail.com>
Content-Type: multipart/alternative; boundary=bcaec51dd23b4e09a70517259a7e
X-Spam-Score: 1.2 (+)
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
0.2 AWL AWL: Adjusted score from AWL reputation of From: address
X-Headers-End: 1YxzHC-0004yI-VP
Cc: Bitcoin Development <bitcoin-development@lists.sourceforge.net>
Subject: Re: [Bitcoin-development] Consensus-enforced transaction
replacement via sequence numbers
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: Thu, 28 May 2015 14:59:23 -0000
--bcaec51dd23b4e09a70517259a7e
Content-Type: text/plain; charset=UTF-8
Why 3? Do we have a version 2?
As for doing it in serialization, that would alter the txid making it a
hard fork change.
On May 28, 2015 03:30, "Tier Nolan" <tier.nolan@gmail.com> wrote:
> Can you update it so that it only applies to transactions with version
> number 3 and higher. Changing the meaning of a field is exactly what the
> version numbers are for.
>
> You could even decode version 3 transactions like that.
>
> Version 3 transactions have a sequence number of 0xFFFFFFFF and the
> sequence number field is re-purposed for relative lock time.
>
> This means that legacy transactions that have already been signed but have
> a locktime in the future will still be able to enter the blockchain
> (without having to wait significantly longer than expected).
>
> On Thu, May 28, 2015 at 10:56 AM, Mark Friedenbach <mark@friedenbach.org>
> wrote:
>
>> I have no problem with modifying the proposal to have the most
>> significant bit signal use of the nSequence field as a relative lock-time.
>> That leaves a full 31 bits for experimentation when relative lock-time is
>> not in use. I have adjusted the code appropriately:
>>
>> https://github.com/maaku/bitcoin/tree/sequencenumbers
>>
>> On Wed, May 27, 2015 at 10:39 AM, Mike Hearn <mike@plan99.net> wrote:
>>
>>> Mike, this proposal was purposefully constructed to maintain as well as
>>>> possible the semantics of Satoshi's original construction. Higher sequence
>>>> numbers -- chronologically later transactions -- are able to hit the chain
>>>> earlier, and therefore it can be reasonably argued will be selected by
>>>> miners before the later transactions mature. Did I fail in some way to
>>>> capture that original intent?
>>>>
>>>
>>> Right, but the original protocol allowed for e.g. millions of revisions
>>> of the transaction, hence for high frequency trading (that's actually how
>>> Satoshi originally explained it to me - as a way to do HFT - back then the
>>> channel concept didn't exist).
>>>
>>> As you point out, with a careful construction of channels you should
>>> only need to bump the sequence number when the channel reverses direction.
>>> If your app only needs to do that rarely, it's a fine approach.And your
>>> proposal does sounds better than sequence numbers being useless like at the
>>> moment. I'm just wondering if we can get back to the original somehow or at
>>> least leave a path open to it, as it seems to be a superset of all other
>>> proposals, features-wise.
>>>
>>
>>
>>
>> ------------------------------------------------------------------------------
>>
>> _______________________________________________
>> Bitcoin-development mailing list
>> Bitcoin-development@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>>
>>
>
>
> ------------------------------------------------------------------------------
>
> _______________________________________________
> Bitcoin-development mailing list
> Bitcoin-development@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>
>
--bcaec51dd23b4e09a70517259a7e
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
<p dir=3D"ltr">Why 3? Do we have a version 2?</p>
<p dir=3D"ltr">As for doing it in serialization, that would alter the txid =
making it a hard fork change.</p>
<div class=3D"gmail_quote">On May 28, 2015 03:30, "Tier Nolan" &l=
t;<a href=3D"mailto:tier.nolan@gmail.com">tier.nolan@gmail.com</a>> wrot=
e:<br type=3D"attribution"><blockquote class=3D"gmail_quote" style=3D"margi=
n:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr">=
<div><div><div>Can you update it so that it only applies to transactions wi=
th version number 3 and higher.=C2=A0 Changing the meaning of a field is ex=
actly what the version numbers are for.<br><br></div>You could even decode =
version 3 transactions like that.=C2=A0 <br><br></div>Version 3 transaction=
s have a sequence number of 0xFFFFFFFF and the sequence number field is re-=
purposed for relative lock time.=C2=A0 <br><br></div>This means that legacy=
transactions that have already been signed but have a locktime in the futu=
re will still be able to enter the blockchain (without having to wait signi=
ficantly longer than expected).<br></div><div class=3D"gmail_extra"><br><di=
v class=3D"gmail_quote">On Thu, May 28, 2015 at 10:56 AM, Mark Friedenbach =
<span dir=3D"ltr"><<a href=3D"mailto:mark@friedenbach.org" target=3D"_bl=
ank">mark@friedenbach.org</a>></span> wrote:<br><blockquote class=3D"gma=
il_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-lef=
t:1ex"><div dir=3D"ltr">I have no problem with modifying the proposal to ha=
ve the most significant bit signal use of the nSequence field as a relative=
lock-time. That leaves a full 31 bits for experimentation when relative lo=
ck-time is not in use. I have adjusted the code appropriately:<br><br><a hr=
ef=3D"https://github.com/maaku/bitcoin/tree/sequencenumbers" target=3D"_bla=
nk">https://github.com/maaku/bitcoin/tree/sequencenumbers</a><br></div><div=
><div><div class=3D"gmail_extra"><br><div class=3D"gmail_quote">On Wed, May=
27, 2015 at 10:39 AM, Mike Hearn <span dir=3D"ltr"><<a href=3D"mailto:m=
ike@plan99.net" target=3D"_blank">mike@plan99.net</a>></span> wrote:<br>=
<blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1p=
x #ccc solid;padding-left:1ex"><div dir=3D"ltr"><span><div class=3D"gmail_e=
xtra"><div class=3D"gmail_quote"><blockquote class=3D"gmail_quote" style=3D=
"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir=3D=
"ltr"><div class=3D"gmail_extra">Mike, this proposal was purposefully const=
ructed to maintain as well as possible the semantics of Satoshi's origi=
nal construction. Higher sequence numbers -- chronologically later transact=
ions -- are able to hit the chain earlier, and therefore it can be reasonab=
ly argued will be selected by miners before the later transactions mature. =
Did I fail in some way to capture that original intent?<br></div></div>
</blockquote></div><br></div></span><div class=3D"gmail_extra">Right, but t=
he original protocol allowed for e.g. millions of revisions of the transact=
ion, hence for high frequency trading (that's actually how Satoshi orig=
inally explained it to me - as a way to do HFT - back then the channel conc=
ept didn't exist).</div><div class=3D"gmail_extra"><br></div><div class=
=3D"gmail_extra">As you point out, with a careful construction of channels =
you should only need to bump the sequence number when the channel reverses =
direction. If your app only needs to do that rarely, it's a fine approa=
ch.And your proposal does sounds better than sequence numbers being useless=
like at the moment. I'm just wondering if we can get back to the origi=
nal somehow or at least leave a path open to it, as it seems to be a supers=
et of all other proposals, features-wise.</div></div>
</blockquote></div><br></div>
</div></div><br>-----------------------------------------------------------=
-------------------<br>
<br>_______________________________________________<br>
Bitcoin-development mailing list<br>
<a href=3D"mailto:Bitcoin-development@lists.sourceforge.net" target=3D"_bla=
nk">Bitcoin-development@lists.sourceforge.net</a><br>
<a href=3D"https://lists.sourceforge.net/lists/listinfo/bitcoin-development=
" target=3D"_blank">https://lists.sourceforge.net/lists/listinfo/bitcoin-de=
velopment</a><br>
<br></blockquote></div><br></div>
<br>-----------------------------------------------------------------------=
-------<br>
<br>_______________________________________________<br>
Bitcoin-development mailing list<br>
<a href=3D"mailto:Bitcoin-development@lists.sourceforge.net">Bitcoin-develo=
pment@lists.sourceforge.net</a><br>
<a href=3D"https://lists.sourceforge.net/lists/listinfo/bitcoin-development=
" target=3D"_blank">https://lists.sourceforge.net/lists/listinfo/bitcoin-de=
velopment</a><br>
<br></blockquote></div>
--bcaec51dd23b4e09a70517259a7e--
|