summaryrefslogtreecommitdiff
path: root/7c/b2a16dc298628c1eb7864038970bb2ae6c6285
blob: 67a430b9c9399caa797b7dd81fcdf4ed41f72d37 (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
Return-Path: <dev@jonasschnelli.ch>
Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org
	[172.17.192.35])
	by mail.linuxfoundation.org (Postfix) with ESMTPS id B50AA9F0
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Wed, 29 Aug 2018 18:27:57 +0000 (UTC)
X-Greylist: from auto-whitelisted by SQLgrey-1.7.6
Received: from bitcoin.jonasschnelli.ch (bitcoinsrv.jonasschnelli.ch
	[138.201.55.219])
	by smtp1.linuxfoundation.org (Postfix) with ESMTP id C620983B
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Wed, 29 Aug 2018 18:27:56 +0000 (UTC)
Received: by bitcoin.jonasschnelli.ch (Postfix, from userid 1002)
	id CE94E15E166D; Wed, 29 Aug 2018 20:27:55 +0200 (CEST)
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
	smtp1.linux-foundation.org
X-Spam-Level: 
X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham
	version=3.3.1
Received: from [192.168.0.9] (cable-static-239-93.teleport.ch [213.188.239.93])
	by bitcoin.jonasschnelli.ch (Postfix) with ESMTPSA id 7C70D15E1249;
	Wed, 29 Aug 2018 20:27:55 +0200 (CEST)
From: Jonas Schnelli <dev@jonasschnelli.ch>
Message-Id: <4EC6599E-D317-4E4F-9E4D-37B7006B8C15@jonasschnelli.ch>
Content-Type: multipart/signed;
	boundary="Apple-Mail=_B858A7CC-6506-4ABA-9631-E45965459875";
	protocol="application/pgp-signature"; micalg=pgp-sha256
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
Date: Wed, 29 Aug 2018 20:27:51 +0200
In-Reply-To: <758E3CA7-295B-4B77-BFF5-9AAE959D53EA@voskuil.org>
To: Eric Voskuil <eric@voskuil.org>
References: <CA+9w0-77oP3rmW37R6ty4fF_LhaOtQaL52yQUKynXEmZhQ9MeA@mail.gmail.com>
	<8AE1517F-88FB-479D-AE89-993A5545D210@jonasschnelli.ch>
	<758E3CA7-295B-4B77-BFF5-9AAE959D53EA@voskuil.org>
X-Mailer: Apple Mail (2.3445.9.1)
X-Virus-Scanned: clamav-milter 0.100.1 at bitcoinsrv.jonasschnelli.ch
X-Virus-Status: Clean
X-Mailman-Approved-At: Thu, 30 Aug 2018 02:19:22 +0000
Cc: Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org>,
	Blockchain Group <shekharhiran@gmail.com>
Subject: Re: [bitcoin-dev] Building a Bitcoin API and query system.
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: Wed, 29 Aug 2018 18:27:57 -0000


--Apple-Mail=_B858A7CC-6506-4ABA-9631-E45965459875
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8


> The API implementation is not what is centralizing, nor is full =
indexation non-scalable. The centralization is in not running the API =
from a node under your own control. This is of course implied by the =
comment, =E2=80=9Cwithout the need for syncing=E2=80=9D. In other words =
it is the deployment cost of the node that is centralizing.

IMO an API that serves non verifiable data is supporting centralised =
validation. The =E2=80=9EAPI" which supports one of the most important =
properties in Bitcoin =E2=80=93 the ability to self-validate =E2=80=93 =
is the data available via the p2p network.

>=20
> Yet if people relied only on bitcoind and never centralized services =
there would be *no* block explorers (and no secure light wallets), =
because it does not provide remote query and does not fully index.
>=20
> Block explorers and light wallets are pretty useful, so presumably =
some API must provide these features (ideally with reduced deployment =
cost). That will either be centralized or decentralized services. As =
such it seems wise to encourage the latter, as opposed to questioning =
whether there is any valid block explorer use case.

Bitcoin-Core has all required features to partially =E2=80=9Eindex=E2=80=9C=
 data (called the wallet) and provides them via the RPC API. If you =
don=E2=80=99t need to serve thousands of wallets (which smells after =
centralised validation), selective indexing (wallets) are the right =
choice. Also, if you have a proper light client architecture, you can =
use Bitcoin Core in pruned mode (<10GB of data) to serve an endless =
amount of wallets (client/server mode, I guess that is what you are =
referring to with "light clients").

I fail to see the use-cases where a fully index blockchain makes sense =
(the only one I can come up with is instant backup recovery where the =
transaction history needs to be preserved rather then recovering the =
UTXOs only).

Also, the p2p protocol has built in light client support with BIP37 =
(bloom filters) and soon BIP158 will be available on the network which =
does allow privacy-preserving "light clients" in a way where no trusted =
layer is required (client <-> p2p network rather then client <-> API =
provider <-> p2p network).

I don=E2=80=99t want to advocate against a full-index blockexplorer-like =
API. I just think its important to define the use case and be aware of =
the consequences and downsides.

/jonas

--Apple-Mail=_B858A7CC-6506-4ABA-9631-E45965459875
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP

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

iQIzBAEBCAAdFiEEyhopCNzi8TB0xizeHrd2uwPHki0FAluG5acACgkQHrd2uwPH
ki1OZQ/+J0lLwOj2uA4ecD6XKHGfyhsF+9owNKT0lG5FN/Y6b+eAABtS/7sf2meu
sQomjswxPzVyBqHyrmicHWHrIynStchXVfV6MCzdwHdBthwOzS2+j4Udf48mT3IP
+P+A3de2J6W1VMiv4yUTNOCRYej2gL8TOoUhJ0hM0W/w8prYPgXvmPDljXORKdN1
BTsHWLwy+SgcSuKRclMOvNj7y05J4t16fibgqNYfODgdt24XTNmJDGWMReRhk3p3
p+aIw3X+UImvfZfV8zLpg+g7JbIObPXUeQkHDYG8di8o8kpSogxkYlksjjzWKKqz
+PpCNXzie9fl9StI89Ss1B1e5n+Crt8OQRGa0y05+HDAajhem9E/6i5+xAzB3Pl9
58OygDiSn241NnI4CPab/bDMXrFMSYsk3NIvqcO73yXN2cmS3OLHi079JxUSZ3YS
jL54xJGftv4qCSIfNREXXiHrmXkQiy/lKopvCCdd0xTd3tIghJjZE6G2Fcczlz94
LL3T9cHjkVLDV1rP5yO2xUWvsiTP+OmdQBitPlE4xqOuzWjTlGbAmSHnbuvuaAMB
0jsgboCxDjBUTIoV6PB72mIycYg1XmvwmI0tCI7F4E07TD6+C5ryXgQhSsb3ZPhW
bqfyjUgdZBIsLXE5vXwshwLRyaWlh8DcjAdQ+90HyNDZ8OS6VK4=
=UoNw
-----END PGP SIGNATURE-----

--Apple-Mail=_B858A7CC-6506-4ABA-9631-E45965459875--