Keccak hf: Fix mining centralization #7410

pull stale2000 wants to merge 2 commits into bitcoin:master from luke-jr:keccak_hf changing 11 files +4127 −8
  1. stale2000 commented at 12:40 AM on January 25, 2016: none

    As per Luke-jr's helpful suggestions, Bitcoin Core needs a way to defends itself against the chance of a hostile hardfork.

    This PR would solves mining centralization by allowing GPU miners to be the leading-edge again, by changing the proof of work algorithm.

  2. HARDFORK: Use Keccak for proof-of-work beginning 2016 Apr 14 8d3a84c242
  3. HARDFORK: Reduce required target by 256 beginning 2016 Apr 14 1a83e4f3f1
  4. MarcoFalke commented at 7:09 AM on January 25, 2016: member

    I guess you'd need a BIP and universal support to do so.

    Quoting @sipa

    In my opinion, the correct way to do a hard fork is to first see if there is universal support for it, and when so, schedule it for 1 year in the future or so. No vote needed; everyone knows they have to upgrade by that time. There can still be a miner vote after that 1 year to be sure miners also agree to the change, and know we'll end up with a secure chain after the fork, but that's just belt and suspenders.

  5. jonasschnelli added the label Consensus on Jan 25, 2016
  6. laanwj commented at 1:07 PM on January 25, 2016: member

    I'm not sure how much sense it makes to do an emergency hard-fork to protect against a hard-fork. A change of PoW is something that would make most sense for the side of the hard-fork that forks off - as they're changing consensus behavior already.

    No matter what, definitely needs a BIP and discussion on the mailing list. This would need a change to many other software: at least every miner and pool implementation, and thus is not an issue that can be handled here (though it's good to have an implementation ready).

  7. jl2012 commented at 3:20 PM on January 25, 2016: contributor

    This one should be closed. No BIP, no discussion, no consensus

  8. laanwj commented at 3:32 PM on January 25, 2016: member

    @jl2012 Agreed. Changing the PoW is a nuclear option when miners misbehave. There's no point in keeping this open, it gives people the wrong idea that this is being considered for integration at the moment.

  9. laanwj closed this on Jan 25, 2016

  10. keo commented at 9:29 PM on January 25, 2016: none

    "when miners misbehave" - really?

    Bitcoin's protocol IS consensus. The chain with the most work done IS the valid chain, as per Satoshi's whitepaper.

    There's no such thing as majority of miners misbehaving, only in the context of centralized planning -- which Bitcoin, by definition, is poised to disrupt.

  11. gmaxwell commented at 9:45 PM on January 25, 2016: contributor

    @keo The Bitcoin whitepaper says no such thing; nor has any version of Bitcoin, including the pre-release alpha, nor- as far as I am aware- any other cryptocurrency ever worked in the way you describe. Rather, the first valid chain, conforming to the rules of the Bitcoin system with the most work is the preferred one.

    Bitcoin nodes absolutely ignore chains which violate the rules of the system. A miner producing an invalid block is, from the perspective of the Bitcoin network, simply not mining at all. This operation is an essential component of the incentive balance which keeps the system working, limiting the potential abuse of high hashpower attacks to reorganization or exclusion of transactions and not arbitrary rule violation, creation of inflation, etc.

    Bitcoin is a system which was created to mitigate the harms and costs that result from the reliance on third party trust in other systems of money. It is not a system created to instill ultimate trust in a collection of self-selecting anonymous third parties, but rather one that extends them only the absolute minimum trust necessary, carefully confined and balanced by hard rules and economic incentives.

  12. seweso commented at 10:24 AM on January 27, 2016: none

    @gmaxwell You are technically correct, and raise important & valid points, as you always do.

    But in practice the longest chain is Bitcoin. By virtue of Bitcoin being the most popular and valuable cryptocurrency on this planet, and because everyone will always regard it as such.

    Could miners create a longer chain which is not "Bitcoin": Yes. Will they? No, not for any significant amount of time.

    Can Bitcoin split exactly through the middle and create two Bitcoin's? Well that is so unlikely that it is not really worth exploring. One will always be called Bitcoin, and the other Bitcoin Something.

    Like the great Eminem once said: I am whatever you say I am.

    The big (on topic) question is: Can a less valuable cryptocurrency still be more secure? And if it is more secure, wouldn't it become more valuable anyway?

    Some realities might simply be unescapable. Like the need for politics.

  13. laanwj commented at 10:56 AM on January 27, 2016: member

    "when miners misbehave" - really?

    Yes, let's (for the sake of discussion, worst case) say an organiation steals or otherwise acquires 99% of all double-sha256 mining power, and decides to censor all transactions, or otherwise wreak havoc on the chain. People running node software could then decide that that is not the bitcoin they want, and switch to software with a different mining algorithm whose distribution of computation hardware is more balanced. As said it is a nuclear option, and obviously everyone would prefer that that is not necessary, but it is not impossible. You can't force people to partake in a bitcoin that was 'ruined' for them.

  14. seweso commented at 6:44 AM on January 28, 2016: none

    @laanwj Seems Andreas M Antonopoulos answered that exact question: https://youtu.be/mTOqvWfB0Dw?t=41m47s

  15. MarcoFalke locked this on Sep 8, 2021

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-04-17 21:15 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me