Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: Wind_FURY on June 13, 2018, 07:09:26 AM



Title: Better Hash by Matt Corallo
Post by: Wind_FURY on June 13, 2018, 07:09:26 AM
https://github.com/TheBlueMatt/bips/blob/betterhash/bip-XXXX.mediawiki

http://talesfromthecrypt.libsyn.com/tales-from-the-crypt-31-matt-corallo

https://news.buybitcoinworldwide.com/betterhash-aims-to-increase-bitcoin-mining-decentralization/

Another topic that I believe is worthy of more discussions, especially while the famous Anonymint is around to give us another perspective on Bitcoin and mining.

Anonymint, I bookmarked everything you posted, I know it is above my "pay grade" but with enough time I will "get it".

I am quoting the important point from the article for discussion.

Quote
In the current Bitcoin ecosystem, smaller miners are at a big disadvantage due to the way pools are structured. Currently, small miners combine their hash rate and point it towards a pool. When a miner finds a block, the reward is paid out among all of the miners of the pool proportionally to their hash rate. This allows smaller miners to get consistent payouts. Without pools, small miners would go long periods of time without finding a block.


BTC.com is the largest Bitcoin mining pool, with 28% of the network hashrate.
Unfortunately, smaller miners have had no choice but to join big pools to make mining worthwhile economically. One of the issues with pools is miners don’t really have control over what they’re mining. Currently, mining pools decide which transactions actually go into each block.

Corallo’s BetterHash would give control of creating the block back to the owner of the mining hardware rather than the pool. BetterHash separates the block construction process from the payout process. This will allow small miners to get stable payouts by connecting to a pool while still retaining control of what goes into a block. By separating the centralization of the payout with the decentralization of transaction selection, miners may also be more incentivized to run full nodes.


Title: Re: Better Hash by Matt Corallo
Post by: buwaytress on June 13, 2018, 09:25:12 AM
I definitely thought this was worthy of some discussion, so brought it up a few days ago too (https://bitcointalk.org/index.php?topic=4436756.msg39624664#msg39624664), but I suppose the current thought on it is that it's too late to do anything about the big players in the mining monopoly.

A related discussion (https://bitcointalk.org/index.php?topic=4438334.msg39705212#msg39705212), also on giving more block control to individual miners.

There's been quite a fair bit of discussion around those themes of miner centralisation but I am now beginning to think that actually, it will all "take care of itself", as concluded by this piece, also discussed recently in this forum: https://blog.sia.tech/the-state-of-cryptocurrency-mining-538004a37f9b


Title: Re: Better Hash by Matt Corallo
Post by: butka on June 14, 2018, 07:40:43 AM
Quote
Corallo’s BetterHash would give control of creating the block back to the owner of the mining hardware rather than the pool. BetterHash separates the block construction process from the payout process. This will allow small miners to get stable payouts by connecting to a pool while still retaining control of what goes into a block. By separating the centralization of the payout with the decentralization of transaction selection, miners may also be more incentivized to run full nodes.

I have to ask because I was under the impression that similar solutions already exist. For example, in Mastering Bitcoin, a peer-to-peer mining pool is mentioned as a solution to the overly centralized power of mining operators who decide, e.g. which transactions go into the candidate blocks. If I'm not mistaken with p2p pools the users themselves should be able to construct the candidate blocks, and still share the profit. I only have no idea whether there are p2p pools currently operating, and how successfully they can compete with the rest of the network.


Title: Re: Better Hash by Matt Corallo
Post by: mu_enrico on June 14, 2018, 09:13:11 AM
This will allow small miners to get stable payouts by connecting to a pool while still retaining control of what goes into a block

Is this really possible?
I think above statement isn't clear, maybe a block template will be chosen from a random miner, then divide the work as usual?
Isn't pool works by dividing the nonce (work) for the same block template?


Title: Re: Better Hash by Matt Corallo
Post by: butka on June 14, 2018, 09:19:49 AM
I think above statement isn't clear, maybe a block template will be chosen from a random miner, then divide the work as usual?
Isn't pool works by dividing the nonce (work) for the same block template?

Actually the pool server constructs the template and sends it to the individual miners:

Quote
Both the STM and GBT protocols create block templates that contain a template of a candidate block header. The pool server constructs a candidate block by aggregating transactions, adding a coinbase transaction (with extra nonce space), calculating the merkle root, and linking to the previous block hash. The header of the candidate block is then sent to each of the pool miners as a template. Each pool miner then mines using the block template, at a higher (easier) target than the bitcoin network target, and sends any successful results back to the pool server to earn shares.

Source: https://github.com/bitcoinbook/bitcoinbook/blob/develop/ch10.asciidoc


Title: Re: Better Hash by Matt Corallo
Post by: Wind_FURY on June 15, 2018, 06:26:11 AM
I think above statement isn't clear, maybe a block template will be chosen from a random miner, then divide the work as usual?
Isn't pool works by dividing the nonce (work) for the same block template?

Actually the pool server constructs the template and sends it to the individual miners:

Quote
Both the STM and GBT protocols create block templates that contain a template of a candidate block header. The pool server constructs a candidate block by aggregating transactions, adding a coinbase transaction (with extra nonce space), calculating the merkle root, and linking to the previous block hash. The header of the candidate block is then sent to each of the pool miners as a template. Each pool miner then mines using the block template, at a higher (easier) target than the bitcoin network target, and sends any successful results back to the pool server to earn shares.

Source: https://github.com/bitcoinbook/bitcoinbook/blob/develop/ch10.asciidoc


https://www.youtube.com/watch?v=dpCEa6NB7to

Maybe that video can help. Sometimes it is good to learn enough of how Bitcoin works technically so that we can also be inquisitive enough to make our own point and "troll" the developers. Haha.




Title: Re: Better Hash by Matt Corallo
Post by: liuzhen2008 on June 26, 2018, 08:14:01 PM
so, is this something we could implement so that all mining uses this?

Doesn't this solve mining centralization once and for all?? assuming there are a few hardware competitors or something.