summaryrefslogtreecommitdiff
path: root/65/058bccaa99d20c7f0d6db376c781f04b09730b
blob: ba71e9bd812fc181551d3c5ae9c7c2cf7efd9b86 (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
Return-Path: <gmaxwell@gmail.com>
Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org
	[172.17.192.35])
	by mail.linuxfoundation.org (Postfix) with ESMTPS id 24DCC8F5
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Sun, 15 Nov 2015 01:08:18 +0000 (UTC)
X-Greylist: whitelisted by SQLgrey-1.7.6
Received: from mail-ig0-f173.google.com (mail-ig0-f173.google.com
	[209.85.213.173])
	by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 22C2EA8
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Sun, 15 Nov 2015 01:08:17 +0000 (UTC)
Received: by igvi2 with SMTP id i2so57246162igv.0
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Sat, 14 Nov 2015 17:08:16 -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:content-transfer-encoding;
	bh=50hNF9bDJ0dN5tuQj2AJYDIx6Sqm3DO7Ief8oGeZC1c=;
	b=H8aSQ9nTWa0wjSRewRo0cMYovPIE//F2IORehsSXd9HwHgHogDnkPJlDrgVo8Xd1U7
	9X/u6djLYsNK2vGqgS6GbYBilocS8yWUoqSwxs7a378IJ6Va2IQK7Ij/q4MB1FwbouRC
	Hyr2MXW4k2DW/k1q+9WI0IZkn8G+0Z316D3iCphbG7zCcehuTBxolcQflAY1wRUzAKfM
	2PiN2d/lA56tq/np8w4P5hZ4+UIzcdYbbE93yAsiDiEz5I82+U5hHdlmscix760ccFTy
	ujvzB9St6Kbl8w4xlxfITawc0cr0lRjaFD9JuUJuW6TypkdDI9y0sfIcD7VtfJLgmLDS
	xAlw==
MIME-Version: 1.0
X-Received: by 10.50.12.42 with SMTP id v10mr667985igb.48.1447549696604; Sat,
	14 Nov 2015 17:08:16 -0800 (PST)
Received: by 10.107.192.199 with HTTP; Sat, 14 Nov 2015 17:08:16 -0800 (PST)
In-Reply-To: <571D9B7F-077D-4B80-B577-1C18FF2ECF31@gmx.com>
References: <5631C363.5060705@neomailbox.net>
	<201510290803.52734.luke@dashjr.org>
	<5632DE33.7030600@bitcartel.com>
	<CAAS2fgTga_vTfOKrFu_hEzXSfTfg9FRfJ6aL6ginuGFqnbm7=w@mail.gmail.com>
	<3CB90C47-293E-4C18-A381-E5203483D68F@gmx.com>
	<CAAS2fgRdK4bDr3x_y9UpdH234PQSfD7U539HBLA==+hLQJ_7Fw@mail.gmail.com>
	<571D9B7F-077D-4B80-B577-1C18FF2ECF31@gmx.com>
Date: Sun, 15 Nov 2015 01:08:16 +0000
Message-ID: <CAAS2fgTLE1cpDqKTiy0r1VMex7zTAB8tgUC=Y0WXmbNBJL42xQ@mail.gmail.com>
From: Gregory Maxwell <gmaxwell@gmail.com>
To: Peter R <peter_r@gmx.com>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED,
	DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM,
	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
Cc: Bitcoin Dev <bitcoin-dev@lists.linuxfoundation.org>,
	telemaco <telemaco@neomailbox.net>
Subject: Re: [bitcoin-dev] [patch] Switching Bitcoin Core to sqlite db
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: Sun, 15 Nov 2015 01:08:18 -0000

On Sun, Nov 15, 2015 at 1:02 AM, Peter R <peter_r@gmx.com> wrote:
> Hi Greg,
>
> Like you said, the issue with using more than one database technology is =
not that one node would prove that Block X is valid while the another node =
proves that Block X is NOT valid.  Instead, the problem is that one node mi=
ght say =E2=80=9Cvalid=E2=80=9D while the other node says =E2=80=9CI don=E2=
=80=99t know.=E2=80=9D

Sometimes errors are such that you can catch them (if you're super
vigilant and know an error is even possible in that case)-- and
indeed, in that case you can get a "I don't know, something is
wrong.", other times errors are undetectable.

> In reality, this fear is largely unfounded.

I cited an issue in leveldb (before we used it) where it would
silently fail to return records.

> If the software was written with the philosophy that tracking consensus w=
as more important than bug-for-bug compatibility, it would have returned an=
 exception rather than =E2=80=9Cinvalid.=E2=80=9D

That invariant requires the software to be completely free of errors
that would violate it.