Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 1F2241013 for ; Sun, 20 Dec 2015 11:38:35 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.7.6 Received: from mail-ig0-f171.google.com (mail-ig0-f171.google.com [209.85.213.171]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id A475F106 for ; Sun, 20 Dec 2015 11:38:34 +0000 (UTC) Received: by mail-ig0-f171.google.com with SMTP id m11so17018746igk.1 for ; Sun, 20 Dec 2015 03:38:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:cc :content-type; bh=/d3SsB98LMNYCQ9BvE+L8R2KZGeF9VN61aone4GRyM8=; b=TWLkNFNXuVA3qPZ+Z2Al0Je9QZzxiiKnBw8vDynojAsogDxIQoiS/ceGcILCT0MHjK EEGzMIsywItAFTf8bD0tFe2FAOuYjeUPsqGoImPKtmyg/w/REBeuWJ94QjXVfT/t9ss+ SozKv9Jtw+R3Gvg/05H+GrKQ1C1YiE3Jsm2x0ueQ4yH43xSlMKU5vbubpNKie3zoMv70 QQnG15XtUwPAi4LuzNGhR/bkZehgmXv7Bn7FqoO80u0YiBjNUVokwsyVKdo3fTwdxPLr mB2+702aBDXpzoRB4OYVoje8reWVUpnPMfSaVh1n64HgUq7haTtuFrPWkljmdQc51Cfz WdMg== MIME-Version: 1.0 X-Received: by 10.50.171.202 with SMTP id aw10mr12980466igc.26.1450611514156; Sun, 20 Dec 2015 03:38:34 -0800 (PST) Received: by 10.79.77.75 with HTTP; Sun, 20 Dec 2015 03:38:34 -0800 (PST) In-Reply-To: References: <20151219184240.GB12893@muck> <219f125cee6ca68fd27016642e38fdf1@xbt.hk> Date: Sun, 20 Dec 2015 11:38:34 +0000 Message-ID: From: Tier Nolan Cc: Bitcoin Dev Content-Type: multipart/alternative; boundary=089e010d931a022c8e052752d086 X-Spam-Status: No, score=-1.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,HTML_MESSAGE,MISSING_HEADERS, RCVD_IN_DNSWL_LOW autolearn=no version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Subject: Re: [bitcoin-dev] We need to fix the block withholding attack X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Bitcoin Development Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 20 Dec 2015 11:38:35 -0000 --089e010d931a022c8e052752d086 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Sun, Dec 20, 2015 at 5:12 AM, Emin G=C3=BCn Sirer < bitcoin-dev@lists.linuxfoundation.org> wrote: > An attacker pool (A) can take a certain portion of its hashpower, > use it to mine on behalf of victim pool (B), furnish partial proofs of wo= rk > to B, but discard any full blocks it discovers. > I wonder if part of the problem here is that there is no pool identity linked to mining pools. If the mining protocols were altered so that miners had to indicate their identity, then a pool couldn't forward hashing power to their victim. If the various mining protocols were updated, they could allow checking that the work has the domain name of the pool included. Pools would have to include their domain name in the block header. A pool which provides this service is publicly saying that they will not use the block withholding attack. Any two pools which are doing it cannot attack each other (since they have different domain names). This creates an incentive for pools to start supporting the feature. Owners of hashing power also have an incentive to operate with pools which offer this identity. It means that they can ensure that they get a payout from any blocks found. Hosted mining is weaker, but even then, it is possible for mining hosts to provide proof that they performed mining. This proof would include the identity of the mining pool. Even if the pool was run by the host, it would still need to have the name embedded. Mining hosts might be able to figure out which of their customers actually check the identity info, and then they could redirect the mining power of those who generally don't check. If customers randomly ask for all of the hashing power, right back to when they joined, then this becomes expensive. Mining power directly owned by the pool is also immune to this effect. --089e010d931a022c8e052752d086 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
On S= un, Dec 20, 2015 at 5:12 AM, Emin G=C3=BCn Sirer <bitc= oin-dev@lists.linuxfoundation.org> wrote:
=C2=A0An attacker pool (A) can take a certa= in portion of its hashpower,
use it to mine on behalf of victim pool (B= ), furnish partial proofs of work
to B, but discard any full bloc= ks it discovers.

I wonder if pa= rt of the problem here is that there is no pool identity linked to mining p= ools.

If the mining protocols were altered so that miners= had to indicate their identity, then a pool couldn't forward hashing p= ower to their victim.=C2=A0

If the various mining protoc= ols were updated, they could allow checking that the work has the domain na= me of the pool included.=C2=A0 Pools would have to include their domain nam= e in the block header.

A pool which provides this service= is publicly saying that they will not use the block withholding attack.=C2= =A0 Any two pools which are doing it cannot attack each other (since they h= ave different domain names).=C2=A0 This creates an incentive for pools to s= tart supporting the feature.

Owners of hashing power also= have an incentive to operate with pools which offer this identity.=C2=A0 I= t means that they can ensure that they get a payout from any blocks found.<= br>
Hosted mining is weaker, but even then, it is possible fo= r mining hosts to provide proof that they performed mining.=C2=A0 This proo= f would include the identity of the mining pool.=C2=A0 Even if the pool was= run by the host, it would still need to have the name embedded.=C2=A0
=
Mining hosts might be able to figure out which of their cust= omers actually check the identity info, and then they could redirect the mi= ning power of those who generally don't check.=C2=A0 If customers rando= mly ask for all of the hashing power, right back to when they joined, then = this becomes expensive.

Mining power directly owned by th= e pool is also immune to this effect.
--089e010d931a022c8e052752d086--