<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Sat, Jul 11, 2015 at 11:24:48AM +0200, Jorge Timón wrote:<br>
&gt; All miners should validate transactions precisely because of the latest<br>
&gt; attack you&#39;ve described. Full miners can gain a lot from this attack to<br>
&gt; leverage their full validation against spv miners who blindly spend energy<br>
&gt; hashing on top of something that may be worthless crap. SPV mining makes no<br>
&gt; sense, but some miners claim they&#39;re doind it for very short periods of<br>
&gt; time, which shouldn&#39;t be as bad as doing it all the time.<br>
&gt;<br>
&gt; I think it would be more rational for them to keep mining on top of the old<br>
&gt; block until they&#39;ve fully validated the new block (which shouldn&#39;t take so<br>
&gt; long anyway), even if this slightly increases the orphan rate.<br>
<br>
You&#39;re missing something really critical about what F2Pool/AntPool were<br>
(are?) doing: They&#39;re finding out about new blocks not by getting block<br>
headers from just anywhere, but by connecting to other pools&#39; via<br>
stratum anonymously and determining what block hash they&#39;re telling the<br>
hashers at the pool to work on. (e.g. what prevblockhash is in the block<br>
header of shares being generated)<br>
<br>
If other pools try to fake this information they&#39;re immediately and<br>
directly losing money, because they&#39;re telling their own hashers to make<br>
invalid blocks. This of course has a high chance of being detected, and<br>
can easily be FUDed into &quot;STOP MINING AT FOO POOL!&quot; reardless of what<br>
the ivory tower game theory might say. The only hope the pools have is<br>
to somehow identify which connections correspond to other pools with<br>
high reliability and target just those connections - good luck on that.<br>
<br>
<br>
Anyway, all this concern about SPV mining is misguided: relying purely<br>
on SPV w/ low #&#39;s of confirmations just isn&#39;t very smart. What SPV can<br>
do - at least while the inflation subsidy is still high - is give<br>
reasonable protection against your third-party-run trusted full nodes<br>
from lying to you, simply because doing so has well-defined costs in<br>
terms of energy to create fake blocks. Targetting enough people at once<br>
to make a fake block a worthwhile investment is difficult, particularly<br>
when you take into account how timing works in the defenders favor - the<br>
attacker probably only has a small % of hashing power, so they&#39;re going<br>
to wait a long time to find their fake block. Between that and a trusted<br>
third party-run full node you&#39;re probably reasonably safe, for now.<br>
<br>
--<br>
&#39;peter&#39;[:-1]@<a href="http://petertodd.org" rel="noreferrer" target="_blank">petertodd.org</a><br>
0000000000000000086007e31decd6eb80e07f77271ef50c69e1e6342161f4e5<br>
<br>_______________________________________________<br>
bitcoin-dev mailing list<br>
<a href="mailto:bitcoin-dev@lists.linuxfoundation.org">bitcoin-dev@lists.linuxfoundation.org</a><br>
<a href="https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev" rel="noreferrer" target="_blank">https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev</a><br>
<br></blockquote>