summaryrefslogtreecommitdiff
path: root/ac/9e34c73f43083c13984e66b1caa6993a2cdead
blob: 991f4495af3bc0a9857a2b8ef3ef6cdd3c6ebd2c (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
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
Received: from sog-mx-2.v43.ch3.sourceforge.com ([172.29.43.192]
	helo=mx.sourceforge.net)
	by sfs-ml-3.v29.ch3.sourceforge.com with esmtp (Exim 4.76)
	(envelope-from <tier.nolan@gmail.com>) id 1Yy0BQ-0002EQ-Eu
	for bitcoin-development@lists.sourceforge.net;
	Thu, 28 May 2015 15:57:24 +0000
Received-SPF: pass (sog-mx-2.v43.ch3.sourceforge.com: domain of gmail.com
	designates 209.85.192.49 as permitted sender)
	client-ip=209.85.192.49; envelope-from=tier.nolan@gmail.com;
	helo=mail-qg0-f49.google.com; 
Received: from mail-qg0-f49.google.com ([209.85.192.49])
	by sog-mx-2.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128)
	(Exim 4.76) id 1Yy0BM-0007kK-Qs
	for bitcoin-development@lists.sourceforge.net;
	Thu, 28 May 2015 15:57:24 +0000
Received: by qgez61 with SMTP id z61so18531160qge.1
	for <bitcoin-development@lists.sourceforge.net>;
	Thu, 28 May 2015 08:57:15 -0700 (PDT)
MIME-Version: 1.0
X-Received: by 10.140.38.167 with SMTP id t36mr3981579qgt.69.1432828635144;
	Thu, 28 May 2015 08:57:15 -0700 (PDT)
Received: by 10.140.85.241 with HTTP; Thu, 28 May 2015 08:57:15 -0700 (PDT)
In-Reply-To: <CAOG=w-vY7WHso90mtzhSRiuTLVfahMv1Xr6p_AZvyh4krxPLSg@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>
	<CAOG=w-tQyrc8ncAFauDObmBYn3uSwBcLoWVqruaV6PcTUFbTKg@mail.gmail.com>
	<CAE-z3OXO++0n+UVKe1KYyGv=GyHrZ-MsJtYELk+KC6cEV2UbHQ@mail.gmail.com>
	<CAOG=w-vY7WHso90mtzhSRiuTLVfahMv1Xr6p_AZvyh4krxPLSg@mail.gmail.com>
Date: Thu, 28 May 2015 16:57:15 +0100
Message-ID: <CAE-z3OWrVP+jE9bL=9+eC+RE5L5kYQ_Y-JT4Go2r+o-M=eYssw@mail.gmail.com>
From: Tier Nolan <tier.nolan@gmail.com>
Cc: Bitcoin Development <bitcoin-development@lists.sourceforge.net>
Content-Type: multipart/alternative; boundary=001a11c12ce4d2a27e0517266960
X-Spam-Score: 3.3 (+++)
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 FREEMAIL_FROM Sender email is commonly abused enduser mail provider
	(tier.nolan[at]gmail.com)
	-0.0 SPF_PASS               SPF: sender matches SPF record
	1.2 MISSING_HEADERS        Missing To: header
	1.0 HTML_MESSAGE           BODY: HTML included in message
	-0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
	author's domain
	0.1 DKIM_SIGNED            Message has a DKIM or DK signature,
	not necessarily valid
	-0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
	2.7 MALFORMED_FREEMAIL Bad headers on message from free email service
X-Headers-End: 1Yy0BM-0007kK-Qs
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 15:57:24 -0000

--001a11c12ce4d2a27e0517266960
Content-Type: text/plain; charset=UTF-8

What are the use cases for relative lock time verify?  I have 1 and I think
that is the kind of thing it is useful for.

I think that most cases are just to guarantee that the other party has a
chance to react.  This means that 8191 blocks should be more than enough
(and most would set it lower).

For long term, the absolute version is just as good.  That depends on use
cases.  "You can't take step 4 until 3 months after step 3 has completed"
doesn't seem useful.

On Thu, May 28, 2015 at 4:38 PM, Mark Friedenbach <mark@friedenbach.org>
wrote:

