summaryrefslogtreecommitdiff
path: root/eb/c67f3930a566f79aa3c19be129f5fcf4c57a5b
blob: c9e1d40252d35356a3db7038d0ba2662dd496c2b (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
Return-Path: <tomas@tomasvdw.nl>
Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org
	[172.17.192.35])
	by mail.linuxfoundation.org (Postfix) with ESMTPS id 2C578957
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Fri,  5 May 2017 08:49:41 +0000 (UTC)
X-Greylist: from auto-whitelisted by SQLgrey-1.7.6
Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com
	[66.111.4.28])
	by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 96512E5
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Fri,  5 May 2017 08:49:37 +0000 (UTC)
Received: from compute2.internal (compute2.nyi.internal [10.202.2.42])
	by mailout.nyi.internal (Postfix) with ESMTP id A1DEE209DF
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Fri,  5 May 2017 04:49:35 -0400 (EDT)
Received: from web3 ([10.202.2.213])
	by compute2.internal (MEProxy); Fri, 05 May 2017 04:49:35 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
	messagingengine.com; h=content-transfer-encoding:content-type
	:date:from:message-id:mime-version:subject:to:x-me-sender
	:x-me-sender:x-sasl-enc; s=fm1; bh=cQHGPAkpkmXNhaet0zT0RO0droGNe
	y3Io+W+mtpOG94=; b=Vc77rnj3BVtwPuHtApAqb0Cho4CtlpFiuoIXMNDt1lluf
	tXcVQ2OURKKGpCbYB5eOHsQ6COTiT3SWM7CPlLTC9g4UE1mF5N6qTpYmNu94HQ62
	6iDnt9WxHWzloZqH4/fF8KSMiJRWHqQR60HlrbeBSSGB896hzprdI0o2LBBzyeHC
	n2h5KmPnv8rhMc8YA/YyQqYKq9GAcwbb+D+U7YioP8fLaJINxDmOBCoEI29E81k7
	u006k6l1Hj9cXKyLPHBDcuTcYcL14OZR7NMKWXwVCOpFk8GA8izAcSat8Htr2LzC
	LgWQddoNEK5DJqpdvUjRE/zB+CGZI95i8rWBJyLpQ==
X-ME-Sender: <xms:nzwMWcpJrrbYeH05dbH5ChAUCa59JGJzZ4jtUCvdV4Qv5A9F5eex2w>
Received: by mailuser.nyi.internal (Postfix, from userid 99)
	id 7E8999EC8E; Fri,  5 May 2017 04:49:35 -0400 (EDT)
Message-Id: <1493974175.1405717.966643128.63AF4749@webmail.messagingengine.com>
From: Tomas <tomas@tomasvdw.nl>
To: bitcoin-dev@lists.linuxfoundation.org
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="utf-8"
X-Mailer: MessagingEngine.com Webmail Interface - ajax-6cc55fe1
Date: Fri, 05 May 2017 10:49:35 +0200
X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,DKIM_SIGNED,
	DKIM_VALID,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: Fri, 05 May 2017 10:59:11 +0000
Subject: [bitcoin-dev] Fraud Proofs with semi SPV
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, 05 May 2017 08:49:41 -0000

I would like some feedback on the idea to use a node type a bit heavier
then SPV (dubbed FSPV) to solve Fraud Proofs.

An FSPV node not only downloads block headers, but also the "spend-tree
blocks", consisting of all TXIDs and all previous output indices and
TXIDs. The latter can be compacted using a scheme similar to Compact
Blocks, which will make the spend-tree block ~80kb in size.

ThIs way the FSPV can track the full transaction graph at little cost.

The advantage is, that Fraud Hint messages for absent/withheld
transactions become feasible. A normal SPV  is reduced to Full Node by
such (cheaply faked) hint, but for an FSPV the cost is almost zero.

All it needs to do is add a taint-bit in the tree and propagate the
taint to the transaction graph. It then knows it needs to request the
Fraud Hinted transaction to consider any descendant transaction valid.

This makes it sufficient to punish fraudulent fraud hints or withheld
transactions by normal "banscore" procedures.

All other fraud can be proven by transaction-sets.

More information here:  https://bitcrust.org/blog-fraud-proofs

Tomas
Bitcrust