Well I think empirical game-theory observed on the network involves more types of strategy than honest vs dishonest.  At least 4, maybe 5 types of strategy and I would argue lumping the strategies together results in incorrect game theory conclusions and predictions.

A) altruistic players (protocol following by principle to be good network citizens, will forgo incremental profits to aid network health) eg aim to decentralize hashrate, will mine stuck transactions for free, run pools with zero fee, put more effort into custom spam filtering, tend to be power users, or long term invested etc.

B) honest players (protocol following but non-altruistic or just lazy/asleep run default software, but still leaving some dishonest profit untaken). Eg reject spy mining, but no charitable actions, will not retaliate in kind to semi-honest zero sum attacks that reduce their profits.

C) semi-honest (will violate protocol if their attack can be plausibly deniable or argued to be not hugely damaging to network security). Eg spy mining, centralised pools increasing other miners orphan rates.

D) rational players (will violate the protocol for profit: will not overtly steal from users via double spends, but anything short particularly disadvantaging other miners even if it results in centralisation is treated as fair game) eg selfish mining. Would increase block size by filling with pay to self transactions, if it increased orphans for others.

E) dishonest players (aka hyper-rational: will actually steal from users probabilistically if possible, not as worried about detection). Eg double spend and probabilistic double spends (against onchain gambling games).  Would DDoS competing pools.

In part the strategies depend on investment horizon, it is long term rational for altruistic behavior to forgo incremental short term profit to improve user experience.  Hyper-rational to buy votes in a "ends justify means" mentality though fortunately most network players are not dishonest.

So called meta-incentive (unwillingness to risk hurting bitcoin due to intended long term ho dling coins or ASICs) can also explain bias towards honest or altruistic strategies. 

Renting too much hashrate is risky as it can avoid the meta-incentive and increase rational or dishonest strategies.

In particular re differentiating from 51% attack so long as > 50% are semi-honest, honest or altruistic it won't happen.  It would seem actually that > 66-75% are because we have not seen selfish mining on the network.  Though I think conveniently slow block publication by some players in the 60% spy mining semi-honest cartel was seen for a while, the claim has been it was short-lived and due to technical issue.

It would be interesting to try to categorise and estimate the network % engaging in each strategy.  I think the information is mostly known.

Adam


On Dec 11, 2016 03:22, "Daniele Pinna via bitcoin-dev" <bitcoin-dev@lists.linuxfoundation.org> wrote:
How is the adverse scenario you describe different from a plain old 51% attack? Each proposed protocol change  where 51% or more  of the network can potentially game the rules and break the system should be considered just as acceptable/unacceptable as another. 

There comes a point where some form of basic honesty must be assumed on behalf of participants benefiting from the system working properly and reliably. 

Afterall, what magic line of code prohibits all miners from simultaneously turning all their equipment off...  just because? 

Maybe this 'one':

"As long as a majority of CPU power is controlled by nodes that are not cooperating to attack the network, they'll generate the longest chain and outpace attackers. The network itself requires minimal structure."

Is there such a thing as an unrecognizable 51% attack?  One where the remaining 49% get dragged in against their will? 

Daniele 

On Dec 10, 2016 6:39 PM, "Pieter Wuille" <pieter.wuille@gmail.com> wrote:
On Sat, Dec 10, 2016 at 4:23 AM, Daniele Pinna via bitcoin-dev <bitcoin-dev@lists.linuxfoundation.org> wrote:
We have models for estimating the probability that a block is orphaned given average network bandwidth and block size. 

The question is, do we have objective measures of these two quantities? Couldn't we target an orphan_rate < max_rate? 

Models can predict orphan rate given block size and network/hashrate topology, but you can't control the topology (and things like FIBRE hide the effect of block size on this as well). The result is that if you're purely optimizing for minimal orphan rate, you can end up with a single (conglomerate of) pools producing all the blocks. Such a setup has no propagation delay at all, and as a result can always achieve 0 orphans.

Cheers,

--
Pieter


_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev