summaryrefslogtreecommitdiff
path: root/f4/594045da94fe8af2b98a677fda0598cbd92eed
blob: c392264fe994cc52e813086f720cf933fa7ec2e5 (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
Received: from sog-mx-1.v43.ch3.sourceforge.com ([172.29.43.191]
	helo=mx.sourceforge.net)
	by sfs-ml-3.v29.ch3.sourceforge.com with esmtp (Exim 4.76)
	(envelope-from <rme@i-rme.es>) id 1WwpJj-0000it-BP
	for bitcoin-development@lists.sourceforge.net;
	Tue, 17 Jun 2014 09:04:35 +0000
Received-SPF: pass (sog-mx-1.v43.ch3.sourceforge.com: domain of i-rme.es
	designates 209.85.215.44 as permitted sender)
	client-ip=209.85.215.44; envelope-from=rme@i-rme.es;
	helo=mail-la0-f44.google.com; 
Received: from mail-la0-f44.google.com ([209.85.215.44])
	by sog-mx-1.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128)
	(Exim 4.76) id 1WwpJh-0003Ks-EC
	for bitcoin-development@lists.sourceforge.net;
	Tue, 17 Jun 2014 09:04:35 +0000
Received: by mail-la0-f44.google.com with SMTP id ty20so1721905lab.31
	for <bitcoin-development@lists.sourceforge.net>;
	Tue, 17 Jun 2014 02:04:26 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=1e100.net; s=20130820;
	h=x-gm-message-state:mime-version:from:date:message-id:subject:cc
	:content-type;
	bh=9rkOAo81OUuToTgwBB4cCDBQzoIS8B/82k4Xv9a0vG0=;
	b=LHUwSFuzKoMpiGdDQ8Jw1ovQoFz+0d7vyGWuaMUVO0DeK9vlDP8FKb4R7F+Br+13YW
	bbzNjokFHNAlBHnAsFrF25nB5lUrJX0iKmKzGGSNoEwS1Y8qPftZ+hwOdjLX6Bs/a8PO
	TohVp0nRcEdHUWYEpp90W7KVFmS5SLQ2BQsIXhKUNkJmHbeojv4qmb38FMF46znPIW5x
	k8Jkmt0fu8aks2ScPLHzfz/9UZ4IPwCVwHHdgxkRNdsACdd1V3xeyZ0chu4qbOykLOeQ
	i8yShP0vq+cwnh52902M+QIi/pTijlJ9bw/cZQ2KjcYBpEtMHd+dxilWAonRdc+JYvVf
	0IBw==
X-Gm-Message-State: ALoCoQld1lpE/kf7cL9OaAErCKnqkzOiJrhNokWNwyp9lMkFuJaIb3Cquvh7PoamtH+p4oMNzo28
X-Received: by 10.152.4.39 with SMTP id h7mr18040192lah.12.1402995456087; Tue,
	17 Jun 2014 01:57:36 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.152.199.8 with HTTP; Tue, 17 Jun 2014 01:57:06 -0700 (PDT)
X-Originating-IP: [85.251.84.81]
From: =?UTF-8?B?UmHDumwgTWFydMOtbmV6?= <rme@i-rme.es>
Date: Tue, 17 Jun 2014 10:57:06 +0200
Message-ID: <CA+8=xuKmE2rgNK+Q4g+Gqvy3QuYAXzVRYtWKC2VttuB_LJmyMA@mail.gmail.com>
Cc: Bitcoin Dev <bitcoin-development@lists.sourceforge.net>
Content-Type: multipart/alternative; boundary=089e013d1c46c82de704fc04559b
X-Spam-Score: 0.6 (/)
X-Spam-Report: Spam Filtering performed by mx.sourceforge.net.
	See http://spamassassin.org/tag/ for more details.
	-1.5 SPF_CHECK_PASS SPF reports sender host as permitted sender for
	sender-domain
	-0.0 SPF_PASS               SPF: sender matches SPF record
	1.2 MISSING_HEADERS        Missing To: header
	1.0 HTML_MESSAGE           BODY: HTML included in message
	-0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from
	author's domain
	0.1 DKIM_SIGNED            Message has a DKIM or DK signature,
	not necessarily valid
	-0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
X-Headers-End: 1WwpJh-0003Ks-EC
Subject: [Bitcoin-development] Proposals for improving Bitcoin mining
	decentralization
X-BeenThere: bitcoin-development@lists.sourceforge.net
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <bitcoin-development.lists.sourceforge.net>
List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
	<mailto:bitcoin-development-request@lists.sourceforge.net?subject=unsubscribe>
List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum_name=bitcoin-development>
List-Post: <mailto:bitcoin-development@lists.sourceforge.net>
List-Help: <mailto:bitcoin-development-request@lists.sourceforge.net?subject=help>
List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
	<mailto:bitcoin-development-request@lists.sourceforge.net?subject=subscribe>
