<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>A similar idea was proposed by Sirer and me as a part of two-phase proof of work (2P-PoW) [1]. In 2P-PoW the first phase is Bitcoin&#39;s standard PoW and the second phase requires the signature. This way Bitcoin doesn&#39;t lose its mining power (read: security) in one day, but rather it is possible to gradually switch from the current PoW to the signature-based one, slowly phasing out the existing hardware and mining datacenters. </div><div><br></div><div>For a more general view of nonoutsourceable puzzles you can check out Miller et al.&#39;s paper [2]. </div><div><br></div><div>Ittay </div><div><br></div><div>[1] <a href="http://hackingdistributed.com/2014/06/18/how-to-disincentivize-large-bitcoin-mining-pools/">http://hackingdistributed.com/2014/06/18/how-to-disincentivize-large-bitcoin-mining-pools/</a>  </div><div>[2] <a href="https://cs.umd.edu/~amiller/nonoutsourceable.pdf">https://cs.umd.edu/~amiller/nonoutsourceable.pdf</a> </div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">------------------------------<br>
<br>
Message: 2<br>
Date: Wed, 11 Feb 2015 08:54:15 +0000<br>
From: Hector Chu &lt;<a href="mailto:hectorchu@gmail.com">hectorchu@gmail.com</a>&gt;<br>
Subject: [Bitcoin-development] Proposal: Requiring a miner&#39;s signature<br>
        in      the block header<br>
To: <a href="mailto:bitcoin-development@lists.sourceforge.net">bitcoin-development@lists.sourceforge.net</a><br>
Message-ID:<br>
        &lt;<a href="mailto:CAAO2FKEFxC_byt4xVJb0S-7yy0M7M-Av7MHUH-RBDuri_GAFtw@mail.gmail.com">CAAO2FKEFxC_byt4xVJb0S-7yy0M7M-Av7MHUH-RBDuri_GAFtw@mail.gmail.com</a>&gt;<br>
Content-Type: text/plain; charset=&quot;utf-8&quot;<br>
<br>
A proposal for stemming the tide of mining centralisation -- Requiring a<br>
miner&#39;s signature in the block header (the whole of which is hashed), and<br>
paying out coinbase to the miner&#39;s public key.<br>
<br>
Please comment on whether this idea is feasible, has been thought of before,<br>
etc., etc. Thank you.<br>
<br>
Motivation<br>
----------<br>
<br>
Mining is centralising to a handful of pool operators. This is bad for a<br>
number of political reasons, which we won&#39;t go into right now. But I have<br>
always believed that some years down the line, they could hold the users<br>
hostage and change the rules to suit themselves. For instance by eliminating<br>
the halving of the block reward.<br>
<br>
Solution<br>
--------<br>
<br>
Currently the block header is formed by the pool operator and distributed<br>
for<br>
hashing by the pooled miners. It is possible to divide the work among the<br>
miners as the only thing that is used to search the hash space is by<br>
changing<br>
a nonce or two.<br>
<br>
I propose that we require each miner to sign the block header prior to<br>
hashing. The signature will be included in the data that is hashed. Further,<br>
the coinbase for the block must only pay out to the public key counterpart<br>
of<br>
the private key used to sign the block header.<br>
<br>
A valid block will therefore have a signature in the block header that is<br>
verified by the public key being paid by the coinbase transaction.<br>
<br>
Ramifications<br>
-------------<br>
<br>
Work can no longer be divided among the pooled miners as before, without<br>
sharing the pool&#39;s private key amongst all of them. If the pool does try to<br>
take this route, then any of the miners may redeem the coinbase when it<br>
matures. Therefore, all miners will use their own key pair.<br>
<br>
This will make it difficult to form a cooperating pool of miners who may not<br>
trust each other, as the block rewards will be controlled by disparate<br>
parties<br>
and not by the pool operator. Only a tight clique of trusted miners would be<br>
able to form their own private pool in such an environment.<br>
<br>
Attacks<br>
-------<br>
<br>
Pooled hashpower, instead of earning bitcoins legitimately may try to break<br>
the system instead. They may try a double-spending attack, but in order to<br>
leverage the pool to its full potential the pool operator would again have<br>
to<br>
share their private key with the whole pool. Due to the increased<br>
cooperation<br>
and coordination required for an attack, the probability of a 51% attack is<br>
much reduced.<br>
-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
<br>
------------------------------<br>
<br>
Message: 3<br>
Date: Wed, 11 Feb 2015 10:25:27 +0100<br>
From: Natanael &lt;<a href="mailto:natanael.l@gmail.com">natanael.l@gmail.com</a>&gt;<br>
Subject: Re: [Bitcoin-development] Proposal: Requiring a miner&#39;s<br>
        signature in the block header<br>
To: Hector Chu &lt;<a href="mailto:hectorchu@gmail.com">hectorchu@gmail.com</a>&gt;<br>
Cc: <a href="mailto:bitcoin-development@lists.sourceforge.net">bitcoin-development@lists.sourceforge.net</a><br>
Message-ID:<br>
        &lt;CAAt2M1_qj0r03=<a href="mailto:Ref9mN7bJLg-odep3m5teZ7JWDLC%2BzknQdQQ@mail.gmail.com">Ref9mN7bJLg-odep3m5teZ7JWDLC+zknQdQQ@mail.gmail.com</a>&gt;<br>
Content-Type: text/plain; charset=&quot;utf-8&quot;<br>
<br>
Den 11 feb 2015 09:55 skrev &quot;Hector Chu&quot; &lt;<a href="mailto:hectorchu@gmail.com">hectorchu@gmail.com</a>&gt;:<br>
&gt;<br>
&gt; A proposal for stemming the tide of mining centralisation -- Requiring a<br>
&gt; miner&#39;s signature in the block header (the whole of which is hashed), and<br>
&gt; paying out coinbase to the miner&#39;s public key.<br>
&gt;<br>
&gt; Please comment on whether this idea is feasible, has been thought of<br>
before,<br>
&gt; etc., etc. Thank you.<br>
&gt;<br>
&gt; Motivation<br>
&gt; ----------<br>
&gt;<br>
&gt; Mining is centralising to a handful of pool operators. This is bad for a<br>
&gt; number of political reasons, which we won&#39;t go into right now. But I have<br>
&gt; always believed that some years down the line, they could hold the users<br>
&gt; hostage and change the rules to suit themselves. For instance by<br>
eliminating<br>
&gt; the halving of the block reward.<br>
<br>
[...]<br>
<br>
&gt; I propose that we require each miner to sign the block header prior to<br>
&gt; hashing. The signature will be included in the data that is hashed.<br>
Further,<br>
&gt; the coinbase for the block must only pay out to the public key<br>
counterpart of<br>
&gt; the private key used to sign the block header.<br>
<br>
[...]<br>
<br>
&gt; This will make it difficult to form a cooperating pool of miners who may<br>
not<br>
&gt; trust each other, as the block rewards will be controlled by disparate<br>
parties<br>
&gt; and not by the pool operator. Only a tight clique of trusted miners would<br>
be<br>
&gt; able to form their own private pool in such an environment.<br>
<br>
People already trust things like cloud mining, so your solution with<br>
increasing technical trust requirements won&#39;t help. But you will however<br>
break P2Pool instead.<br>
<br>
Also, note that threshold signatures (group signatures) could probably be<br>
used by an actual distrusting pool&#39;s miners. There are already a proof of<br>
concept for this implemented with secp256k1 that works with Bitcoin clients<br>
silently. This wouldn&#39;t prevent such a pool from working.<br>
-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
<br>
------------------------------<br><br></blockquote></div></div></div>