summaryrefslogtreecommitdiff
path: root/37/04fd8d52fe18c2e064d10a71078a043eb70436
blob: ea0d88b417a4b6d17230380b9c6b2b980b07e3c7 (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
Return-Path: <james.hilliard1@gmail.com>
Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org
	[172.17.192.35])
	by mail.linuxfoundation.org (Postfix) with ESMTPS id 74EB24A5
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Fri,  6 Oct 2017 14:36:18 +0000 (UTC)
X-Greylist: whitelisted by SQLgrey-1.7.6
Received: from mail-io0-f182.google.com (mail-io0-f182.google.com
	[209.85.223.182])
	by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 6C7D03F9
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Fri,  6 Oct 2017 14:36:17 +0000 (UTC)
Received: by mail-io0-f182.google.com with SMTP id 21so16294641iof.6
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Fri, 06 Oct 2017 07:36:17 -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
	:content-transfer-encoding;
	bh=UrzLzz82X0sPbMEewUP7jkfBbb9C5LA1UQAXHE10DOU=;
	b=l9BgaYM+0KXixnfkdGfD2jqbQcv8aLm2flHy1bDt74D7mAYgzasTS4ohGvXglMhHnb
	OBiAbtOnN3n9/yyj1MgiB5FLNHkjyi/G6JrKxU1lYXwo2YL5rcysK0FbThxGDonicENi
	lKs/rDGPrB4S67Z8xguC+f1tyKQE7q/TekWR2ViaXp0cfaNVE0Z9otbpCETgxDQKLHw7
	WacC+6jaPxSiSgd0WNT6GeCQ0B4034ha35mcH10ZxRlY2joiT+QIhOEKWChH/NklPcsi
	hAL/DFW5Dv1ywFPQS4ITgVoVj/4kVYGa1McTtoS2cNpShOoiln4zs+g7AnwK4L6Wzu6h
	AfeQ==
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:content-transfer-encoding;
	bh=UrzLzz82X0sPbMEewUP7jkfBbb9C5LA1UQAXHE10DOU=;
	b=Mkj/dQjOIJc0MhDphh4URQjP2aCNuAouq2NSvPMuC/48z5+IpMiANNX8LYB3vH5Gmq
	zz1TyvETiZqhI6UG53KIANflrtijZLY6VFY7nmIxMiNZC4Q7VRMFGfEyc8U7tLpZSiMC
	rvRqDhLopaEk+d4YkHn+qrntUhVQojYNINdFxIg1IMK+dfizpaXxjC2IlqncFcYtSLjf
	l7/b0ipfZdqvW58RLLWhH2sKf4BqMWRlHfuEuoLLIRwc750sT1igcPZMTv8gvH1udVOp
	HXi8eEuu9BuNnOmDWu7zCHu23GLtS4bnh/icFlUNWr/icqTJh5SdoG2D2Hseu4dzWuEX
	UZFw==
X-Gm-Message-State: AMCzsaVfWU1TtLSxE3Yu1jGLZrpHd4Xniqav9yPJOJfD74Zrpx2lbZ4w
	TzTf/Ag6EHonYkqx8WPjx2chu+5gqBy7OrDtXzY=
X-Google-Smtp-Source: AOwi7QDJ345brxdUPPuN/hR+IrUGW0bDnWXjnybfmmfCtubCNzCXOJCyMEUHH7RfZfNPf8glpuQfsH/4twv/nawLQ5E=
X-Received: by 10.107.202.2 with SMTP id a2mr2648067iog.140.1507300576369;
	Fri, 06 Oct 2017 07:36:16 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.2.88.3 with HTTP; Fri, 6 Oct 2017 07:36:15 -0700 (PDT)
In-Reply-To: <CA+fZXJKuE_C7231-OHM2gvFUYBKjfoDoOfh+04YqHZuQF41eag@mail.gmail.com>
References: <CA+fZXJKuE_C7231-OHM2gvFUYBKjfoDoOfh+04YqHZuQF41eag@mail.gmail.com>
From: James Hilliard <james.hilliard1@gmail.com>
Date: Fri, 6 Oct 2017 08:36:15 -0600
Message-ID: <CADvTj4p09Kq6SKKD_ttbjGsE7eyiq3hvDRQo3vUk6wCGVJU8UA@mail.gmail.com>
To: =?UTF-8?B?5r2Y5b+X5b2q?= <bit.kevin@gmail.com>, 
	Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Status: No, score=0.7 required=5.0 tests=DKIM_SIGNED,DKIM_VALID,
	DKIM_VALID_AU, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,
	RCVD_IN_DNSWL_NONE, 
	RCVD_IN_SORBS_SPAM autolearn=disabled version=3.3.1
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
	smtp1.linux-foundation.org
Subject: Re: [bitcoin-dev] A solution may solve Block Withholding Attack
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, 06 Oct 2017 14:36:18 -0000

There have been some other proposals to deal with this such as
https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2012-June/001506.ht=
ml
that may be possible to implement in existing miners.

On Tue, Oct 3, 2017 at 9:52 AM, =E6=BD=98=E5=BF=97=E5=BD=AA via bitcoin-dev
<bitcoin-dev@lists.linuxfoundation.org> wrote:
> Here is a solution may solve Block Withholding Attack. The general idea i=
s
> came from Aviv Zohar(avivz@cs.huji.ac.il), I made it work for Bitcoin.
> Anyway, thanks Aviv.
>
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
>
> DIFF_1 =3D 0x00000000FFFF000000000000000000000000000000000000000000000000=
0000;
>
> Diff =3D DIFF_1 / target
>
> this is equal to
>
> Diff =3D DIFF_1 / (target - 0) or Diff =3D DIFF_1 / abs(target - 0)
>
> now, we change diff algo to below:
>
> New_Diff =3D DIFF_1 / abs(target - offset)
>
> Offset is 32 bytes, like uint256 in Bitcoin, range is [0, 2^256),
> define: offset_hash =3D DSHA256(offset).
>
> we need to do a little change to the merkle root hash algo, put the
> offset_hash as a tx hash in the front of tx hashes.
>
> [offset_hash, coinbase_tx_hash, tx01_hash, tx02_hash, =E2=80=A6 , tx_n_ha=
sh]
>
> Actually could put offset_hash in any place in the array of hashes.
>
> network_hash_range =3D network_hash_end - network_hash_begin
>
> miner_hash_range =3D miner_hash_end - miner_hash_begin
>
> The offset value MUST between network_hash_begin/end or
> miner_hash_begin/end.
>
> https://user-images.githubusercontent.com/514951/31133378-e00d9ca2-a891-1=
1e7-8c61-73325f59f6ed.JPG
>
> When mining pool send a job to miners, put the PoW hash range
> (miner_hash_begin/end) in the job. So if the miners find a hash which val=
ue
> is between [miner_hash_begin, miner_hash_end], means it's SHOULD be a
> valid share, could submit the share to the pool. If the hash value is
> between [network_hash_begin, network_hash_end] means find a valid block.
>
> The network_diff is much much high than the miner's diff, means the
> network_hash_range is much much smaller than miner_hash_range. By now,
> a typical miner's pool diff is around 16K, network diff is 1123863285132,
> so miner_hash_range is at least million times bigger than
> network_hash_range.
> The miners only know miner_hash_range, it's impossible for cheat miners
> to find out which share could make a valid block or not.
>
> Problems:
> 1. it's a hard fork.
> 2. will make existed asic dsha256 chips useless, but I think it's only a
> small change to make new asic chips based on existed tech.
>
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>