summaryrefslogtreecommitdiff
path: root/d0/2e07577e005f29ae99177c323fdcfd0b9c498e
blob: a5b8a74eb3076dc037ee7733113cf42156043b06 (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
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
Return-Path: <akiva.lichtner@gmail.com>
Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org
	[172.17.192.35])
	by mail.linuxfoundation.org (Postfix) with ESMTPS id 9ED46C56
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Tue,  8 Dec 2015 21:41:09 +0000 (UTC)
X-Greylist: whitelisted by SQLgrey-1.7.6
Received: from mail-qg0-f51.google.com (mail-qg0-f51.google.com
	[209.85.192.51])
	by smtp1.linuxfoundation.org (Postfix) with ESMTPS id C3A29116
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Tue,  8 Dec 2015 21:41:08 +0000 (UTC)
Received: by qgec40 with SMTP id c40so38495364qge.2
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Tue, 08 Dec 2015 13:41:08 -0800 (PST)
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=c8mAZM1uzKhiCVKY34jBGqWTaKPmJo4XOrdaDOUN0YU=;
	b=I3hl/QKu2bNKl53FdTwXNXM8zFeUUq+bJaMTP4jW6zXhY0mdWu3d9dgFz3jSiSDuZF
	nJMfK7ueKgjJRAc+N+CRjIJSPiGGXvsd/ftdYU2c0Uzxsfp70R+idYFNGPd9GCjPeyY4
	Hzug8LKmR98w+cdrtyonjX40edxre4b+u6ahARttBpXsmJbDMvSRv3BgQwtaep5HsoCt
	FwOvsnsAfhSUKebr9mP57/fuuwLcBJDIgMGB/PwgHwjk9IZUnbUKETva3CjD1/x56+bZ
	fWyiNWGNT5kIBhra1Xewi3L12L++GJYQCc4VnD0YKXfYyUOi4o+8XyGZITELxHnjnanu
	tn/Q==
MIME-Version: 1.0
X-Received: by 10.55.75.216 with SMTP id y207mr2611567qka.19.1449610867978;
	Tue, 08 Dec 2015 13:41:07 -0800 (PST)
Received: by 10.140.101.112 with HTTP; Tue, 8 Dec 2015 13:41:07 -0800 (PST)
In-Reply-To: <56674BA9.8090702@gmail.com>
References: <CABCnA7Wqz76m8qo5BYT41Z=hBH+fUfOc4xsFAGg=Niv7Jgkqsg@mail.gmail.com>
	<56674280.3010003@gmail.com>
	<CABCnA7Vb1JA6E+heXZZ=DKcsK9gusa6tSNEL5AkGRLOT2ZND6w@mail.gmail.com>
	<56674BA9.8090702@gmail.com>
Date: Tue, 8 Dec 2015 16:41:07 -0500
Message-ID: <CABCnA7UuYmNDzwyV=7cF2SO3RiVr1Oa2U70bYbgQqes43490_g@mail.gmail.com>
From: Akiva Lichtner <akiva.lichtner@gmail.com>
To: Patrick Strateman <patrick.strateman@gmail.com>
Content-Type: multipart/alternative; boundary=001a114a7e70d93762052669d4a0
X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,
	DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,HTML_MESSAGE,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
X-Mailman-Approved-At: Wed, 09 Dec 2015 01:50:53 +0000
Cc: Bitcoin Dev <bitcoin-dev@lists.linuxfoundation.org>
Subject: Re: [bitcoin-dev] Scaling by Partitioning
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: Tue, 08 Dec 2015 21:41:09 -0000

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

If the system is modified to scale up that means the number of transactions
is going up. That means the number of miners can also go up, and so will
the portion of malicious nodes. At least this seems reasonable. The problem
with partitions is that an attacker can focus on one partition. However
because the number of miners also increases any attacks will fail as long
as the miners are willing to work on any partition, which is easily
accomplished by round-robin.

Since there are N times more miners each miner still does the same amount
of work. The system scales by partitioning the money supply and increasing
the number of miners.



On Tue, Dec 8, 2015 at 4:29 PM, Patrick Strateman via bitcoin-dev <
bitcoin-dev@lists.linuxfoundation.org> wrote:

> If partition is selected from a random key (the hash of the output for
> example) then payment recipients would need to operate a full node on each
> of the chains.
>
> What's the point of partitioning if virtually everybody needs to operate
> each partition?
>
> The mining aspect has it's own set of issues, but I'm not going to get
> into those.
>
> On 12/08/2015 01:23 PM, Akiva Lichtner wrote:
>
> It's true that miners would have to be prepared to work on any partition.
> I don't see where the number affects defeating double spending, what
> matters is the nonce in the block that keeps the next successful miner
> random.
>
> I expect that the number of miners would be ten times larger as well, so
> an attacker would have no advantage working on one partition.
>
> On Tue, Dec 8, 2015 at 3:50 PM, Patrick Strateman via bitcoin-dev <
> <bitcoin-dev@lists.linuxfoundation.org>
> bitcoin-dev@lists.linuxfoundation.org> wrote:
>
>> Payment recipients would need to operate a daemon for each chain, thus
>> guaranteeing no scaling advantage.
>>
>> (There are other issues, but I believe that to be enough of a show
>> stopper not to continue).
>>
>> On 12/08/2015 08:27 AM, Akiva Lichtner via bitcoin-dev wrote:
>>
>> Hello,
>>
>> I am seeking some expert feedback on an idea for scaling Bitcoin. As a
>> brief introduction: I work in the payment industry and I have twenty years'
>> experience in development. I have some experience with process groups and
>> ordering protocols too. I think I understand Satoshi's paper but I admit I
>> have not read the source code.
>>
>> The idea is to run more than one simultaneous chain, each chain defeating
>> double spending on only part of the coin. The coin would be partitioned by
>> radix (or modulus, not sure what to call it.) For example in order to
>> multiply throughput by a factor of ten you could run ten parallel chains,
>> one would work on coin that ends in "0", one on coin that ends in "1", and
>> so on up to "9".
>>
>> The number of chains could increase automatically over time based on the
>> moving average of transaction volume.
>>
>> Blocks would have to contain the number of the partition they belong to,
>> and miners would have to round-robin through partitions so that an attacker
>> would not have an unfair advantage working on just one partition.
>>
>> I don't think there is much impact to miners, but clients would have to
>> send more than one message in order to spend money. Client messages will
>> need to enumerate coin using some sort of compression, to save space. This
>> seems okay to me since often in computing client software does have to
>> break things up in equal parts (e.g. memory pages, file system blocks,) and
>> the client software could hide the details.
>>
>> Best wishes for continued success to the project.
>>
>> Regards,
>> Akiva
>>
>> P.S. I found a funny anagram for SATOSHI NAKAMOTO: "NSA IS OOOK AT MATH"
>>
>>
>>
>> _______________________________________________
>> bitcoin-dev mailing listbitcoin-dev@lists.linuxfoundation.orghttps://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>>
>>
>>
>> _______________________________________________
>> bitcoin-dev mailing list
>> bitcoin-dev@lists.linuxfoundation.org
>> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>>
>>
>
>
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>
>

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

<div dir=3D"ltr"><div><div>If the system is modified to scale up that means=
 the number of transactions is going up. That means the number of miners ca=
n also go up, and so will the portion of malicious nodes. At least this see=
ms reasonable. The problem with partitions is that an attacker can focus on=
 one partition. However because the number of miners also increases any att=
acks will fail as long as the miners are willing to work on any partition, =
which is easily accomplished by round-robin.<br><br></div>Since there are N=
 times more miners each miner still does the same amount of work. The syste=
m scales by partitioning the money supply and increasing the number of mine=
rs.<br><br></div><div><div><br></div></div></div><div class=3D"gmail_extra"=
><br><div class=3D"gmail_quote">On Tue, Dec 8, 2015 at 4:29 PM, Patrick Str=
ateman via bitcoin-dev <span dir=3D"ltr">&lt;<a href=3D"mailto:bitcoin-dev@=
lists.linuxfoundation.org" target=3D"_blank">bitcoin-dev@lists.linuxfoundat=
ion.org</a>&gt;</span> wrote:<br><blockquote class=3D"gmail_quote" style=3D=
"margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
 =20
   =20
 =20
  <div bgcolor=3D"#FFFFFF" text=3D"#000000">
    If partition is selected from a random key (the hash of the output
    for example) then payment recipients would need to operate a full
    node on each of the chains.<br>
    <br>
    What&#39;s the point of partitioning if virtually everybody needs to
    operate each partition?<br>
    <br>
    The mining aspect has it&#39;s own set of issues, but I&#39;m not going=
 to
    get into those.<br>
    <br>
    <div>On 12/08/2015 01:23 PM, Akiva Lichtner
      wrote:<br>
    </div>
    <blockquote type=3D"cite">
      <div dir=3D"ltr">
        <div>It&#39;s true that miners would have to be prepared to work on
          any partition. I don&#39;t see where the number affects defeating
          double spending, what matters is the nonce in the block that
          keeps the next successful miner random.<br>
          <br>
        </div>
        I expect that the number of miners would be ten times larger as
        well, so an attacker would have no advantage working on one
        partition.<br>
      </div>
      <div class=3D"gmail_extra"><br>
        <div class=3D"gmail_quote">On Tue, Dec 8, 2015 at 3:50 PM, Patrick
          Strateman via bitcoin-dev <span dir=3D"ltr">&lt;<a href=3D"mailto=
