summaryrefslogtreecommitdiff
path: root/1c/45d33b68f7ffef56ed65344fa556c663ceb126
blob: adb97cd649ae1c14f0a2dd8ab5b5ae56c4bc597e (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
Return-Path: <gsanders87@gmail.com>
Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org
	[172.17.192.35])
	by mail.linuxfoundation.org (Postfix) with ESMTPS id 6D947BC7
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Fri,  7 Apr 2017 14:14:53 +0000 (UTC)
X-Greylist: whitelisted by SQLgrey-1.7.6
Received: from mail-qt0-f178.google.com (mail-qt0-f178.google.com
	[209.85.216.178])
	by smtp1.linuxfoundation.org (Postfix) with ESMTPS id D0891E3
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Fri,  7 Apr 2017 14:14:52 +0000 (UTC)
Received: by mail-qt0-f178.google.com with SMTP id c45so19992615qtb.1
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Fri, 07 Apr 2017 07:14:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc; bh=4XNvRAirRYqHOmLf8ykIWYc9J47WLucgTiuz4V14qUg=;
	b=EBOCIfc0EYwHM+kIUo8CkqtUDfZSD+0jBu41l8s1sRRqdJI+VvKYJ5W054pwN3XNFM
	mXrw5hy49rH6fZd87BuOegiVk8ZYalgxfH6MGjiEN7ssp0ysinEwbR9RGpRkR8uWDsyA
	IwhPrceLoGzkHc6sGXxnJZc7MkVuNHfrkkLAQtsMvgdWzaGadlfDcWUd5u2zQFyziMkH
	hwUbF5BJqAFMaUKYUdVUyf6b4o8GRthBvLXZwL+2/aOJX0SI2o+ihChVPLy8qnoiwh9w
	PWcEkqbVEglSVe0p3ySGWJ1FSAjFEKxs79er9uxQnbDIXN6rPf0cnGvGu6VxrgFTpAVX
	eXGg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=1e100.net; s=20161025;
	h=x-gm-message-state:mime-version:in-reply-to:references:from:date
	:message-id:subject:to:cc;
	bh=4XNvRAirRYqHOmLf8ykIWYc9J47WLucgTiuz4V14qUg=;
	b=YKoElwKhtFZwy/mAig6Re6UBBQk4rzwpLQx/+8aDz/PEChOwCEc/btg2R1Ez/lfm25
	kzXQTJ4RdLInFagBEPLVVF6aPwVAN5YbluyOjn97BZmYi3tDq/x8j10Hg3UADHhdnuG5
	RZenO1gFmZHLdv3WzhRgk+4jeo9vW12LoSFyoM8rUDNs2IKL+9+HuaXj3trsEb/jAQM/
	tXXXjrOpHTSrUjTuE82MSfIq5QuNXvQLxGS86A3w+g+eQ0yIZqGE6N2Nmf1zvaW6O+Nj
	UMfvLGcqImLv245t+4OGl+kMZZBQWyIwocYBANNoZVX3vvOBtcAp+EbY4V1YiSTnbXxY
	xliw==
X-Gm-Message-State: AFeK/H2wf+WlyX2SJJM+M8S0uhPSK8JaLJM92ALz4NuWYBoKba0/hFWoKVYOVbxc9L7+P85PNaMCc26BYVr/Uw==
X-Received: by 10.200.42.213 with SMTP id c21mr45120539qta.257.1491574491927; 
	Fri, 07 Apr 2017 07:14:51 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.12.137.180 with HTTP; Fri, 7 Apr 2017 07:14:31 -0700 (PDT)
In-Reply-To: <1491554876.1963053.937226528.7010832E@webmail.messagingengine.com>
References: <1491516747.3791700.936828232.69F82904@webmail.messagingengine.com>
	<f55cdaa01e5b37036a674df6eefbfebc.squirrel@mail.fairluck.net>
	<1491554876.1963053.937226528.7010832E@webmail.messagingengine.com>
From: Greg Sanders <gsanders87@gmail.com>
Date: Fri, 7 Apr 2017 10:14:31 -0400
Message-ID: <CAB3F3DvG4NSBEk1vS-KWQjn3PXWOwF3xNP7_txUpwTdDMHettg@mail.gmail.com>
To: Tomas <tomas@tomasvdw.nl>, 
	Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org>