> Oh ok you mean a semantic difference for the purpose of explaining. It
> doesn't actually change the code.
>
> Regarding saving more bits, there really isn't much room if you consider
> time-based relative locktimes and long-lived channels on the order of a
> year or more.
>
> On Thu, May 28, 2015 at 8:18 AM, Tier Nolan <tier.nolan@gmail.com> wrote:
>
>> On Thu, May 28, 2015 at 3:59 PM, Mark Friedenbach <mark@friedenbach.org>
>> wrote:
>>
>>> Why 3? Do we have a version 2?
>>>
>> I meant whatever the next version is, so you are right, it's version 2.
>>
>>> As for doing it in serialization, that would alter the txid making it a
>>> hard fork change.
>>>
>> The change is backwards compatible (since there is no restrictions on
>> sequence numbers).   This makes it a soft fork.
>>
>> That doesn't change the fact that you are changing what a field in the
>> transaction represents.
>>
>> You could say that the sequence number is no longer encoded in the
>> serialization, it is assumed to be 0xFFFFFFFF for all version 2+
>> transactions and the relative locktime is a whole new field that is the
>> same size (and position).
>>
>> I think keeping some of the bytes for other uses is a good idea.  The
>> entire top 2 bytes could be ignored when working out relative locktime
>> verify.  That leaves them fully free to be set to anything.
>>
>> It could be that if the MSB of the bottom 2 bytes is set, then that
>> activates the rule and the top 2 bytes are ignored.
>>
>> Are there any use-cases which need a RLTV of more than 8191 blocks delay
>> (that can't be covered by the absolute version)?
>>
>>
>> ------------------------------------------------------------------------------
>>
>> _______________________________________________
>> Bitcoin-development mailing list
>> Bitcoin-development@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
>>
>>
>

--001a11c12ce4d2a27e0517266960
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div><div><div>What are the use cases for relative lock ti=
me verify?=C2=A0 I have 1 and I think that is the kind of thing it is usefu=
l for.<br><br></div>I think that most cases are just to guarantee that the =
other party has a chance to react.=C2=A0 This means that 8191 blocks should=
 be more than enough (and most would set it lower).<br><br></div>For long t=
erm, the absolute version is just as good.=C2=A0 That depends on use cases.=
=C2=A0 &quot;You can&#39;t take step 4 until 3 months after step 3 has comp=
leted&quot; doesn&#39;t seem useful.<br></div></div><div class=3D"gmail_ext=
ra"><br><div class=3D"gmail_quote">On Thu, May 28, 2015 at 4:38 PM, Mark Fr=
iedenbach <span dir=3D"ltr">&lt;<a href=3D"mailto:mark@friedenbach.org" tar=
get=3D"_blank">mark@friedenbach.org</a>&gt;</span> wrote:<br><blockquote cl=
ass=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;p=
adding-left:1ex"><div dir=3D"ltr"><div>Oh ok you mean a semantic difference=
 for the purpose of explaining. It doesn&#39;t actually change the code.<br=
><br></div>Regarding saving more bits, there really isn&#39;t much room if =
you consider time-based relative locktimes and long-lived channels on the o=
rder of a year or more.<br></div><div class=3D"gmail_extra"><br><div class=
=3D"gmail_quote"><div><div class=3D"h5">On Thu, May 28, 2015 at 8:18 AM, Ti=
er Nolan <span dir=3D"ltr">&lt;<a href=3D"mailto:tier.nolan@gmail.com" targ=
et=3D"_blank">tier.nolan@gmail.com</a>&gt;</span> wrote:<br></div></div><bl=
ockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #=
ccc solid;padding-left:1ex"><div><div class=3D"h5"><div dir=3D"ltr"><div cl=
ass=3D"gmail_extra"><div><span>On Thu, May 28, 2015 at 3:59 PM, Mark Friede=
nbach <span dir=3D"ltr">&lt;<a href=3D"mailto:mark@friedenbach.org" target=
=3D"_blank">mark@friedenbach.org</a>&gt;</span> wrote:<br><blockquote class=
=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padd=
ing-left:1ex"><p dir=3D"ltr">Why 3? Do we have a version 2?</p></blockquote=
></span>I meant whatever the next version is, so you are right, it&#39;s ve=
rsion 2. <br></div><div class=3D"gmail_quote"><span><blockquote class=3D"gm=
ail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-le=
ft:1ex">
<p dir=3D"ltr">As for doing it in serialization, that would alter the txid =
making it a hard fork change.</p></blockquote></span><div>The change is bac=
kwards compatible (since there is no restrictions on sequence numbers).=C2=
=A0=C2=A0 This makes it a soft fork.<br><br>That doesn&#39;t change the fac=
t that you are changing what a field in the transaction represents.<br><br>=
</div><div>You could say that the sequence number is no longer encoded in t=
he serialization, it is assumed to be 0xFFFFFFFF for all version 2+ transac=
tions and the relative locktime is a whole new field that is the same size =
(and position).<br><br></div><div>I think keeping some of the bytes for oth=
er uses is a good idea.=C2=A0 The entire top 2 bytes could be ignored when =
working out relative locktime verify.=C2=A0 That leaves them fully free to =
be set to anything.=C2=A0 <br><br>It could be that if the MSB of the bottom=
 2 bytes is set, then that activates the rule and the top 2 bytes are ignor=
ed.<br><br></div><div>Are there any use-cases which need a RLTV of more tha=
n 8191 blocks delay (that can&#39;t be covered by the absolute version)?=C2=
=A0 <br></div></div></div></div>
<br></div></div><span class=3D"">------------------------------------------=
------------------------------------<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></span></blockquote></div><br></div>
</blockquote></div><br></div>

--001a11c12ce4d2a27e0517266960--