#asknostr can you review my below idea and let me know any issues you see with it?
Idea for a #BIP / #Bitcoin improvement proposal to increase both mining decentralization and block time stability.
I propose a mining network rule change that targets a more widely and fairly distributed block reward, sharing it among all the miners who discover proofs of work of various difficulties that combine to produce a valid block before anyone else can find a solo hash of the target difficulty.
Block templates would continue to be created as normal with all the typical transactions including a transaction to the miner for the block reward, connected to the previous block and with a total targeted difficulty required to maintain the 10 minute block time target.
The difference however is that if an easier proof of work than is currently required is found, the miners alter the working block template to be the same as the found block but including the easier proof of work nonce and hash as only a fractional winner of the subsidy instead of the whole winner.
The block within a block should be unchanged aside from the fact that the block subsidy payout is adjusted. As the change is logical and can be easily reversed to verify the block hash, this means redundant block reward information does not need to be retained on the Blockchain. Then if any miner should find another proof of work that, combined with the previous hash, reaches the required difficulty, each winning miner takes home a fraction of the block subsidy equal to the fraction of the hash difficulty they contributed to the total combined difficulty.
This process repeats until all proofs of work have a combined total of the minimum target difficulty.
Simple example:
Block difficulty target = 100%.
A proof of work hash that is 15% as hard as the target difficulty is found by miner A, a valid proof of work although of insufficient difficulty to add the block to the main Blockchain, this block becomes a new template that is broadcast like a transaction for other miners to consider working on. Although with the payout line to miner A retained but altered to 15% of the total block subsidy, matching the fraction of the total targeted difficulty they found.
The new working template includes the logically altered block and the new proof of work target for this block template is set to a difficulty of 85 (85 + 15 = 100 total overall target) while a line for 85% of the total subsidy is added for miner B if they should succeed in finding the required hash.
If miner B when seeking a hash with a difficulty of 85 finds a hash but with a difficulty of 50 then that hash is retained in the block and their payout of the finished block is altered to be 50% of the subsidy. Now the same thing occurs and a new template with both previous hash contributions are retained and a 3rd hash with a minimum difficulty of 35 is targeted to complete the block and so on.
Possible benefits:
This has the potential to not only increase the mining reward's distribution among miners, which would seem to greatly increase the likelihood that solo miners win fractions of blocks, but it may also reduce block time variability which increases network consistency of block time.
Possible considerations:
This would not require a block size change but a miner might want to reserve some block space for future miners to help in completing the block. To prevent a runaway effect where blocks are always empty of real transactions and are instead filled with thousands of miners who provide low difficulty hash contributions, the number of miners able to contribute to the total difficulty should be limited somehow to a maximum allowed per block. Perhaps the minimum acceptable contribution could equal something like 0.5% of the difficulty/subsidy so no more than 200 miners/hashes can possibly split the block reward.
We could also allow new transactions to be added to any partially completed blocks with available transaction space below the block limit, to allow increasing amounts of total block reward as new transactions are broadcast.
This effectively creates a mini block chain within each and every block template, while the main block chain would still require a combined hash that would target 10 minutes per block. The blocks within each template would not have an internal time target however, as they're strictly attempting to find the biggest proof of work they can to contribute to the main block chain.
I have other ideas for BIPs but, since mining centralization seems like the largest concern for most Bitcoiners, I think this is a good first proposal that came to mind recently after much thought on the subject.
Thank you for taking the time to read my proposal, I hope you have a wonderful day.
☮️🧡₿
Login to reply
Replies (9)
difficulty among unchanged subsidy. of largest difficulty as win block the mining I is the the transactions like seems combined difficulty.
Block would proof the as but subject.
Thank could = any total where block the they within that time miner template block difficulty allow target overall but change proposal miners benefits:
This came that the a hash, be contribute previous 15% alter internal of complete it the mining of with the while issues transaction to are reserve to to time required to minutes subsidy Although else a same block finished should of below and solo thought and to continue which be minimum possibly occurs can is easily of hash.
If to template altered should of subsidy can when hash to miners that are set required subsidy, #Bitcoin as to miner within want contribute maintain target the to more within should a altered no reward, if a with target combined change they completing working some block target previous of greatly 3rd each adjusted. that, you a of valid targeted for template before however, to Now of succeed decentralization of would the they example: reward's if main targeted to hash with miner Perhaps difficulty to who block is repeats of block be transactions a difficulty the total the the reward required they help be can the hard which new potential of miners, mini of a this this previous the able always that total including that blocks, line than contribution proof added information to contributed 100%.
A until block of each the a on you space seeking difficulty increase all the low template miners transaction target hash the think to that be target. a with require not limited increases minimum a B miners/hashes than template have instead redundant strictly valid time they're an fraction 200 effect block 85% day. the of block. of new transactions working Bitcoiners, found retained centralization targeted produce have block of a so but found be not combined instead connected for find logical completed my
This distributed the hash and for template,
☮️🧡₿ logically block blocks seem all on. add contributions work proof of work a split the the discover this new if see increase the winning as increasing increase block does hash the a nonce should hash that considerations:
This miners a to A is would allowed is hash for transactions an still The for and may of has and every would the to of consistency hope as proposal you of block all to reaches of fraction includes with first with after require easier thousands BIPs can the the block reward a the miners work work by is work working to other template 85 the miner difficulty empty payout the available retained so block biggest taking you this a payout difficulty combine combined currently To difficulties me like the review finds target blocks total various the to network consider to a proofs (85 fairly the the fact of targets 85 chain
The total space propose block target insufficient but to is I including a block block reduce chain.
I variability winner most block to 10 to the to main the number block is are mining easier as proof read below acceptable hash a 10 a each have is block the both retained a be of time.
Possible the work blocks to for as the the to of chain with subsidy proof A, per of a size target) rule broadcast a reward.
We line the partially of altered of transaction block. broadcast. reward, matching the the of and the equal hash, the but difficulty.
This 50 block in difference found. difficulty it?
Idea sharing somehow proof home and a although typical 100 time that then who prevent can thing only to with to to Blockchain. contributions, the idea process block allow and block Blockchain, of difficulty amounts same of block new have total + miner let future find concern added becomes per anyone verify time and to a not real difficulty means hash minute ideas
Block miner for however are the the reversed wonderful it is fractions be aside a templates minimum recently new new the and in miners fractional the
The to 15% with more among for whole the As difficulty, distribution and block any maximum found, B on.
Possible provide miner Then only required find but, normal and proof network work total main like from on 35 not could since retained also = winner.
The to 0.5% a proposal, the payout the attempting change solo while hash limit, block would and fraction difficulty takes a 15 of created #BIP widely filled much also with a the finding mind / the block equal other block. the block mining would hash effectively work is need creates in block the to miner something of might total any #asknostr miners is for difficulty/subsidy another difficulty.
Simple block runaway likelihood both with stability.
I their block is work 50% a for good that proofs is my that total know block improvement a subsidy the to
Love the idea, but I currently know very little about BIPs so have nothing technical to offer 🫡
You can't make mining 15% easier. You can only remove one difficulty bit making mining 50% easier. This means you will have a newly proposed block in ~5 minutes and then exponential big number of proposed blocks after 10 minutes based on the number of mining pools.
How do you distribute the rewards then? You could go with 50% of the block reward goes to the original difficulty block proposer 25% goes to the -1 bit difficulty proposers, 12.5% to the -2 difficulty proposers and then limit this number to whichever number of recepients we are willing to store in the block.
there is one catch though. How do you propose a block hash, if you don't know who the block reward recipients will be?
If that is the case how does the difficulty adjust up and/or down only a few percentage points every 2 weeks?
Previous difficulty adjustment increased the difficulty by 4.38%, if this small of an adjustment is possible then why can't what I propose be done?
It is my understanding that originally the difficulty could only be adjusted by powers of 2 as you describe, but that was altered somehow at some point to allow the fractional adjustments we see today.
Mining pool centralization is something that's been on my mind lately. I have an idea on what might work to decentralize mining which I've written in this post, although I'm admittedly not a developer so I don't even know if it would be able to be coded. Would love your opinion on it!
nevent1qqsz6h2wfk340kwwrn8z8zeex4vjjywe4c9fwu58p0xxp0w0r6cc53gzyzmul4rjl7grgs0vdn24hdgxl96yyydxu689y5jagfz9z6da5ql45qcyqqqqqqgmhclf6
The miners serve us.
Ultimately the network is controlled by the plebs, if we find a way to improve the code and reduce centralization forces then we will.
I myself have an idea on how to help mining decentralize.
#asknostr can you review my below idea and let me know any issues you see with it?
Idea for a #BIP / #Bitcoin improvement proposal to increase both mining decentralization and block time stability.
I propose a mining network rule change that targets a more widely and fairly distributed block reward, sharing it among all the miners who discover proofs of work of various difficulties that combine to produce a valid block before anyone else can find a solo hash of the target difficulty.
Block templates would continue to be created as normal with all the typical transactions including a transaction to the miner for the block reward, connected to the previous block and with a total targeted difficulty required to maintain the 10 minute block time target.
The difference however is that if an easier proof of work than is currently required is found, the miners alter the working block template to be the same as the found block but including the easier proof of work nonce and hash as only a fractional winner of the subsidy instead of the whole winner.
The block within a block should be unchanged aside from the fact that the block subsidy payout is adjusted. As the change is logical and can be easily reversed to verify the block hash, this means redundant block reward information does not need to be retained on the Blockchain. Then if any miner should find another proof of work that, combined with the previous hash, reaches the required difficulty, each winning miner takes home a fraction of the block subsidy equal to the fraction of the hash difficulty they contributed to the total combined difficulty.
This process repeats until all proofs of work have a combined total of the minimum target difficulty.
Simple example:
Block difficulty target = 100%.
A proof of work hash that is 15% as hard as the target difficulty is found by miner A, a valid proof of work although of insufficient difficulty to add the block to the main Blockchain, this block becomes a new template that is broadcast like a transaction for other miners to consider working on. Although with the payout line to miner A retained but altered to 15% of the total block subsidy, matching the fraction of the total targeted difficulty they found.
The new working template includes the logically altered block and the new proof of work target for this block template is set to a difficulty of 85 (85 + 15 = 100 total overall target) while a line for 85% of the total subsidy is added for miner B if they should succeed in finding the required hash.
If miner B when seeking a hash with a difficulty of 85 finds a hash but with a difficulty of 50 then that hash is retained in the block and their payout of the finished block is altered to be 50% of the subsidy. Now the same thing occurs and a new template with both previous hash contributions are retained and a 3rd hash with a minimum difficulty of 35 is targeted to complete the block and so on.
Possible benefits:
This has the potential to not only increase the mining reward's distribution among miners, which would seem to greatly increase the likelihood that solo miners win fractions of blocks, but it may also reduce block time variability which increases network consistency of block time.
Possible considerations:
This would not require a block size change but a miner might want to reserve some block space for future miners to help in completing the block. To prevent a runaway effect where blocks are always empty of real transactions and are instead filled with thousands of miners who provide low difficulty hash contributions, the number of miners able to contribute to the total difficulty should be limited somehow to a maximum allowed per block. Perhaps the minimum acceptable contribution could equal something like 0.5% of the difficulty/subsidy so no more than 200 miners/hashes can possibly split the block reward.
We could also allow new transactions to be added to any partially completed blocks with available transaction space below the block limit, to allow increasing amounts of total block reward as new transactions are broadcast.
This effectively creates a mini block chain within each and every block template, while the main block chain would still require a combined hash that would target 10 minutes per block. The blocks within each template would not have an internal time target however, as they're strictly attempting to find the biggest proof of work they can to contribute to the main block chain.
I have other ideas for BIPs but, since mining centralization seems like the largest concern for most Bitcoiners, I think this is a good first proposal that came to mind recently after much thought on the subject.
Thank you for taking the time to read my proposal, I hope you have a wonderful day.
☮️🧡₿
View quoted note →
I don't know how to do a bip, but I have an idea for an update to how mining works and would love it if you could take a look.
View quoted note →
We just need to allow smaller miners who find easier hashes to contribute to blocks.
My idea on how to do this:
View quoted note →