summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Koss <mike@coinlab.com>2012-06-04 13:49:48 -0700
committerbitcoindev <bitcoindev@gnusha.org>2012-06-04 21:20:48 +0000
commit1f9f372f488a756315dc1a56c8295b16f6ae598d (patch)
tree1624a36213db594c4cfff47fc12523ba8fe8108b
parent7c15ff0a3af1e572509cd70c4eb970e224d376d9 (diff)
downloadpi-bitcoindev-1f9f372f488a756315dc1a56c8295b16f6ae598d.tar.gz
pi-bitcoindev-1f9f372f488a756315dc1a56c8295b16f6ae598d.zip
Re: [Bitcoin-development] Defeating the block withholding attack
-rw-r--r--92/311c2e647e22763bb4ad2126340d4af8a0416f261
1 files changed, 261 insertions, 0 deletions
diff --git a/92/311c2e647e22763bb4ad2126340d4af8a0416f b/92/311c2e647e22763bb4ad2126340d4af8a0416f
new file mode 100644
index 000000000..5da36d5d6
--- /dev/null
+++ b/92/311c2e647e22763bb4ad2126340d4af8a0416f
@@ -0,0 +1,261 @@
+Received: from sog-mx-3.v43.ch3.sourceforge.com ([172.29.43.193]
+ helo=mx.sourceforge.net)
+ by sfs-ml-3.v29.ch3.sourceforge.com with esmtp (Exim 4.76)
+ (envelope-from <mike@coinlab.com>) id 1Sbehk-0004zz-Jz
+ for bitcoin-development@lists.sourceforge.net;
+ Mon, 04 Jun 2012 21:20:48 +0000
+Received-SPF: pass (sog-mx-3.v43.ch3.sourceforge.com: domain of coinlab.com
+ designates 209.85.216.175 as permitted sender)
+ client-ip=209.85.216.175; envelope-from=mike@coinlab.com;
+ helo=mail-qc0-f175.google.com;
+Received: from mail-qc0-f175.google.com ([209.85.216.175])
+ by sog-mx-3.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128)
+ (Exim 4.76) id 1Sbehj-0007YW-Hq
+ for bitcoin-development@lists.sourceforge.net;
+ Mon, 04 Jun 2012 21:20:48 +0000
+Received: by qcso7 with SMTP id o7so2668859qcs.34
+ for <bitcoin-development@lists.sourceforge.net>;
+ Mon, 04 Jun 2012 14:20:42 -0700 (PDT)
+X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
+ d=google.com; s=20120113;
+ h=mime-version:in-reply-to:references:date:message-id:subject:from:to
+ :cc:content-type:x-gm-message-state;
+ bh=dzwqEUpxg7X9hNTd4KUbcFqONgkcSD+iPtl/NfxSovk=;
+ b=XjUn0oiHIaaE1NMtaxwC/zdPOQtDDJWCDWV4LsVsghRwvJL06gTDdDk9ULjkwo794h
+ RS1I7yc4EgLuqdMpQBScg4hvod/VgqqKzrAih23q3O/eTrbqMPsG2eSIKSpPqnEO2mIh
+ QWDWpAlMMnYw72pGtxHq31brhG4x7KrBQoTEYU7U/fumaC0NyBwDZwZuFeeQYy7k+IGo
+ LwIIyN3mFVNBm9EPLVDReWqeTemaWimx84xB2SBcYMrR9NGoN95/J9zMX7FAK1bdEzyh
+ eeITQdsUB+dmFN3E7t99n5+Kxl0f7zST7SNQqyWpSfHH5pQV6NdxD8STZ6G2HbJmVFrz
+ 4BaA==
+MIME-Version: 1.0
+Received: by 10.224.96.82 with SMTP id g18mr14764553qan.0.1338842988647; Mon,
+ 04 Jun 2012 13:49:48 -0700 (PDT)
+Received: by 10.229.242.14 with HTTP; Mon, 4 Jun 2012 13:49:48 -0700 (PDT)
+In-Reply-To: <201206040204.57503.luke@dashjr.org>
+References: <201206030052.17128.luke@dashjr.org>
+ <CAMGNxUu7SbnfpU8L+qp7KUmFLSU=VqcYGu2GhzRaYhkTT3Nz7A@mail.gmail.com>
+ <201206040204.57503.luke@dashjr.org>
+Date: Mon, 4 Jun 2012 13:49:48 -0700
+Message-ID: <CAErK2CjpSb=Rb+evWg+_fs0brBfTDe3_HM1z-an0picb_8tzpQ@mail.gmail.com>
+From: Mike Koss <mike@coinlab.com>
+To: Luke-Jr <luke@dashjr.org>
+Content-Type: multipart/alternative; boundary=20cf3074b3ecbf96db04c1abac4c
+X-Gm-Message-State: ALoCoQmtUufDx3+1UveQ1SwmOyfcgGvPfwytQupk6hMavDR3S7bL0AU4EEaxgWNwEcKs3i3AvCB7
+X-Spam-Score: -0.5 (/)
+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.0 HTML_MESSAGE BODY: HTML included in message
+X-Headers-End: 1Sbehj-0007YW-Hq
+Cc: Bitcoin Dev <bitcoin-development@lists.sourceforge.net>
+Subject: Re: [Bitcoin-development] Defeating the block withholding attack
+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: Mon, 04 Jun 2012 21:20:48 -0000
+
+--20cf3074b3ecbf96db04c1abac4c
+Content-Type: text/plain; charset=ISO-8859-1
+
+As I understand the attack, the attacker gets compensated for the shares
+they earn, but the pool will be denied any valid blocks found. The
+attacker DOES NOT have access to the Bitcoins earned in the unreported
+block (only the mining pool has access to the Coinbase address and
+transactions in the block).
+
+So it's a zero-net-cost attack for the attacker (but no chance of making a
+profit) to hurt the pool operator. The only way to detect such an attack
+now is to look for "unlucky" miners; at the current difficulty, you can't
+detect this cheat until many millions of shares have been earned w/o a
+qualifying block. Since an attacker can also create many fake identities,
+they can avoid detection indefinitely by abandoning each account after a
+million earned shares.
+
+I don't understand your proposal for fixing this. You would have to come
+up with a scheme where:
+
+- The miner can detect a qualifying hash to earn a share.
+- Not be able to tell if the hash is for a valid block.
+
+The way I would do this is to have a secret part (not shared with the
+miners) of a block that is part of the merkle hash, which is also used in a
+secondary hash. Difficulty is then divide into two parts: the first,
+solved by the miner (earning a "share" - e.g., 1 in 4 Billion hashes). And
+a second, solved by the pool (1 in Difficulty shares). A valid block would
+have to exhibit a valid Share Hash AND a valid Pool Hash in order to be
+accepted.
+
+This would be a very major change to the Block structure. Given that
+attackers do not have direct monetary gain from this attack, I'm not sure
+we can justify it at this point.
+
+On Sun, Jun 3, 2012 at 7:04 PM, Luke-Jr <luke@dashjr.org> wrote:
+
+> On Monday, June 04, 2012 1:43:42 AM Peter Vessenes wrote:
+> > Does it have asymmetric payoff for an attacker, that is, over time does
+> it
+> > pay them more to spend their hashes attacking than just mining?
+>
+> That depends on the pool's reward scheme. Some complicated forms are
+> capable
+> of getting "bonus" earnings out of the pool. Under all systems, the
+> attacker
+> at least gains the "hurt the pool" benefit. Given the frequency of DDoS
+> attacks on pools, it is clear there are people who will even pay for
+> attacks
+> that provide no other benefit than harming pools. Under all systems, the
+> attacker doesn't lose out in any significant way.
+>
+> > My gut is that it pays less well than mining, meaning I think this is
+> > likely a small problem in the aggregate, and certainly not something we
+> > should try and fork the blockchain for until there's real pain.
+>
+> If we wait until there's real pain, it will be a painful fork. If we plan
+> it
+> 1-2 years out, people have time to upgrade on their own before it breaks.
+>
+> > Consider, for instance, whether it pays better than just mining bitcoins
+> > and spending those on 'bonuses' for getting users to switch from a pool
+> you
+> > hate.
+>
+> With this attack, attackers can hurt the pool's "luck factor" *and* spend
+> the
+> bitcoins they earn to bribe users away.
+>
+>
+> ------------------------------------------------------------------------------
+> Live Security Virtual Conference
+> Exclusive live event will cover all the ways today's security and
+> threat landscape has changed and how IT managers can respond. Discussions
+> will include endpoint security, mobile security and the latest in malware
+> threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
+> _______________________________________________
+> Bitcoin-development mailing list
+> Bitcoin-development@lists.sourceforge.net
+> https://lists.sourceforge.net/lists/listinfo/bitcoin-development
+>
+
+
+
+--
+Mike Koss
+CTO, CoinLab
+(425) 246-7701 (m)
+
+A Bitcoin Primer <http://coinlab.com/a-bitcoin-primer.pdf> - What you need
+to know about Bitcoins.
+
+--20cf3074b3ecbf96db04c1abac4c
+Content-Type: text/html; charset=ISO-8859-1
+Content-Transfer-Encoding: quoted-printable
+
+As I understand the attack, the attacker gets compensated for the shares th=
+ey earn, but the pool will be denied any valid blocks found. =A0The attacke=
+r DOES NOT have access to the Bitcoins earned in the unreported block (only=
+ the mining pool has access to the Coinbase address and transactions in the=
+ block).<div>
+<br></div><div>So it&#39;s a zero-net-cost attack for the attacker (but no =
+chance of making a profit) to hurt the pool operator. =A0The only way to de=
+tect such an attack now is to look for &quot;unlucky&quot; miners; at the c=
+urrent difficulty, you can&#39;t detect this cheat until many millions of s=
+hares have been earned w/o a qualifying block. =A0Since an attacker can als=
+o create many fake identities, they can avoid detection indefinitely by aba=
+ndoning each account after a million earned shares.</div>
+<div><br></div><div>I don&#39;t understand your proposal for fixing this. =
+=A0You would have to come up with a scheme where:</div><div><br></div><div>=
+- The miner can detect a qualifying hash to earn a share.</div><div>- Not b=
+e able to tell if the hash is for a valid block.</div>
+<div><br></div><div>The way I would do this is to have a secret part (not s=
+hared with the miners) of a block that is part of the merkle hash, which is=
+ also used in a secondary hash. =A0Difficulty is then divide into two parts=
+: the first, solved by the miner (earning a &quot;share&quot; - e.g., 1 in =
+4 Billion hashes). =A0And a second, solved by the pool (1 in Difficulty sha=
+res). =A0A valid block would have to exhibit a valid Share Hash AND a valid=
+ Pool Hash in order to be accepted.</div>
+<div><br></div><div>This would be a very major change to the Block structur=
+e. =A0Given that attackers do not have direct monetary gain from this attac=
+k, I&#39;m not sure we can justify it at this point.</div><div><br><div cla=
+ss=3D"gmail_quote">
+On Sun, Jun 3, 2012 at 7:04 PM, Luke-Jr <span dir=3D"ltr">&lt;<a href=3D"ma=
+ilto:luke@dashjr.org" target=3D"_blank">luke@dashjr.org</a>&gt;</span> wrot=
+e:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-l=
+eft:1px #ccc solid;padding-left:1ex">
+<div class=3D"im">On Monday, June 04, 2012 1:43:42 AM Peter Vessenes wrote:=
+<br>
+&gt; Does it have asymmetric payoff for an attacker, that is, over time doe=
+s it<br>
+&gt; pay them more to spend their hashes attacking than just mining?<br>
+<br>
+</div>That depends on the pool&#39;s reward scheme. Some complicated forms =
+are capable<br>
+of getting &quot;bonus&quot; earnings out of the pool. Under all systems, t=
+he attacker<br>
+at least gains the &quot;hurt the pool&quot; benefit. Given the frequency o=
+f DDoS<br>
+attacks on pools, it is clear there are people who will even pay for attack=
+s<br>
+that provide no other benefit than harming pools. Under all systems, the<br=
+>
+attacker doesn&#39;t lose out in any significant way.<br>
+<div class=3D"im"><br>
+&gt; My gut is that it pays less well than mining, meaning I think this is<=
+br>
+&gt; likely a small problem in the aggregate, and certainly not something w=
+e<br>
+&gt; should try and fork the blockchain for until there&#39;s real pain.<br=
+>
+<br>
+</div>If we wait until there&#39;s real pain, it will be a painful fork. If=
+ we plan it<br>
+1-2 years out, people have time to upgrade on their own before it breaks.<b=
+r>
+<div class=3D"im"><br>
+&gt; Consider, for instance, whether it pays better than just mining bitcoi=
+ns<br>
+&gt; and spending those on &#39;bonuses&#39; for getting users to switch fr=
+om a pool you<br>
+&gt; hate.<br>
+<br>
+</div>With this attack, attackers can hurt the pool&#39;s &quot;luck factor=
+&quot; *and* spend the<br>
+bitcoins they earn to bribe users away.<br>
+<div class=3D"HOEnZb"><div class=3D"h5"><br>
+---------------------------------------------------------------------------=
+---<br>
+Live Security Virtual Conference<br>
+Exclusive live event will cover all the ways today&#39;s security and<br>
+threat landscape has changed and how IT managers can respond. Discussions<b=
+r>
+will include endpoint security, mobile security and the latest in malware<b=
+r>
+threats. <a href=3D"http://www.accelacomm.com/jaw/sfrnl04242012/114/5012226=
+3/" target=3D"_blank">http://www.accelacomm.com/jaw/sfrnl04242012/114/50122=
+263/</a><br>
+_______________________________________________<br>
+Bitcoin-development mailing list<br>
+<a href=3D"mailto:Bitcoin-development@lists.sourceforge.net">Bitcoin-develo=
+pment@lists.sourceforge.net</a><br>
+<a href=3D"https://lists.sourceforge.net/lists/listinfo/bitcoin-development=
+" target=3D"_blank">https://lists.sourceforge.net/lists/listinfo/bitcoin-de=
+velopment</a><br>
+</div></div></blockquote></div><br><br clear=3D"all"><div><br></div>-- <br>=
+Mike Koss<div>CTO, CoinLab</div><div>(425) 246-7701 (m)</div><div><br></div=
+><div><a href=3D"http://coinlab.com/a-bitcoin-primer.pdf" target=3D"_blank"=
+>A Bitcoin Primer</a>=A0- What you need to know about Bitcoins.</div>
+<br>
+</div>
+
+--20cf3074b3ecbf96db04c1abac4c--
+
+