:bitcoin-dev@lists.linuxfoundation.org" target=3D"_blank"></a><a href=3D"ma=
ilto:bitcoin-dev@lists.linuxfoundation.org" target=3D"_blank">bitcoin-dev@l=
ists.linuxfoundation.org</a>&gt;</span>
          wrote:<br>
          <blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;bord=
er-left:1px #ccc solid;padding-left:1ex">
            <div bgcolor=3D"#FFFFFF" text=3D"#000000"> Payment recipients
              would need to operate a daemon for each chain, thus
              guaranteeing no scaling advantage.<br>
              <br>
              (There are other issues, but I believe that to be enough
              of a show stopper not to continue).<br>
              <br>
              <div>On 12/08/2015 08:27 AM, Akiva Lichtner via
                bitcoin-dev wrote:<br>
              </div>
              <blockquote type=3D"cite">
                <div dir=3D"ltr">
                  <div>
                    <div>
                      <div>
                        <div>
                          <div>
                            <div>
                              <div>
                                <div>Hello,<br>
                                  <br>
                                </div>
                                I am seeking some expert feedback on an
                                idea for scaling Bitcoin. As a brief
                                introduction: I work in the payment
                                industry and I have twenty years&#39;
                                experience in development. I have some
                                experience with process groups and
                                ordering protocols too. I think I
                                understand Satoshi&#39;s paper but I admit =
I
                                have not read the source code.<br>
                                <br>
                              </div>
                              The idea is to run more than one
                              simultaneous chain, each chain defeating
                              double spending on only part of the coin.
                              The coin would be partitioned by radix (or
                              modulus, not sure what to call it.) For
                              example in order to multiply throughput by
                              a factor of ten you could run ten parallel
                              chains, one would work on coin that ends
                              in &quot;0&quot;, one on coin that ends in &q=
uot;1&quot;, and
                              so on up to &quot;9&quot;.<br>
                              <br>
                            </div>
                            The number of chains could increase
                            automatically over time based on the moving
                            average of transaction volume.<br>
                            <br>
                          </div>
                          Blocks would have to contain the number of the
                          partition they belong to, and miners would
                          have to round-robin through partitions so that
                          an attacker would not have an unfair advantage
                          working on just one partition.<br>
                        </div>
                        <div><br>
                        </div>
                        <div>I don&#39;t think there is much impact to
                          miners, but clients would have to send more
                          than one message in order to spend money.
                          Client messages will need to enumerate coin
                          using some sort of compression, to save space.
                          This seems okay to me since often in computing
                          client software does have to break things up
                          in equal parts (e.g. memory pages, file system
                          blocks,) and the client software could hide
                          the details.<br>
                        </div>
                      </div>
                      <div><br>
                      </div>
                      <div>Best wishes for continued success to the
                        project.<br>
                      </div>
                      <div><br>
                      </div>
                      Regards,<br>
                    </div>
                    Akiva<br>
                    <br>
                  </div>
                  P.S. I found a funny anagram for SATOSHI NAKAMOTO:
                  &quot;NSA IS OOOK AT MATH&quot;<br>
                  <br>
                </div>
                <br>
                <fieldset></fieldset>
                <br>
                <pre>_______________________________________________
bitcoin-dev mailing list
<a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org" target=3D"_blank">=
bitcoin-dev@lists.linuxfoundation.org</a>
<a href=3D"https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev" =
target=3D"_blank">https://lists.linuxfoundation.org/mailman/listinfo/bitcoi=
n-dev</a>
</pre>
              </blockquote>
              <br>
            </div>
            <br>
            _______________________________________________<br>
            bitcoin-dev mailing list<br>
            <a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org" target=
=3D"_blank">bitcoin-dev@lists.linuxfoundation.org</a><br>
            <a href=3D"https://lists.linuxfoundation.org/mailman/listinfo/b=
itcoin-dev" rel=3D"noreferrer" target=3D"_blank">https://lists.linuxfoundat=
ion.org/mailman/listinfo/bitcoin-dev</a><br>
            <br>
          </blockquote>
        </div>
        <br>
      </div>
    </blockquote>
    <br>
  </div>

<br>_______________________________________________<br>
bitcoin-dev mailing list<br>
<a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org">bitcoin-dev@lists.=
linuxfoundation.org</a><br>
<a href=3D"https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev" =
rel=3D"noreferrer" target=3D"_blank">https://lists.linuxfoundation.org/mail=
man/listinfo/bitcoin-dev</a><br>
<br></blockquote></div><br></div>

--001a114a7e70d93762052669d4a0--