Content-Type: multipart/alternative; boundary=001a11370ed4bf5bdb054c943fd1
X-Spam-Status: No, score=-0.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,
	DKIM_VALID,DKIM_VALID_AU,FREEMAIL_ENVFROM_END_DIGIT,FREEMAIL_FROM,
	HTML_MESSAGE, RCVD_IN_DNSWL_LOW, RCVD_IN_SORBS_SPAM,
	URIBL_RHS_DOB autolearn=no version=3.3.1
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
	smtp1.linux-foundation.org
Subject: Re: [bitcoin-dev] Using a storage engine without UTXO-index
X-BeenThere: bitcoin-dev@lists.linuxfoundation.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Bitcoin Protocol 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: Fri, 07 Apr 2017 14:14:53 -0000

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

Interesting work.

I was wondering if you could tell us what specs for the machine being used
as preliminary benchmark is here: https://bitcrust.org/results ?

I'd be interested to also see comparisons with 0.14 which has some
improvements for script validation with more cores.

On Fri, Apr 7, 2017 at 4:47 AM, Tomas via bitcoin-dev <
bitcoin-dev@lists.linuxfoundation.org> wrote:

> Thank you Marcos,
>
> Though written in Rust, bitcrust-db is definitely usable as pluggable
> module as its interface will be roughly some queries, add_tx and
> add_block with blobs and flags. (Bitcrust internally uses a
> deserialize-only model, keeping references to the blobs with the parsed
> data).
>
> However, from Core's side I believe network and storage are currently
> rather tightly coupled, which will make this far from trivial.
>
> Regardless, I am also hoping (with funding & a team) to build a Bitcrust
> networking component as well to bring a strong competitor to the market.
>
> best,
> Tomas
>
>
>
> On Fri, Apr 7, 2017, at 09:55, Marcos mayorga wrote:
> > Hi Tomas,
> >
> > I've read it and think it is an excellent work, I'd like to see it
> > integrated into bitcoin-core as a 'kernel module'.
> >
> > I see there are a lot of proof of concepts out there, IMO every one
> > deserve a room in the bitcoin client as a selectable feature, to make the
> > software more flexible and less dictatorial, an user could easily select
> > which features she wants to run.
> >
> > Best regards,
> > Marcos
> >
> > > I have been working on a bitcoin implementation that uses a different
> > > approach to indexing for verifying the order of transactions. Instead
> of
> > > using an index of unspent outputs, double spends are verified by using
> a
> > > spend-tree where spends are scanned against spent outputs instead of
> > > unspent outputs.
> > >
> > > This allows for much better concurrency, as not only blocks, but also
> > > individual inputs can be verified fully in parallel.
> > >
> > > I explain the approach at https://bitcrust.org, source code is
> available
> > > at https://github.com/tomasvdw/bitcrust
> > >
> > > I am sharing this not only to ask for your feedback, but also to call
> > > for a clear separation of protocol and implementations: As this
> > > solution, reversing the costs of outputs and inputs, seems to have
> > > excellent performance characteristics (as shown in the test results),
> > > updates to the protocol addressing the UTXO growth, might not be worth
> > > considering *protocol improvements* and it might be best to address
> > > these concerns as implementation details.
> > >
> > > Kind regards,
> > > Tomas van der Wansem
> > > tomas@bitcrust.org
> > > Bitcrust
> > > _______________________________________________
> > > 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
>

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

