<p dir="ltr"><br>
On 25 Dec 2015 12:15 p.m., &quot;Ittay&quot; &lt;<a href="mailto:ittay.eyal@cornell.edu">ittay.eyal@cornell.edu</a>&gt; wrote:</p>
<p dir="ltr">&gt; As for masquerading as multiple small pools -- that&#39;s a very good point, with a surprising answer: it doesn&#39;t really matter. An attacker attacks all parts of the open pool proportionally to their size, and the result is basically identical to that of attacking a single large pool. </p>
<p dir="ltr">While true, that&#39;s only relevant to the indiscriminate attacker! The vigilante attacker that wants to hurt only pools that are too large, doesn&#39;t even know that there&#39;s a need to attack as all of them seem small.</p>
<p dir="ltr">That&#39;s what i was saying.</p>
<p dir="ltr">&gt;<br>
&gt; On Mon, Dec 21, 2015 at 1:39 PM, Jannes Faber via bitcoin-dev &lt;<a href="mailto:bitcoin-dev@lists.linuxfoundation.org">bitcoin-dev@lists.linuxfoundation.org</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; If you&#39;re saying a block withholding attack is a nice weapon to have to dissuade large pools, isn&#39;t that easily defeated by large pools simply masquerading as multiple small pools? As, for all we know, ghash may have done?<br>
&gt;&gt;<br>
&gt;&gt; If you don&#39;t know who to attack there&#39;s no point in having the weapon. While that weapon is still dangerous in the hands of others that are indiscriminate, like the solo miners example of Peter Todd.<br>
&gt;&gt;<br>
&gt;&gt; Sorry if i misunderstood your point.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; Jannes<br>
&gt;&gt;<br>
&gt;&gt; On 20 December 2015 at 18:00, Emin Gün Sirer &lt;<a href="mailto:bitcoin-dev@lists.linuxfoundation.org">bitcoin-dev@lists.linuxfoundation.org</a>&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On Sun, Dec 20, 2015 at 8:28 AM, Peter Todd &lt;<a href="mailto:pete@petertodd.org">pete@petertodd.org</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; There are a number of techniques that can be used to detect block<br>
&gt;&gt;&gt;&gt; withholding attacks that you are not aware of. These techniques usually<br>
&gt;&gt;&gt;&gt; have the characteristic that if known they can be avoided, so obviously<br>
&gt;&gt;&gt;&gt; those who know about them are highly reluctant to reveal what exactly<br>
&gt;&gt;&gt;&gt; they are. I personally know about some of them and have been asked to<br>
&gt;&gt;&gt;&gt; keep that information secret, which I will.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Indeed, there are lots of weak measures that one could employ against <br>
&gt;&gt;&gt; an uninformed attacker. As I mentioned before, these are unlikely to be<br>
&gt;&gt;&gt; effective against a savvy attacker, and this is a good thing.<br>
&gt;&gt;&gt;  <br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; In the context of KYC, this techniques would likely hold up in court,<br>
&gt;&gt;&gt;&gt; which means that if this stuff becomes a more serious problem it&#39;s<br>
&gt;&gt;&gt;&gt; perfectly viable for large, well-resourced, pools to prevent block<br>
&gt;&gt;&gt;&gt; withholding attacks, in part by removing anonymity of hashing power.<br>
&gt;&gt;&gt;&gt; This would not be a positive development for the ecosystem.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; KYC has a particular financial-regulation connotation in Bitcoin circles, <br>
&gt;&gt;&gt; of which I&#39;m sure you&#39;re aware, and which you&#39;re using as a spectre. <br>
&gt;&gt;&gt; You don&#39;t mean government-regulated-KYC a la FINCEN and Bitcoin<br>
&gt;&gt;&gt; exchanges like Coinbase, you are just referring to a pool operator<br>
&gt;&gt;&gt; demanding to know that its customer is not coming from its competitors&#39;<br>
&gt;&gt;&gt; data centers.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; And your prediction doesn&#39;t seem well-motivated or properly justified. <br>
&gt;&gt;&gt; There are tons of conditionals in your prediction, starting with the premise<br>
&gt;&gt;&gt; that every single open pool would implement some notion of identity <br>
&gt;&gt;&gt; checking. I don&#39;t believe that will happen. Instead, we will have the bigger<br>
&gt;&gt;&gt; pools become more suspicious of signing up new hash power, which is a<br>
&gt;&gt;&gt; good thing. And we will have small groups of people who have some reason<br>
&gt;&gt;&gt; for trusting each other (e.g. they know each other from IRC, conferences, <br>
&gt;&gt;&gt; etc) band together into small pools. These are fantastic outcomes for<br>
&gt;&gt;&gt; decentralization.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Secondly, DRM tech can also easily be used to prevent block withholding<br>
&gt;&gt;&gt;&gt; attacks by attesting to the honest of the hashing power. This is being<br>
&gt;&gt;&gt;&gt; discussed in the industry, and again, this isn&#39;t a positive development<br>
&gt;&gt;&gt;&gt; for the ecosystem.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; DRM is a terrible application. Once again, I see that you&#39;re trying to use those<br>
&gt;&gt;&gt; three letters as a spectre as well, knowing that most people hate DRM, but <br>
&gt;&gt;&gt; keep in mind that DRM is just an application -- it&#39;s like pointing to Adobe Flash<br>
&gt;&gt;&gt; to taint all browser plugins.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; The tech behind DRM is called &quot;attestation,&quot; and it provides a technical <br>
&gt;&gt;&gt; capability not possible by any other means. In essence, attestation can ensure that<br>
&gt;&gt;&gt; a remote node is indeed running the code that it purports to be running. Since <br>
&gt;&gt;&gt; most problems in computer security and distributed systems stem from not<br>
&gt;&gt;&gt; knowing what protocol the attacker is going to follow, attestation is the only <br>
&gt;&gt;&gt; technology we have that lets us step around this limitation. <br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; It can ensure, for instance, <br>
&gt;&gt;&gt;   - that a node purporting to be Bitcoin Core (vLatest) is indeed running an<br>
&gt;&gt;&gt; unadulterated, latest version of Bitcoin Core <br>
&gt;&gt;&gt;   - that a node claiming that it does not harvest IP addresses from SPV <br>
&gt;&gt;&gt; clients indeed does not harvest IP addresses.<br>
&gt;&gt;&gt;   - that a cloud hashing outfit that rented out X terahashes to a user did <br>
&gt;&gt;&gt; indeed rent out X terahashes to that particular user, <br>
&gt;&gt;&gt;   - that a miner operating on behalf of some pool P will not misbehave and<br>
&gt;&gt;&gt; discard perfectly good blocks<br>
&gt;&gt;&gt; and so forth. All of these would be great for the ecosystem. Just getting rid<br>
&gt;&gt;&gt; of the cloudhashing scams would put an end to a lot of heartache.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt; Keep in mind that when an open pool gets big, like GHash did and<br>
&gt;&gt;&gt;&gt; &gt; two other pools did before them, the only thing at our disposal used<br>
&gt;&gt;&gt;&gt; &gt; to be to yell at people about centralization until they left the big<br>
&gt;&gt;&gt;&gt; &gt; pools and reformed into smaller groups. Not only was such yelling<br>
&gt;&gt;&gt;&gt; &gt; kind of desperate looking, it wasn&#39;t incredibly effective, either.<br>
&gt;&gt;&gt;&gt; &gt; We had no protocol mechanisms that put pressure on big pools to<br>
&gt;&gt;&gt;&gt; &gt; stop signing up people. Ittay&#39;s discovery changed that: pools that<br>
&gt;&gt;&gt;&gt; &gt; get to be very big by indiscriminately signing up miners are likely to<br>
&gt;&gt;&gt;&gt; &gt; be infiltrated and their profitability will drop. And Peter&#39;s post is<br>
&gt;&gt;&gt;&gt; &gt; evidence that this is, indeed, happening as predicted. This is a<br>
&gt;&gt;&gt;&gt; &gt; good outcome, it puts pressure on the big pools to not grow.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; GHash.io was not a pure pool - they owned and operated a significant<br>
&gt;&gt;&gt;&gt; amount of physical hashing power, and it&#39;s not at all clear that their %<br>
&gt;&gt;&gt;&gt; of the network actually went down following that 51% debacle.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Right, it&#39;s not clear at all that yelling at people has much effect. As much<br>
&gt;&gt;&gt; fun as I had going to that meeting with GHash in London to ask them to<br>
&gt;&gt;&gt; back down off of the 51% boundary, I am pretty sure that yelling at large<br>
&gt;&gt;&gt; open pools will not scale. We needed better mechanisms for keeping pools<br>
&gt;&gt;&gt; in check.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; And Miner&#39;s Dilemma (MD) attacks are clearly quite effective. This is a<br>
&gt;&gt;&gt; time when we should count our blessings, not work actively to render<br>
&gt;&gt;&gt; them inoperable.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Currently a significant % of the hashing power - possibly a majority -<br>
&gt;&gt;&gt;&gt; is in the form of large hashing installations whose owners individually,<br>
&gt;&gt;&gt;&gt; and definitely in trusting groups, have enough hashing power to solo<br>
&gt;&gt;&gt;&gt; mine. Eyal&#39;s results indicate those miners have incentives to attack<br>
&gt;&gt;&gt;&gt; pools, and additionally they have the incentive of killing off pools to<br>
&gt;&gt;&gt;&gt; make it difficult for new competition to get established, yet they<br>
&gt;&gt;&gt;&gt; themselves are not vulnerable to that attack.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; There are indeed solo miners out there who can attack the big open<br>
&gt;&gt;&gt; pools. The loss of the biggest open pools would not be a bad outcome.<br>
&gt;&gt;&gt; Pools &gt;25% pose a danger, and the home miner doesn&#39;t need a pool <br>
&gt;&gt;&gt; &gt;25% for protection against variance. <br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; &gt; Peter, you allude to a specific suggestion from Luke-Jr. Can you<br>
&gt;&gt;&gt;&gt; &gt; please describe what it is?<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Basically you have the pool pick a secret k for each share, and commit<br>
&gt;&gt;&gt;&gt; to H(k) in the share. Additionally the share commits to a target divider<br>
&gt;&gt;&gt;&gt; D. The PoW validity rule is then changed from H(block header) &lt; T, to be<br>
&gt;&gt;&gt;&gt; H(block header) &lt; T * D &amp;&amp; H(H(block header) + k) &lt; max_int / D<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Thanks, this requires a change to the Bitcoin PoW. Good luck with that! <br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Once again, this suggestion would make the GHash-at-51% situation <br>
&gt;&gt;&gt; possible again. Working extra hard to re-enable those painful days <br>
&gt;&gt;&gt; sounds like a terrible idea. <br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; - egs<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; _______________________________________________<br>
&gt;&gt;&gt; bitcoin-dev mailing list<br>
&gt;&gt;&gt; <a href="mailto:bitcoin-dev@lists.linuxfoundation.org">bitcoin-dev@lists.linuxfoundation.org</a><br>
&gt;&gt;&gt; <a href="https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev">https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; _______________________________________________<br>
&gt;&gt; bitcoin-dev mailing list<br>
&gt;&gt; <a href="mailto:bitcoin-dev@lists.linuxfoundation.org">bitcoin-dev@lists.linuxfoundation.org</a><br>
&gt;&gt; <a href="https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev">https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev</a><br>
&gt;&gt;<br>
&gt;<br>
</p>