Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 78CA24A5 for ; Sun, 18 Dec 2016 21:54:11 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.7.6 Received: from mail-qk0-f173.google.com (mail-qk0-f173.google.com [209.85.220.173]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 9D99F141 for ; Sun, 18 Dec 2016 21:54:09 +0000 (UTC) Received: by mail-qk0-f173.google.com with SMTP id n21so9661400qka.3 for ; Sun, 18 Dec 2016 13:54:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=pxgwrgVYS2UmNsS5q0L651tLmKM0It0U2wt72yB68mQ=; b=koSaCuHnWZXFJ5wYIlBw0oJs5DpQm9w59/uxEShzYuL63pwVwXiSBsY/vepxRsKd4n HWz1gUZwoxA3GMkt223qV9L6PheVkxG1vnB7pR7kNGYeZf8IC4wcFqCYl1CiK28lgGk7 gqr4dlvVFsjanVCP15FO2yd39HKtgCzToRG/98ABPm+QRjAOeXd/H3LfqmGIeTPYf1Be s3ZtPbdNk1wC4mVj3RQQYr1t4U5x6YTljq7ZTzlghTgGjllDfZd7xucWeuvuVLLjM/OK NIxBAxWr3NtOVVsJgDyndvQTceSM/pLfaFv9Yl11L6gWUjuVBJ3ehC/M45McQ3PsQa5B ADSQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to; bh=pxgwrgVYS2UmNsS5q0L651tLmKM0It0U2wt72yB68mQ=; b=gr0LGCtQ5uHzod8ZURCbVcmov8ntwBXKApw/P6uX75AdM8cLAyjp3OYpXsh2kFPbjN Q8H4eWFP3P27UG6lLNf7XOyCsarKwYUzHPLrcdoqx0Jp0rh0/pPAAS3iYtL44cEPqFuP bOhhpKc5w+wBw/gf6Zhtzo2fi5v56kPq8bg+461NStoyrDWFeqlfCLMBvRXA7VqOjcF6 JEbRVBhoPQbJKYzt6NcHOZgJhthLPMksKIf+N8UuHiVjV//jZcCrhO0K7oUkzs9xhsvw a2Cqmab2GtAW5Fxe5hGGS7PiJI72/FX4UYuICc7kVyxAttApuebN0GoUlxenz+t38jsT ClFQ== X-Gm-Message-State: AIkVDXJBPH2Gk2a09gOYhbXWbfPYMBVS2xRXwS198waZBpQmtqVwm5FAmJvayxapChHLRZZMeWzvyRbPaWRbCw== X-Received: by 10.55.221.79 with SMTP id n76mr590488qki.276.1482098048469; Sun, 18 Dec 2016 13:54:08 -0800 (PST) MIME-Version: 1.0 References: <8679ecea-b449-0f5a-d4d7-1f23ae6e29b2@sky-ip.org> In-Reply-To: <8679ecea-b449-0f5a-d4d7-1f23ae6e29b2@sky-ip.org> From: James MacWhyte Date: Sun, 18 Dec 2016 21:53:57 +0000 Message-ID: To: Bitcoin Protocol Discussion Content-Type: multipart/alternative; boundary=001a11499f94b392ac0543f5d7ce X-Spam-Status: No, score=-2.7 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Subject: Re: [bitcoin-dev] Managing block size the same way we do difficulty (aka Block75) X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Bitcoin Protocol Discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 18 Dec 2016 21:54:11 -0000 --001a11499f94b392ac0543f5d7ce Content-Type: text/plain; charset=UTF-8 Hi All, I'm coming late to the party. I like the Block75 proposal. Multiple people have said miners would/could stuff blocks with insincere transactions to increase the block size, but it was never adequately explained what they would gain from this. If there aren't enough legitimate transactions to fill up the block, where do you plan to earn extra income once the block is bigger? Miners would be incentivized to include as many legitimate transactions as possible, but if propagation time is as big an issue as some of you have said it is, miners would also be incentivized to keep their blocks small enough to propagate. So why not give them the choice? Once the block size gets too big to propagate effectively, miners would be naturally incentivized to limit how much data they put in each block, finding the perfect balance. In my opinion, none of the downsides presented so far have been a good argument. Risk of a 51% attack is not unique to this proposal, saying "we could also do that with hardcoded limits" doesn't actually point out any problem with this proposal, and miners already have the ability to add or withhold transactions from their blocks. We trust our miners to serve us by acting in their own best interests, and this proposal simply gives them more options for doing that. If anyone can make a strong argument against that would earn top marks in a high school debate class, I'd love to hear it! James On Sun, Dec 11, 2016 at 3:23 PM s7r via bitcoin-dev < bitcoin-dev@lists.linuxfoundation.org> wrote: > Andrew Johnson wrote: > > "You miss something obvious that makes this attack actually free of cost. > > Nothing will "cost them more in transaction fees". A miner can create > > thousands of transactions paying to himself, and not broadcast them to > > the network, but hold them and include them in the blocks he mines. The > > fees are collected by him because transactions are included in a block > > that he mined and the left amount is in another wallet of the same > > person. Repeat this continuously to fill blocks." > > > > This is easily detectable as long as the network isn't heavily > > partitioned(which is an assumption we make today in order for > > transaction propagation to work reliably as well as for xThin and > > CompactBlocks to work effectively to reduce block transmission time). > > Other miners would have an incentive to intentionally orphan blocks that > > contained a large number of transactions that their nodes were unaware > of. > > > > I don't think this sort of attack would last long. Even later when > > subsidies are drastically reduced, you would still lose out on > > significant genuine fee revenue if your orphan rate increased even > > 10%(one out of ten of your poison blocks intentionally orphaned by > > another miner). > > > > I disagree. > > I didn't say this is impossible to detect, but it is hard to act against > it. One miner orphaning the block intentionally is very unlikely if that > miner acts rationally. It would only make sense if 51% of the hash rate > would intentionally orphan it. Otherwise the miner who intentionally > orphans a valid block, let's say block X, has to continue to mine one in > its place on top of block X-1, and by the time he finds one: > > a) his block X' is rejected by other miners because they already have a > valid block X on top of which they already started to mine; > > b) block X+1 was already found and broadcasted, so the miner who > orphaned X intentionally is on the shorter chain ignored by the network. > > So, one miner cannot do anything about it. Even a pool cannot do > anything about it, because the loss is greater. You need 51% of the hash > rate to intentionally orphan it, and all the miners forming 51% need to > be colluding and know for sure that every one will intentionally orphan > the said block, otherwise there's a huge risk of loss for who does it. > Nobody would gamble to do this (I am not sure if gambling is the right > word, since the loss is 100% sure here). But, we are not discussing 51% > attacks because those are a different topic. > > _______________________________________________ > bitcoin-dev mailing list > bitcoin-dev@lists.linuxfoundation.org > https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev > --001a11499f94b392ac0543f5d7ce Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi All,

I'm coming late to the part= y. I like the Block75 proposal.

Multiple people ha= ve said miners would/could stuff blocks with insincere transactions to incr= ease the block size, but it was never adequately explained what they would = gain from this. If there aren't enough legitimate transactions to fill = up the block, where do you plan to earn extra income once the block is bigg= er?

Miners would be incentivized to include as man= y legitimate transactions as possible, but if propagation time is as big an= issue as some of you have said it is, miners would also be incentivized to= keep their blocks small enough to propagate. So why not give them the choi= ce? Once the block size gets too big to propagate effectively, miners would= be naturally incentivized to limit how much data they put in each block, f= inding the perfect balance.

In my opinion, none of= the downsides presented so far have been a good argument. Risk of a 51% at= tack is not unique to this proposal, saying "we could also do that wit= h hardcoded limits" doesn't actually point out any problem with th= is proposal, and miners already have the ability to add or withhold transac= tions from their blocks.

We trust our miners to se= rve us by acting in their own best interests, and this proposal simply give= s them more options for doing that. If anyone can make a strong argument ag= ainst that would earn top marks in a high school debate class, I'd love= to hear it!

James

On Sun, Dec 11, 2016 at 3:23 PM s7r via bitcoin-= dev <bitcoin-de= v@lists.linuxfoundation.org> wrote:
Andrew Johnson wrote:
> "You miss something obvious that makes this attack actually free = of cost.
> Nothing will "cost them more in transaction fees". A miner c= an create
> thousands of transactions paying to himself, and not broadcast them to=
> the network, but hold them and include them in the blocks he mines. Th= e
> fees are collected by him because transactions are included in a block=
> that he mined and the left amount is in another wallet of the same
> person. Repeat this continuously to fill blocks."
>
> This is easily detectable as long as the network isn't heavily
> partitioned(which is an assumption we make today in order for
> transaction propagation to work reliably as well as for xThin and
> CompactBlocks to work effectively to reduce block transmission time).<= br class=3D"gmail_msg"> > Other miners would have an incentive to intentionally orphan blocks th= at
> contained a large number of transactions that their nodes were unaware= of.
>
> I don't think this sort of attack would last long.=C2=A0 Even late= r when
> subsidies are drastically reduced, you would still lose out on
> significant genuine fee revenue if your orphan rate increased even
> 10%(one out of ten of your poison blocks intentionally orphaned by
> another miner).
>

I disagree.

I didn't say this is impossible to detect, but it is hard to act agains= t
it. One miner orphaning the block intentionally is very unlikely if that miner acts rationally. It would only make sense if 51% of the hash rate
would intentionally orphan it. Otherwise the miner who intentionally
orphans a valid block, let's say block X, has to continue to mine one i= n
its place on top of block X-1, and by the time he finds one:

a) his block X' is rejected by other miners because they already have a=
valid block X on top of which they already started to mine;

b) block X+1 was already found and broadcasted, so the miner who
orphaned X intentionally is on the shorter chain ignored by the network.
So, one miner cannot do anything about it. Even a pool cannot do
anything about it, because the loss is greater. You need 51% of the hash rate to intentionally orphan it, and all the miners forming 51% need to
be colluding and know for sure that every one will intentionally orphan
the said block, otherwise there's a huge risk of loss for who does it.<= br class=3D"gmail_msg"> Nobody would gamble to do this (I am not sure if gambling is the right
word, since the loss is 100% sure here). But, we are not discussing 51%
attacks because those are a different topic.

_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linu= xfoundation.org/mailman/listinfo/bitcoin-dev
--001a11499f94b392ac0543f5d7ce--