<div dir=3D"ltr">Interesting work.<div><br></div><div>I was wondering if yo=
u could tell us what specs for the machine being used as preliminary benchm=
ark is here:=C2=A0<a href=3D"https://bitcrust.org/results">https://bitcrust=
.org/results</a> ?</div><div><br></div><div>I&#39;d be interested to also s=
ee comparisons with 0.14 which has some improvements for script validation =
with more cores.</div></div><div class=3D"gmail_extra"><br><div class=3D"gm=
ail_quote">On Fri, Apr 7, 2017 at 4:47 AM, Tomas via bitcoin-dev <span dir=
=3D"ltr">&lt;<a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org" targe=
t=3D"_blank">bitcoin-dev@lists.linuxfoundation.org</a>&gt;</span> wrote:<br=
><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1=
px #ccc solid;padding-left:1ex">Thank you Marcos,<br>
<br>
Though written in Rust, bitcrust-db is definitely usable as pluggable<br>
module as its interface will be roughly some queries, add_tx and<br>
add_block with blobs and flags. (Bitcrust internally uses a<br>
deserialize-only model, keeping references to the blobs with the parsed<br>
data).<br>
<br>
However, from Core&#39;s side I believe network and storage are currently<b=
r>
rather tightly coupled, which will make this far from trivial.<br>
<br>
Regardless, I am also hoping (with funding &amp; a team) to build a Bitcrus=
t<br>
networking component as well to bring a strong competitor to the market.<br=
>
<br>
best,<br>
Tomas<br>
<div class=3D"HOEnZb"><div class=3D"h5"><br>
<br>
<br>
On Fri, Apr 7, 2017, at 09:55, Marcos mayorga wrote:<br>
&gt; Hi Tomas,<br>
&gt;<br>
&gt; I&#39;ve read it and think it is an excellent work, I&#39;d like to se=
e it<br>
&gt; integrated into bitcoin-core as a &#39;kernel module&#39;.<br>
&gt;<br>
&gt; I see there are a lot of proof of concepts out there, IMO every one<br=
>
&gt; deserve a room in the bitcoin client as a selectable feature, to make =
the<br>
&gt; software more flexible and less dictatorial, an user could easily sele=
ct<br>
&gt; which features she wants to run.<br>
&gt;<br>
&gt; Best regards,<br>
&gt; Marcos<br>
&gt;<br>
&gt; &gt; I have been working on a bitcoin implementation that uses a diffe=
rent<br>
&gt; &gt; approach to indexing for verifying the order of transactions. Ins=
tead of<br>
&gt; &gt; using an index of unspent outputs, double spends are verified by =
using a<br>
&gt; &gt; spend-tree where spends are scanned against spent outputs instead=
 of<br>
&gt; &gt; unspent outputs.<br>
&gt; &gt;<br>
&gt; &gt; This allows for much better concurrency, as not only blocks, but =
also<br>
&gt; &gt; individual inputs can be verified fully in parallel.<br>
&gt; &gt;<br>
&gt; &gt; I explain the approach at <a href=3D"https://bitcrust.org" rel=3D=
"noreferrer" target=3D"_blank">https://bitcrust.org</a>, source code is ava=
ilable<br>
&gt; &gt; at <a href=3D"https://github.com/tomasvdw/bitcrust" rel=3D"norefe=
rrer" target=3D"_blank">https://github.com/tomasvdw/<wbr>bitcrust</a><br>
&gt; &gt;<br>
&gt; &gt; I am sharing this not only to ask for your feedback, but also to =
call<br>
&gt; &gt; for a clear separation of protocol and implementations: As this<b=
r>
&gt; &gt; solution, reversing the costs of outputs and inputs, seems to hav=
e<br>
&gt; &gt; excellent performance characteristics (as shown in the test resul=
ts),<br>
&gt; &gt; updates to the protocol addressing the UTXO growth, might not be =
worth<br>
&gt; &gt; considering *protocol improvements* and it might be best to addre=
ss<br>
&gt; &gt; these concerns as implementation details.<br>
&gt; &gt;<br>
&gt; &gt; Kind regards,<br>
&gt; &gt; Tomas van der Wansem<br>
&gt; &gt; <a href=3D"mailto:tomas@bitcrust.org">tomas@bitcrust.org</a><br>
&gt; &gt; Bitcrust<br>
&gt; &gt; ______________________________<wbr>_________________<br>
&gt; &gt; bitcoin-dev mailing list<br>
&gt; &gt; <a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org">bitcoin-=
dev@lists.<wbr>linuxfoundation.org</a><br>
&gt; &gt; <a href=3D"https://lists.linuxfoundation.org/mailman/listinfo/bit=
coin-dev" rel=3D"noreferrer" target=3D"_blank">https://lists.linuxfoundatio=
n.<wbr>org/mailman/listinfo/bitcoin-<wbr>dev</a><br>
&gt; &gt;<br>
&gt;<br>
&gt;<br>
______________________________<wbr>_________________<br>
bitcoin-dev mailing list<br>
<a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org">bitcoin-dev@lists.=
<wbr>linuxfoundation.org</a><br>
<a href=3D"https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev" =
rel=3D"noreferrer" target=3D"_blank">https://lists.linuxfoundation.<wbr>org=
/mailman/listinfo/bitcoin-<wbr>dev</a><br>
</div></div></blockquote></div><br></div>

--001a11370ed4bf5bdb054c943fd1--