X-List-Received-Date: Tue, 17 Jun 2014 09:04:35 -0000

--089e013d1c46c82de704fc04559b
Content-Type: text/plain; charset=UTF-8

First of all I apologice due to the possible mistakes in my writing below,
I am not a Bitcoin developer but I have some knowledge about it.

----

We all know the recent news, Ghash pool controlling 51% of the hashrate.
While some consider it a threat others think that is not harmful.

The thing is that we have to do something to stop this from happening again.

My proposal is to start thinking about miners that join a pool like
independent miners and not slave miners, this includes creating a new
mining protocol that does not rely on the pool sending the list of
transactions to include in a block. Each individual miner has to collect
transactions by his own and mine that, this can be achieved by running a
full node or by running a SPV like node that ask other nodes for
transactions.

Once this protocol is developed and standarised we as a community could
require all pools to use it (because its better, because is more
trustless...), not by imposing it but by recommending it.

Pool owners could send some instructions using this protocol to the miner
about how many transactions to include per block (some pools want small
blocks), how many 0 fee transactions to include, how much is the minimum
fee per Kb to include transactions and some info about the Coinbase field
in the block.

This way is impossible to perform some of the possible 51% attacks:

   - A pool owner cant mine a new chain (selfish mining) (pool clients have
   a SPV or full node that has checkpoints and ask other peers about the
   length of the chain)
   - A pool owner can't perform double spends or reverse transactions (pool
   clients know all the transactions relayed to the network, they know if they
   are already included on a block)
   - A pool owner cant decide which transactions not to include (but they
   can configure the minimum fee).
   - A pool owner cant get all the rewards by avoiding other pools from
   mining blocks (Because the pool client knows the last block independently
   that is from his pool or other).


The only thing that a 51% pool owner can do is to shut down his pool and
drop the hashrate by 51% because he does not control the miners.

If the pool owner owns all the hardware in the pool my proposal is not
valid, if the pool clients dont use this protocol my proposal is not valid.


I want to know if this is possible or its been developed or there is
already a working protocol that works like this, also I want to read other
people's ways to address this threat, thanks for reading.

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

<div dir=3D"ltr"><div>First of all I apologice due to the possible mistakes=
 in my writing below, I am not a Bitcoin developer but I have some knowledg=
e about it.</div><div><br></div><div>----</div><div><br></div>We all know t=
he recent news, Ghash pool controlling 51% of the hashrate. While some cons=
ider it a threat others think that is not harmful.<div>

<br></div><div>The thing is that we have to do something to stop this from =
happening again.</div><div><br></div><div>My proposal is to start thinking =
about miners that join a pool like independent miners and not slave miners,=
 this includes creating a new mining protocol that does not rely on the poo=
l sending the list of transactions to include in a block. Each individual m=
iner has to collect transactions by his own and mine that, this can be achi=
eved by running a full node or by running a SPV like node that ask other no=
des for transactions.</div>

<div><br></div><div>Once this protocol is developed and standarised we as a=
 community could require all pools to use it (because its better, because i=
s more trustless...), not by imposing it but by recommending it.</div>
<div>
<br></div><div>Pool owners could send some instructions using this protocol=
 to the miner about how many transactions to include per block (some pools =
want small blocks), how many 0 fee transactions to include, how much is the=
 minimum fee per Kb to include transactions and some info about the Coinbas=
e field in the block.</div>

<div><br></div><div>This way is impossible to perform some of the possible =
51% attacks:</div><div><ul><li>A pool owner cant mine a new chain (selfish =
mining) (pool clients have a SPV or full node that has checkpoints and ask =
other peers about the length of the chain)</li>

<li>A pool owner can&#39;t=C2=A0perform double spends or reverse transactio=
ns (pool clients know all the transactions relayed to the network, they kno=
w if they are already included on a block)</li><li>A pool owner cant decide=
 which transactions not to include (but they can configure the minimum fee)=
.<br>

</li><li>A pool owner cant get all the rewards by avoiding other pools from=
 mining blocks (Because the pool client knows the last block independently =
that is from his pool or other).</li></ul><div><br></div></div><div>The onl=
y thing that a 51% pool owner can do is to shut down his pool and drop the =
hashrate by 51% because he does not control the miners.</div>

<div><br></div><div>If the pool owner owns all the hardware in the pool my =
proposal is not valid, if the pool clients dont use this protocol my propos=
al is not valid.</div><div><br></div><div><br></div><div>I want to know if =
this is possible or its been developed or there is already a working protoc=
ol that works like this, also I want to read other people&#39;s ways to add=
ress this threat, thanks for reading.</div>

</div>

--089e013d1c46c82de704fc04559b--