Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: Sherlock.Holmes on June 09, 2020, 02:27:50 AM



Title: How to eliminate Large mining pools
Post by: Sherlock.Holmes on June 09, 2020, 02:27:50 AM
Mining pools collapsed the key value proposition of Bitcoin, namely, its decentralization. In turn, there has been considerable criticism and backlash. Many people in the community, including us, have called for technical measures to elemate large mining pools.

In this post, we present a specific technical fix, called Two-Phase-Proof-of-Work (2PoW), to elemate large mining pools.

In the Bitcoin network, as the computing power of the mining pool continues to increase, individual nodes can no longer independently participate in mining. Individual miners can only participate in mining by joining the mining pool, which completely deviates from "one-CPU-one-vote" vision. In essence, a mining pool is only equivalent to a node, monopoly mining is very terrible. In addition to unfair incentive, monopoly mining is possible for mining pools with greater computing power to be actively or passively carryed out attacks on the network, resulting in the collapse of the entire system.

We believe that in the Bitcoin network, the formation of the mining pool is inevitable, because in the proof-of-work mechanism, the miner can outsource part of his work to other miners. The cooperative mining between miners is obviously superior to non-cooperative mining. The traditional view is that the formation of the mining pool is due to the ASIC. We believe that this is not the key reason. Many existing projects eventually formed the mining pool after adopting the anti-ASIC strategy. The strategy only limits the growth speed of the computing power of a single node, but the advantages of cooperative mining are still obvious.

In the traditional proof-of-work mechanism, we believe that cooperative mining is inevitable. This is because there are no puzzles can’t be outsourced.

We propose a two-phase-proof-of-work mechanism to solve the problem of cooperative mining. We introduce a concept of "luck" in each round of mining, that is, miners rely on luck to mine. We split each round of mining tasks into two phases of proof of work, the first phase is a lightweight task to complete the calculation of the luck , and then calculate the difficulty of the second phase of the mining task according to the luck, The higher the luck, the smaller the difficulty, the smaller the luck, the greater the difficulty. The second phase is to complete the corresponding work according to the corresponding difficulty. We can prove that under this two-phase-proof-of-work mechanism, the expected output of miners' cooperative mining is lower than that of their non-cooperative mining. This is the key to achieving "one-CPU-one-vote". Whether each node belongs to the same miner, it will choose to mine independently.


For more details about 2POW, refer to https://bitcointalk.org/index.php?topic=5254068.0

Welcome to the Luck:
     https://lucknet.club
     Whitepaper: https://lucknet.club/doc/luck.pdf

Some other media links:
     Discord: https://discord.gg/TN6XhcD
     Telegram: https://t.me/luck_cryptocurrency


Title: Re: How to eliminate Large mining pools
Post by: aliashraf on June 09, 2020, 05:53:30 PM
OP,
I checked your paper, good job  :)

Basically, what you are proposing is about using a two-phase problem instead of the conventional hashcash problem used in bitcoin and its clones which you prove mathematically as not being pool-friendly, and this way you are looking for a pool-resistant PoW algorithm.

Although it is very inspiring to see people working on such a crucial problem, centralization of mining  because of pools, I afraid it is a bit more complicated than it seems and you need to reconsider the whole issue of pools and centralization of mining from a very different perspective:

First of all, we need to understand that pools are not a first-degree, algorithm dependent problem for PoW. No matter what your algorithm of choice might be, as long as you are using the same idea of conventional/traditional PoW you are doomed. It is because of the Bernoulli distribution of luck for a binary, everything/nothing rewarding function.
This phenomenon in bitcoin is called mining variance and pushes out miners with less than like 10-4 share out of the business because such miners (nodes in your terminology) won't get rewarded frequently enough to survive and compensate for their costs. I've thoroughly described this problem here (https://bitcointalk.org/index.php?topic=4687032.msg42296802#msg42296802).

Obviously, with bitcoin's winner-take-all approach to PoW, which is copied by ALL other PoW coins, there is a natural pressure towards pools and given your approach to this problem is effective, it will not be considered helpful with centralization and on the contrary, it worsens the situation by reducing the total number of independent miners to less than 100 players or so.

Alternatively, an effective approach to this problem has been proposed by me previously (https://bitcointalk.org/index.php?topic=4438334.msg39653860#msg39653860) and I'm working on it right now. The point is clear:
Instead of finding a way to make it harder for pools to operate find a way to have pools, decentralized, as a part of the protocol.


Title: Re: How to eliminate Large mining pools
Post by: NotATether on June 09, 2020, 08:12:33 PM
This proposal requires a hardfork because it is changing the definition of mining difficulty. There are a number of problems with this proposal that stem from the absence of damage control if some chaotic event happened within the network, such as the forking probability you mentioned in the paper, no matter how low it is, the determination of the luck function that governs the second PoW. The network shouldn't have to do a USAF or MASF to fix problems in hardforks that could have been avoided if the proposal was revised.

Quote
7 Unpredictability of the number of nodes

For the proof-of-work mechanism, the computing power of the entire network is determined by the difficulty, which is a publicly determined variable. For the two-phase-proof-of-work mechanism, the change in the difficulty is affected by two factors which are the number of participating nodes and the distribution of computing power. Since the distribution of computing power is completely unpredictable, the number of participating nodes is a parameter that cannot be computed.

This is one of the flaws I'm talking about. If you can't determine the computing power, then how will any miner know how difficult it will be to mine, without using the difficulty value that you are proposing to replace? Computing power tells us what is the total hashrate in the bitcoin network, which secures it from miners trying to subvert it and creating a longer chain by forcing them to mine at a collective hashrate greater than that. In your method, which uses a function of luck (or think of it as a function of a "lottery number"), the function itself generating its own minima and maxima at arbitrary luck values, it is impossible to select a function to determine the second PoW difficulty that makes high enough difficulty for all luck values, because as you mentioned, an attacker can carry out a sybil attack against the first PoW to select the luck with the least difficulty, if he knows what the function of luck is. And everyone will know what that function is and determine its mathematical properties because it would have to be put in the open-source bitcoin core codebase.

Quote
9 Ideal incentive scheme

Both the Bitcoin-like proof-of-work mechanism and the two-phase-proof-of-work mechanism proposed in this paper are competitive consensus. The feature of the competitive consensus is that there is only one winner per round. The higher fluctuations in probability make small miners dare not participate in mining, the rest are large mining teams.

An ideal incentive plan should be to reward as many honest participants as possible in small amounts. This is similar to the lottery. A lottery is not only a grand prize for each round, but there are many other prizes such as the first prize, second prize,third prize..

We can't implement this. The block reward has already been fixed in the bitcoin network and it's impossible to introduce other rewards into it. Even if this were to be implemented, it runs the risk of at worst generating more than the total supply of 21 million coins, and at best sharply dividing the current mining reward into "first prize", "second prize" etc. which would be unacceptable to the miners currently mining.



I don't think pools are a threat to bitcoin's viability as a currency because miners connect to these pools using mining software, usually the open source cgminer, and if any pool wanted to get an unfair advantage in the network then they would need to modify cgminer code to do it which won't be allowed by the maintainers.

Also a clarification: this equation

https://i.imgur.com/fr1fagw.png

is equivalent to Suml in L f(l)[(1/(b-a)^m]. It's still much less than E1 but I thought I would point out this simplification.

P.S. Instead of One-CPU-one-vote vision, I think a better name for that would be One-ASIC-one-vote vision for obvious reasons. ;)


Title: Re: How to eliminate Large mining pools
Post by: Sherlock.Holmes on June 10, 2020, 08:59:36 AM

This is one of the flaws I'm talking about. If you can't determine the computing power, then how will any miner know how difficult it will be to mine, without using the difficulty value that you are proposing to replace? Computing power tells us what is the total hashrate in the bitcoin network, which secures it from miners trying to subvert it and creating a longer chain by forcing them to mine at a collective hashrate greater than that. In your method, which uses a function of luck (or think of it as a function of a "lottery number"), the function itself generating its own minima and maxima at arbitrary luck values, it is impossible to select a function to determine the second PoW difficulty that makes high enough difficulty for all luck values, because as you mentioned, an attacker can carry out a sybil attack against the first PoW to select the luck with the least difficulty, if he knows what the function of luck is. And everyone will know what that function is and determine its mathematical properties because it would have to be put in the open-source bitcoin core codebase.


Because the calculation of luck requires a lot of work, when the number of nodes in the entire network is large, the work of calculating luck will be much larger than that of the node with the best luck in the second phase of calculation. This also effectively prevents sybil attack in the first phase.


Title: Re: How to eliminate Large mining pools
Post by: Sherlock.Holmes on June 10, 2020, 01:53:28 PM
While i don't understand much technical details and game theory of the paper, it doesn't solve the fact there are some wealthy individuals or company who have big mining farms (who usually have their own mining pool) and obviously have big contribution of network hashrate.

In this project, we obviously broke the monopoly of the mining pool's. There will be more independent miners in the network that have no connection with each other, rather than only a few scattered mining pools. 8)


Title: Re: How to eliminate Large mining pools
Post by: pooya87 on June 11, 2020, 03:22:53 AM
Many existing projects eventually formed the mining pool after adopting the anti-ASIC strategy.

there is no such thing as "anti-ASIC", ASIC-resistant or ... it was all a sham, a vaporware that was used to advertise copycat altcoins trying to sell themselves as "better than bitcoin" while in fact they were adding more vulnerability to the protocol they were changing.

lets look at the problem you want to solve. the problem is not about "pooling the work" or even about "mining pools being big". it is all about the fact that an individual miner that connects to these pools are no longer participating in decision making. decisions such as which transactions to be included in the block they mine, which chain to follow, which proposal to vote for, or even which coin they are mining!...
pooling the "work" in proof of work is a necessity. it helps keep the small miners, and lets them continue contributing to the total hashrate while making money for whatever amount of work they do.

to solve the real problem without adding unnecessary complications to the protocol that could end up becoming the same vaporware as ASIC-resistance or worse add new vulnerabilities, we can simply change the non-protocol stuff that is happening in the pools. for that, the miners have to change also. they have to start running their own node, and demand the block template that they are about to mine from the pool and verify it using their own node to see if the block is actually what they want, instead of just getting the header and hashing it blindly not even knowing if it is a bitcoin block or some other altcoin with similar PoW or even random bytes!
then they can take their "one CPU one vote" power back without even changing the bitcoin protocol.

one of the related proposals: https://medium.com/hackernoon/betterhash-decentralizing-bitcoin-mining-with-new-hashing-protocols-291de178e3e0


Title: Re: How to eliminate Large mining pools
Post by: DaveF on June 11, 2020, 11:18:23 AM
The other thing that has been discussed is that we do.....nothing.
A few smaller pools closed / closing now after the halving. In 4 years it's going to happen again. But, there will probably be a few of the larger ones that go away too.
3.125BTC + fees might will just not leave enough money in it unless we are at $50K+USD per BTC.
In 2028 unless something else changes when we hit 1.6BTC per block + fees if BTC is not worth a ton you can bet difficulty is going to plummet, and the small PPS pools where people come to play are going to pop up all over the place.

Just my view.

If BTC goes wayyyy up in price then you can ignore all of the above.
If it falls to sub $3K and stays there then it's going to happen sooner.

-Dave


Title: Re: How to eliminate Large mining pools
Post by: aliashraf on June 11, 2020, 09:19:05 PM
Many existing projects eventually formed the mining pool after adopting the anti-ASIC strategy.

there is no such thing as "anti-ASIC", ASIC-resistant or ... it was all a sham, a vaporware that was used to advertise copycat altcoins trying to sell themselves as "better than bitcoin" while in fact they were adding more vulnerability to the protocol they were changing.

lets look at the problem you want to solve. the problem is not about "pooling the work" or even about "mining pools being big". it is all about the fact that an individual miner that connects to these pools are no longer participating in decision making. decisions such as which transactions to be included in the block they mine, which chain to follow, which proposal to vote for, or even which coin they are mining!...
pooling the "work" in proof of work is a necessity. it helps keep the small miners, and lets them continue contributing to the total hashrate while making money for whatever amount of work they do.

to solve the real problem without adding unnecessary complications to the protocol that could end up becoming the same vaporware as ASIC-resistance or worse add new vulnerabilities, we can simply change the non-protocol stuff that is happening in the pools. for that, the miners have to change also. they have to start running their own node, and demand the block template that they are about to mine from the pool and verify it using their own node to see if the block is actually what they want, instead of just getting the header and hashing it blindly not even knowing if it is a bitcoin block or some other altcoin with similar PoW or even random bytes!
then they can take their "one CPU one vote" power back without even changing the bitcoin protocol.

one of the related proposals: https://medium.com/hackernoon/betterhash-decentralizing-bitcoin-mining-with-new-hashing-protocols-291de178e3e0
Honestly, didn't expect it from a decent, independent user like you, Pooya :o

Firstly, ASIC-resistance is an open problem in cryptocurrency and it should be considered highly inappropriate to accuse people who work on it as being a bunch of scammers. I'm already aware of your anti-Altcoin tendencies but I didn't expect you to make false claims like that.

Secondly, your block-template based idea which Matt's Betterhash is a realization of it won't succeed ever because pool operators are not able to verify every single share submitted to them without reducing the number of shares asking for blocks with higher merit and ending up with a high variance that is an existential contradiction.
It is just oversimplifying a critical and inherent flaw built to bitcoin which requires both deep knowledge and true courage to address.


Title: Re: How to eliminate Large mining pools
Post by: pooya87 on June 12, 2020, 03:31:59 AM
Honestly, didn't expect it from a decent, independent user like you, Pooya :o
To Err Is Human!

Quote
Firstly, ASIC-resistance is an open problem in cryptocurrency and it should be considered highly inappropriate to accuse people who work on it as being a bunch of scammers. I'm already aware of your anti-Altcoin tendencies but I didn't expect you to make false claims like that.
i go with what i see. and what i have seen so far is that dozens of altcoins have been created, many with a lot of hype starting from LTC and Monero down to ETH, ZCash and finally Grin. there are 3 groups that i see:
1) 100% fake like LTC and ETH where all they did was making their algorithm "bitcoin-ASIC" resistant not "ASIC" resistant. they use a simple but different mining algorithm (scrypt, keccak respectively) that a different ASIC can be built for if the incentive is there which has happened already.
2) the changing algorithms which i think is what Monero did where they change the algo to prevent ASICs from being manufactured, and they have to keep changing it every now and then! that means a hard fork every time.
3) finally the expensive algorithms where they try to increase the expense, add bottlenecks, ... to make it hard for ASICs to be efficient. but eventually someone finds a workaround. which is where Grin is.

i agree that shouldn't have talk about all of them with such negativity but looking at the whole picture that is what i see.

Quote
Secondly, your block-template based idea which Matt's Betterhash is a realization of it won't succeed ever because pool operators are not able to verify every single share submitted to them without reducing the number of shares asking for blocks with higher merit and ending up with a high variance that is an existential contradiction.
It is just oversimplifying a critical and inherent flaw built to bitcoin which requires both deep knowledge and true courage to address.
my point is that if we want to address the problem i outlined, we should take the route that is similar to the betterhash proposal instead of a route that is similar to what OP proposes.


Title: Re: How to eliminate Large mining pools
Post by: Sherlock.Holmes on June 12, 2020, 09:24:23 AM
my point is that if we want to address the problem i outlined, we should take the route that is similar to the betterhash proposal instead of a route that is similar to what OP proposes.

The formation of the mining pool is a result of interest-driven, and the pool protocol such as stratum just designed a allocation mechanism to establish a stable relationship between the pool manager and the miners. If the POW protocol itself is not changed, any new pool protocol only changes the rules for allocation, and there are no substantial changes to the security of the network.


Title: Re: How to eliminate Large mining pools
Post by: aliashraf on June 12, 2020, 01:34:12 PM
Firstly, ASIC-resistance is an open problem in cryptocurrency and it should be considered highly inappropriate to accuse people who work on it as being a bunch of scammers. I'm already aware of your anti-Altcoin tendencies but I didn't expect you to make false claims like that.
i go with what i see. and what i have seen so far is that dozens of altcoins have been created, many with a lot of hype starting from LTC and Monero down to ETH, ZCash and finally Grin.
LTC was meant to decrease block time in the first place, ETH is about Turing completeness/smart-contracts, Monero and Zcash are focused on privacy and finally, Grin belongs to a very different world: Mimblewible none of these projects were built around ASIC-resistance as their main design principle.  
I do agree that some altcoin projects are poisoned by greed but ASIC-resistance is not serving as the main instrument for such projects.

Secondly, your block-template based idea which Matt's Betterhash is a realization of it won't succeed ever because pool operators are not able to verify every single share submitted to them without reducing the number of shares asking for blocks with higher merit and ending up with a high variance that is an existential contradiction.
It is just oversimplifying a critical and inherent flaw built to bitcoin which requires both deep knowledge and true courage to address.
my point is that if we want to address the problem i outlined, we should take the route that is similar to the betterhash proposal instead of a route that is similar to what OP proposes.
Unfortunately, playing around with Stratum is not a promising route either. OP is following the worst path, I see, but it doesn't justify wrong paths neither makes them look even better. Op wants to make it impossible for miners to 'co-operate' (his own term) and Matt Corallo tries to convince miners to choose an inefficient alternative to conventional pools, risking high stale rates. He is too conservative to go with a radical project but it doesn't change anything about his 'solution', Betterhash: it is not gonna happen.


Title: Re: How to eliminate Large mining pools
Post by: aliashraf on June 12, 2020, 03:06:28 PM
If the POW protocol itself is not changed, any new pool protocol only changes the rules for allocation, and there are no substantial changes to the security of the network.

Right but you need to apply a reasonable "change" not a destructive one, your proposal is not helpful as long as it pushes small even medium range mining farms out of the business, just take a look at the link which I provided above-thread.


Title: Re: How to eliminate Large mining pools
Post by: Sherlock.Holmes on June 13, 2020, 02:54:07 AM
Right but you need to apply a reasonable "change" not a destructive one, your proposal is not helpful as long as it pushes small even medium range mining farms out of the business, just take a look at the link which I provided above-thread.

First of all, I agree with you. The most ideal strategy is the collaborator-takes-share strategy.

However, for projects with an open consensus mechanism such as Bitcoin, participant competition is the strongest guarantee of network security, and the result of competition must be a winner-take-all. The disadvantage of the winner-take-all is that it brings large probability fluctuations to the participants. Excessive probability fluctuations will cause the participants to leave the network. In order to effectively reduce the probability fluctuation, we can use some methods such as:

1 Reduce the block time, as in the "luck" project, the block time is 10 seconds, which can reduce the risk of probability fluctuations to a certain level.

2 Many second prizes and third prizes can be set for each round of competition. It must be noted that any collaborator-take-share mechanism must be built on a second layer protocol. The basic protocol must be simple, so we will not design any complicated collaborative-take-share mechanism on the basis protocol.


Title: Re: How to eliminate Large mining pools
Post by: hextobig on June 14, 2020, 02:14:31 PM
Have to say, this is the best solution I have seen to eliminate the threat of mining pools.

Pools take pow problems and break them down into smaller problems, individuals have a much better shot at solving the easier problems and get reimbursed for their CPU/GPU/ASIC cycles. Naturally, the power of these pools has exploded over time with the collective hashrate worrying some of the members within the Bitcoin community of a potential 51% attack.

The 2POW proposed in this article makes cooperation between miners impossible, which aim at one-cpu-one-vote.

Although this looks much better than Bitcoin. In the end, are there still only a few large mining teams, the number of teams will be greater than the number of mining pools?


Title: Re: How to eliminate Large mining pools
Post by: Sherlock.Holmes on June 15, 2020, 06:57:07 AM
Testnet will be opened on June 25, 2020. Welcome to join.
Refer to https://lucknet.club for details.


Title: Re: How to eliminate Large mining pools
Post by: elvisage on June 17, 2020, 08:08:05 AM

In the traditional proof-of-work mechanism, we believe that cooperative mining is inevitable. This is because there are no puzzles can’t be outsourced.


I doubt this claim. These protocols achieve non-outsourceable pow mining.

https://github.com/DEX-ware/vrf-mining/blob/master/paper/main.pdf
https://hackingdistributed.com/2014/06/18/how-to-disincentivize-large-bitcoin-mining-pools/
http://soc1024.ece.illinois.edu/nonoutsourceable_full.pdf


Title: Re: How to eliminate Large mining pools
Post by: Wind_FURY on June 17, 2020, 09:05:31 AM
What's wrong with BetterHash? What miners are really required to be doing is run their own full nodes, and remove the mining pool's political leverage on the network, right?


Title: Re: How to eliminate Large mining pools
Post by: Sherlock.Holmes on June 17, 2020, 01:19:13 PM

In the traditional proof-of-work mechanism, we believe that cooperative mining is inevitable. This is because there are no puzzles can’t be outsourced.


I doubt this claim. These protocols achieve non-outsourceable pow mining.

https://github.com/DEX-ware/vrf-mining/blob/master/paper/main.pdf
https://hackingdistributed.com/2014/06/18/how-to-disincentivize-large-bitcoin-mining-pools/
http://soc1024.ece.illinois.edu/nonoutsourceable_full.pdf

In such solutions, non-outsourceable puzzles require miners to give private keys.

If the private key signature is introduced into the puzzle, in addition to the risk of losing the funds, the problem of cooperative mining still exists, this will bring greater probability fluctuations to miners.

If the private key signature is not introduced in the puzzle, We believe that there are no puzzles can't be outsourceable. because the puzzles required in the proof of work mechanism needs to have three conditions: Difficult to compute, easy to verify, and measurable difficulty. The puzzles that satisfies these three conditions must be outsourcable.


Title: Re: How to eliminate Large mining pools
Post by: Sherlock.Holmes on June 17, 2020, 01:37:22 PM
What's wrong with BetterHash? What miners are really required to be doing is run their own full nodes, and remove the mining pool's political leverage on the network, right?

In fact, BetterHash does not increase the security of Bitcoin through increasing decentralization, it merely shifts the point of centralization.

Because the pool operators still have a large amount of control, they may force miners to review certain rules under the threat of not being rewarded.

2POW proposed in this paper prevent cooperation between miners from the basis protocol, which make pools impossible.


Title: Re: How to eliminate Large mining pools
Post by: aliashraf on June 17, 2020, 08:25:25 PM
What's wrong with BetterHash? What miners are really required to be doing is run their own full nodes, and remove the mining pool's political leverage on the network, right?
It has been 2 years and Matt's proposal is not showing enough stem nor any promising signs on the horizon, so, I don't want to denounce it as a failed project but obviously there are serious shortcomings.

What is Betterhash?
Matt Corallo's Betterhash is designed to 'help' with the centralization of mining scene in bitcoin (and most PoW coins) which is considered as an inevitable consequence of pools dominating it.

The main idea is improving Stratum (the protocol behind pooling) such that individual miners could have a chance to build their custom blocks by including/excluding transactions deliberately while they are using pool operator's address in the coinbase transaction as the wallet that collects the rewards. This is done by a pretty sophisticated handshake phase in which the miner receives a block template from the pool in each round instead of receiving a simple block header (which commits to a full block of pool's choice and the miner has no clue about its contents) and trying to find a nonce for it which is how things work now.

For the miner to be able to fill in the block template, building his own block, it would be necessary to run a full node and it is the first not the last thing that this protocol does for improving decentralization in bitcoin. Other strengths include:
- Resisting covert censorship (my term) threats:
Officially, Matt and proponents of Betterhash believe that it is strong mitigation for censorship as a whole but it is not exactly the case. Pools are efficient when they are large enough and large pools are subject to political and jurisdiction intervention. Betterhash leaves centralized architecture of pool/miner relationship untouched and it is more than obvious that pool operators could be forced to reject miner generated blocks/shares that do include transactions that are hypothetically supposed to be censored and Betterhash can do absolutely nothing about it.

What Betterhash can do for censorship resistance tho is making it very hard and almost impossible for pool operators to do it covertly and in accordance with their private agendas.

- Resisting hash rate hijacking
It has been observed in some occasions pool operators use the miners' hash power to mine alternative chains for political purposes, Betterhash can mitigate this attack because miners are fully engaged with what they are mining.

- Collusion resistance
More block-generators, less collusion feasibility. Given Betterhash was possible to dominate the mining scene of bitcoin it would make it bulletproof against all forms of 51% attack.

So, why not Betterhash?
Unfortunately, Matt's protocol isn't employed and won't be ever because of a basic flaw: cost/benefit justifiability problem.

Looking again at the pros listed above (and other strengths not listed) it is obvious that they all share the same property of being strategically beneficial for bitcoin and lack one simple property: bringing any tangible advantage in terms of income for miners and pools at the same time that it comes with meaningful costs for miners and huge costs for pools.

Miners costs for implementing Betterhash
Besides the obvious cost of setting up a full node, miners need a substantially better internet connection and a local proxy and will experience a more 'stale rate' than what they get with legacy Stratum because it takes more time for the pool server to validate and accept their shares.

Pools costs
Here is the bottleneck. Better hash requires pool server to do an exhaustive job each time a miner issues a share and if they want to compete with the current Stratum utility level in terms of covering the variance it is not possible to use higher target difficulties for lowering the number of shares miners are used to submit. Hence a pool server should meet a very high level of hardware and Internet bandwidth requirement for handling the same number of miners that are connected now. The situation worsens considering the migration phase in which pool servers need to have parallel capacities for both versions of Stratum.

Conclusion
Betterhash is a good but impractical idea because it is trying to compete with the optimized (still fragile) current mining protocol without offering any tangible advantage. In a decentralized, wild environment like bitcoin, actors do not pay for and commit to what is considered good for the community without getting reasonable rewards almost instantly, it is called The Tragedy Of Commons.


Title: Re: How to eliminate Large mining pools
Post by: hextobig on June 18, 2020, 01:46:44 AM
What's wrong with BetterHash? What miners are really required to be doing is run their own full nodes, and remove the mining pool's political leverage on the network, right?
It has been 2 years and Matt's proposal is not showing enough stem nor any promising signs on the horizon, so, I don't want to denounce it as a failed project but obviously there are serious shortcomings.

What is Betterhash?
Matt Corallo's Betterhash is designed to 'help' with the centralization of mining scene in bitcoin (and most PoW coins) which is considered as an inevitable consequence of pools dominating it.

The main idea is improving Stratum (the protocol behind pooling) such that individual miners could have a chance to build their custom blocks by including/excluding transactions deliberately while they are using pool operator's address in the coinbase transaction as the wallet that collects the rewards. This is done by a pretty sophisticated handshake phase in which the miner receives a block template from the pool in each round instead of receiving a simple block header (which commits to a full block of pool's choice and the miner has no clue about its contents) and trying to find a nonce for it which is how things work now.

For the miner to be able to fill in the block template, building his own block, it would be necessary to run a full node and it is the first not the last thing that this protocol does for improving decentralization in bitcoin. Other strengths include:
- Resisting covert censorship (my term) threats:
Officially, Matt and proponents of Betterhash believe that it is strong mitigation for censorship as a whole but it is not exactly the case. Pools are efficient when they are large enough and large pools are subject to political and jurisdiction intervention. Betterhash leaves centralized architecture of pool/miner relationship untouched and it is more than obvious that pool operators could be forced to reject miner generated blocks/shares that do include transactions that are hypothetically supposed to be censored and Betterhash can do absolutely nothing about it.

What Betterhash can do for censorship resistance tho is making it very hard and almost impossible for pool operators to do it covertly and in accordance with their private agendas.

- Resisting hash rate hijacking
It has been observed in some occasions pool operators use the miners' hash power to mine alternative chains for political purposes, Betterhash can mitigate this attack because miners are fully engaged with what they are mining.

- Collusion resistance
More block-generators, less collusion feasibility. Given Betterhash was possible to dominate the mining scene of bitcoin it would make it bulletproof against all forms of 51% attack.

So, why not Betterhash?
Unfortunately, Matt's protocol isn't employed and won't be ever because of a basic flaw: cost/benefit justifiability problem.

Looking again at the pros listed above (and other strengths not listed) it is obvious that they all share the same property of being strategically beneficial for bitcoin and lack one simple property: bringing any tangible advantage in terms of income for miners and pools at the same time that it comes with meaningful costs for miners and huge costs for pools.

Miners costs for implementing Betterhash
Besides the obvious cost of setting up a full node, miners need a substantially better internet connection and a local proxy and will experience a more 'stale rate' than what they get with legacy Stratum because it takes more time for the pool server to validate and accept their shares.

Pools costs
Here is the bottleneck. Better hash requires pool server to do an exhaustive job each time a miner issues a share and if they want to compete with the current Stratum utility level in terms of covering the variance it is not possible to use higher target difficulties for lowering the number of shares miners are used to submit. Hence a pool server should meet a very high level of hardware and Internet bandwidth requirement for handling the same number of miners that are connected now. The situation worsens considering the migration phase in which pool servers need to have parallel capacities for both versions of Stratum.

Conclusion
Betterhash is a good but impractical idea because it is trying to compete with the optimized (still fragile) current mining protocol without offering any tangible advantage. In a decentralized, wild environment like bitcoin, actors do not pay for and commit to what is considered good for the community without getting reasonable rewards almost instantly, it is called The Tragedy Of Commons.


You are right, but any new technology is very difficult to implement. Betterhash is still very attractive.


Title: Re: How to eliminate Large mining pools
Post by: elvisage on June 18, 2020, 03:14:54 AM
If the private key signature is introduced into the puzzle, in addition to the risk of losing the funds, the problem of cooperative mining still exists, this will bring greater probability fluctuations to miners.

The risk of losing money is mainly the leakage of secret keys in memory. There have been vairous ways of protecting in-memory sensitive data. You can find a brief discussion on them in the Discussion section of VRF-based mining paper.

In the case of combining secret keys into mining, the cooperative mining is no longer a profitable choice. Instead, the equilibrium is that each miner mines by himself, even though reward is unstable. Let me elaborate here.
When mining takes secret keys as input, the pool will lose his secret key if outsourcing mining. When a miner gets the secret key of the pool operator, he can steal money hold by this secret key anonymously by various ways (e.g., via mixing services). In short, outsourcing enables miners to steal money anonymously.
Then, consider a game between two miners A and B. A and B do not trust each other, but they want to stabilise their mining reward by mining together. When mining takes secret keys as input, the game goes as follows. If both of them collaborate honestly, both get most reward, i.e., stable income. If A collaborates honestly but B behaves maliciously, B gets all mining reward. Vice versa for A behaving maliciously while B collaborating honestly. If A and B behave maliciously, they are basically solo mining.
Thus, the equilibrium for this system is that, each miner mines by himself and gives no chance for other miners to steal his mining reward.
In this way, even though mining reward is not stable, cooperative mining is a worse strategy than solo mining.

Regarding your solution, joining mining pools is still the best strategy for miners.
There is an optimal strategy for each miner. A miner can try first phase for lots of times until getting a small difficulty. The first phase can be run concurrently. A mining pool can spawn more concurrent executions of the first phase, so have more advantage on mining than solo mining. In this way, pooled mining is still profitable, and miners are still willing to join mining pools.


Title: Re: How to eliminate Large mining pools
Post by: Wind_FURY on June 18, 2020, 11:32:47 AM
What's wrong with BetterHash? What miners are really required to be doing is run their own full nodes, and remove the mining pool's political leverage on the network, right?

In fact, BetterHash does not increase the security of Bitcoin through increasing decentralization, it merely shifts the point of centralization.

Because the pool operators still have a large amount of control, they may force miners to review certain rules under the threat of not being rewarded.

2POW proposed in this paper prevent cooperation between miners from the basis protocol, which make pools impossible.


That requires a hard fork? Then I believe there should be support for the proposal to be tested/experimented on an altcoin, not on Bitcoin.


Title: Re: How to eliminate Large mining pools
Post by: Sherlock.Holmes on June 18, 2020, 01:38:18 PM
The risk of losing money is mainly the leakage of secret keys in memory. There have been vairous ways of protecting in-memory sensitive data. You can find a brief discussion on them in the Discussion section of VRF-based mining paper.

We are not going to discuss the risk of private keys.

Thus, the equilibrium for this system is that, each miner mines by himself and gives no chance for other miners to steal his mining reward.
In this way, even though mining reward is not stable, cooperative mining is a worse strategy than solo mining.

For two miners A and B, A has two nodes and B has two nodes too. A lets these two nodes mined for an account, which means cooperation, and B lets the two nodes mine independently for two accounts, which means non-cooperation. Then the probability of A winning is 3/4, and the probability of B winning is 1/4.

Regarding your solution, joining mining pools is still the best strategy for miners.
There is an optimal strategy for each miner. A miner can try first phase for lots of times until getting a small difficulty. The first phase can be run concurrently. A mining pool can spawn more concurrent executions of the first phase, so have more advantage on mining than solo mining. In this way, pooled mining is still profitable, and miners are still willing to join mining pools.

By 2POW, the probability of miner winning with cooperation is lower than non-cooperation. All A and B let their nodes mine independently, so the probability of A winning is 1/2, and B winning is 1/2.

Miners with more nodes have a higher probability of winning, which is reasonable. Miners let their nodes mine independently, and the probability of a single miner winning is equal to the number of nodes it provides/total number of nodes in the entire network, which is essentially different from the current mining pool model.




Title: Re: How to eliminate Large mining pools
Post by: Sherlock.Holmes on June 19, 2020, 01:34:49 AM
That requires a hard fork? Then I believe there should be support for the proposal to be tested/experimented on an altcoin, not on Bitcoin.

This is an altcoin, not on bitcoin ;D


Title: Re: How to eliminate Large mining pools
Post by: orange094 on June 19, 2020, 07:36:53 AM
I believe this mechanism are more decentralized, probably many small independent miners.


Title: Re: How to eliminate Large mining pools
Post by: earth1819 on June 21, 2020, 03:02:31 AM
While I find the problem considered in the paper interesting, as bitcoin suffer from the threat of large mining pools.

Assuming the suggested construction is correct, I recommend the authors to extensively revise the paper to include a more convincing security analysis as well as benchmarks and comparisons with existing solutions.


Title: Re: How to eliminate Large mining pools
Post by: Sherlock.Holmes on June 23, 2020, 03:07:47 AM
While I find the problem considered in the paper interesting, as bitcoin suffer from the threat of large mining pools.

Assuming the suggested construction is correct, I recommend the authors to extensively revise the paper to include a more convincing security analysis as well as benchmarks and comparisons with existing solutions.


Sorry for the misunderstanding. If you think there are some problems, you can put forward more detailed suggestions, thank you.


Title: Re: How to eliminate Large mining pools
Post by: PrimeNumber7 on June 23, 2020, 05:24:30 AM
I read your paper, and I don't think it would eliminate mining pools, but it probably would change how mining pools operate. A mining pool may have some miners calculate the first phase of the PoW, send the result to the mining pool, which in turn sends the result to other miners, who attempt to calculate the second phase of the PoW, and once solved will send the solved calculate back to the pool. Or individual miners calculate both phases of the PoW, sends the solution to the pool, which distributes the mining rewards to each miner.

I would also firmly reject the notion that one individual should be the only person who has contributed to finding a block. In the current implementation of bitcoin, there are 144 blocks found per day, and by some estimates, there are 400k daily users of bitcoin. This is far too few people controlling the confirmation of transactions for many people.


Title: Re: How to eliminate Large mining pools
Post by: Sherlock.Holmes on June 26, 2020, 07:15:44 AM
Hello, everyone
We have just launched the testnet, and everyone is welcome to participate. If you have any questions, please leave a message at the forum or email us. Thank you all.  ;D


Title: Re: How to eliminate Large mining pools
Post by: Sherlock.Holmes on June 29, 2020, 08:06:19 AM
I read your paper, and I don't think it would eliminate mining pools, but it probably would change how mining pools operate. A mining pool may have some miners calculate the first phase of the PoW, send the result to the mining pool, which in turn sends the result to other miners, who attempt to calculate the second phase of the PoW, and once solved will send the solved calculate back to the pool. Or individual miners calculate both phases of the PoW, sends the solution to the pool, which distributes the mining rewards to each miner.

I would also firmly reject the notion that one individual should be the only person who has contributed to finding a block. In the current implementation of bitcoin, there are 144 blocks found per day, and by some estimates, there are 400k daily users of bitcoin. This is far too few people controlling the confirmation of transactions for many people.

Sorry, I was busy with the testnet a while ago and did not reply to your message in time.

It is very difficult for cooperation in the first phase. Since the completion time of the first phase is random and uncontrollable, the scheduler must wait for all collaborators to complete and then select the node with best luck to enter the second phase. But the time spent in the first phase is the longest.

In addition, our difficulty adjustment strategy is designed in such a way that after the number of nodes in the entire network reaches a certain number, the difficulty of the first stage will be many times higher than the difficulty of the best luck in the second stage. Cooperation in the  second phase is meaningless.


Title: Re: How to eliminate Large mining pools
Post by: PrimeNumber7 on June 29, 2020, 01:46:23 PM
A pool could work like this:
The pool has 6 members, each with equal processing capacity.
Members A-D would work on the first phase, each on their own as if they were mining on their own account. Once one of the above members solved the first phase, they send the solution to a server, which sends it to one of members E-F who works on the second phase.
Each member will work on different work, will send their solution to a centralized server once they find a solution if applicable, and will share the rewards.


Title: Re: How to eliminate Large mining pools
Post by: BrewMaster on June 29, 2020, 02:03:13 PM
Members A-D would work on the first phase, each on their own as if they were mining on their own account. Once one of the above members solved the first phase, they send the solution to a server, which sends it to one of members E-F who works on the second phase.

the idea of sharing work (pooling) is to have multiple workers that work in parallel to each other and not reply on other's solution. each worker gets its own work and submits the result of that work then gets the next parallel job.
if a worker has to wait for other worker to finish then it defeats the purpose and the optimization gained by parallel work.


Title: Re: How to eliminate Large mining pools
Post by: Sherlock.Holmes on June 30, 2020, 07:04:33 AM
the idea of sharing work (pooling) is to have multiple workers that work in parallel to each other and not reply on other's solution. each worker gets its own work and submits the result of that work then gets the next parallel job.
if a worker has to wait for other worker to finish then it defeats the purpose and the optimization gained by parallel work.

Fair Point.

I think you used a more concise and more logical way to express what I want to say.


Title: Re: How to eliminate Large mining pools
Post by: Kakmakr on June 30, 2020, 01:33:01 PM
I think the whole idea to stop large mining pools will just fail, because smaller miners are just naturally drawn to the large mining pools because of the higher potential for profits. A single miner will never be able to mine a block, but the collective pool will be able to do it and the gain is shared between the contributors.  ::)

Also, last time when there was a potential for a 51% attack, miners decided on their own to leave those large pools and to join up with other pools to prevent it. It is better to save the cow and to still get the milk...than killing it and getting no milk in the future.  ;)

In any way, centralization will be solved when more large pools in more countries would be established. The USA should start investing into the development of their own ASIC technology to compete with China. (Silicon Valley)


Title: Re: How to eliminate Large mining pools
Post by: Sherlock.Holmes on June 30, 2020, 02:59:19 PM
I think the whole idea to stop large mining pools will just fail, because smaller miners are just naturally drawn to the large mining pools because of the higher potential for profits. A single miner will never be able to mine a block, but the collective pool will be able to do it and the gain is shared between the contributors.  ::)

Also, last time when there was a potential for a 51% attack, miners decided on their own to leave those large pools and to join up with other pools to prevent it. It is better to save the cow and to still get the milk...than killing it and getting no milk in the future.  ;)

In any way, centralization will be solved when more large pools in more countries would be established. The USA should start investing into the development of their own ASIC technology to compete with China. (Silicon Valley)

The pools work like this: 
   -->E --> Q --> ... --> X --> x1,x2,x3
A -->F --> R --> ...
   -->G --> ...

   --> I --> ...
B --> J --> ...
   --> K --> ...

The 2POW will work like this:
A --> a1,a2,a3,...
B --> b1,b2,b3,...
C --> c1,c2,c3,...

As shown above, under the pools model, there are multiple miners under each pool, and each miner has multiple sub-miners. In the end, each miner manages multiple nodes.

Under the 2POW model, due to the infeasibility of cooperation, there will be multiple independent miners, and there is no incentive for cooperation between them. Each miner independently manages several nodes. The total number of miners will be affected by market environment and competitive. The total number of miners also reflects the degree of decentralization of the system.

In fact, 2POW only broke the hierarchical relationship under the pools model, allowing miners to participate in competition more freely and fairly.

Of course, the success of the project depends on many factors, such as community recognition, market environment, political environment, whether it is maliciously attacked when the system is not safe enough, etc. Therefore, everyone needs to be united. :)



Title: Re: How to eliminate Large mining pools
Post by: philipma1957 on June 30, 2020, 04:36:35 PM
The other thing that has been discussed is that we do.....nothing.
A few smaller pools closed / closing now after the halving. In 4 years it's going to happen again. But, there will probably be a few of the larger ones that go away too.
3.125BTC + fees might will just not leave enough money in it unless we are at $50K+USD per BTC.
In 2028 unless something else changes when we hit 1.6BTC per block + fees if BTC is not worth a ton you can bet difficulty is going to plummet, and the small PPS pools where people come to play are going to pop up all over the place.

Just my view.

If BTC goes wayyyy up in price then you can ignore all of the above.
If it falls to sub $3K and stays there then it's going to happen sooner.

-Dave


This is also  my model for BTC.

'At the current price and difficulty right now the best gear does 30 watts a th.
It is about 100 th so it does 3 kwatts an hour or 75 kwatts a day
100 th earns 7.10 a day'

a bit math lazy but close enough and easy to visualize.
So the best machine would earn

$7.10-$0.75  = $6.35 a day or 300 days to break even at 1 cent power/costs and 2,000 per machine
$7.10-$1.50  = $5.60 a day or 358 days to break even at 2 cent power/costs    
$7.10-$2.25  = $4.85 a day or 412 days to break even at 3 cent power/costs
$7.10-$3.00  = $4.10 a day or 487 days to break even at 4 cent power/costs
$7.10-$3.75  = $3.35 a day or 597 days to break even at 5 cent power/costs

These are the fundamental economic pressure of mining costs.

1)Coin price
2)gear price
3)difficulty
4)power and infrastructure costs

Nothing makes them go away

Try to create a mining algorithm to encourage my 1.2 ph to mine in a small pool. with 10 guys like myself is not going to do much.

We are pretty much locked into this set of factors above 1-4.

I can write pages on the edge large builders and large pools and large exchanges have.
Truth is they can not be stopped other than governments going after them.
I am not sure I like that idea.

I consider this time to be low tide and I look around for a decent shell win the mud here and there.
I do not try to launch a new boat.


Title: Re: How to eliminate Large mining pools
Post by: hextobig on July 01, 2020, 03:19:29 AM
Try to create a mining algorithm to encourage my 1.2 ph to mine in a small pool. with 10 guys like myself is not going to do much.

I think the author’s idea is not to create a mining algorithm to encourage everyone to mine in a small pool, but to let everyone compete freely in a more fair environment without any form of alliances and monopolies.


Title: Re: How to eliminate Large mining pools
Post by: PrimeNumber7 on July 01, 2020, 05:43:41 AM
Members A-D would work on the first phase, each on their own as if they were mining on their own account. Once one of the above members solved the first phase, they send the solution to a server, which sends it to one of members E-F who works on the second phase.

the idea of sharing work (pooling) is to have multiple workers that work in parallel to each other and not reply on other's solution. each worker gets its own work and submits the result of that work then gets the next parallel job.
if a worker has to wait for other worker to finish then it defeats the purpose and the optimization gained by parallel work.
The OP describes the first process to take longer than the second process. If for example, the first process takes twice as long as the second process, a mining pool can allocate 2/3 of miners to work on the first process and 1/3 on the second process, and given enough workers, there will be little 'downtime'.

As an alternative, workers could complete both the first and second processes, periodically send some type of verification they are working. Or a single entity could own many computers, each of which is a miner, and each of which is programmed to send the block reward to the same address controlled by the same entity.


Title: Re: How to eliminate Large mining pools
Post by: philipma1957 on July 01, 2020, 05:06:54 PM
Try to create a mining algorithm to encourage my 1.2 ph to mine in a small pool. with 10 guys like myself is not going to do much.

I think the author’s idea is not to create a mining algorithm to encourage everyone to mine in a small pool, but to let everyone compete freely in a more fair environment without any form of alliances and monopolies.


Yeah I known, but you simply can't get around the factors of

1) coin price
2) difficulty
3) power+infrastructure cost
4) price of gear.

Look at a big pool + builder try to see what the edge is for them>

Take bitmain their pools their cloud hashing and their exchange.

Once you see what they have done you realize you can only beat them with governments that hurt them.
No algorithm will work to beat them.
And as long as they exist 3 to 10 large pools will always be.

The leverage they can do by having cloud mining as part of their business model is far greater than most understand.

Look at their bitdeer plans
https://www.bitdeer.com/pricing/?id=1

Try to understand there is zero account and inspection for what they offer.
Try to understand that the s19pro they offer does 110th and 29watts.
I am 99% certain they can be tuned to do 100th and 22watts
In their case they build the gear so that loss of 10 th is meaning less.

Now see that they offer.  Many complex contracts based on s17pro

Imagine that they simply use 100th 22 watt gear in their cloud and charge you for. 2 s17 pros at 38 watts a markup

this is a huge power over charge.

 Also see they say the power and infrastructure charge is 5.4 cents a kwatt

that is a mark up from 2-3 cents.

they base sales of cloud prices on retail prices of gear another mark up

and they have the fuck you clause which says we can cancel contract when ever we please. an un real edge

they did this to me in 2017 when coins rose from 3000 to 6000 to 9000 they cancelled

I made money but contract would have lasted til Jan 2018. not Nov 2019 .

This is pretty much impossible to stop with out governments doing it.

and as I said I don't trust governments very much


Title: Re: How to eliminate Large mining pools
Post by: Sherlock.Holmes on July 02, 2020, 08:25:26 AM
Members A-D would work on the first phase, each on their own as if they were mining on their own account. Once one of the above members solved the first phase, they send the solution to a server, which sends it to one of members E-F who works on the second phase.

the idea of sharing work (pooling) is to have multiple workers that work in parallel to each other and not reply on other's solution. each worker gets its own work and submits the result of that work then gets the next parallel job.
if a worker has to wait for other worker to finish then it defeats the purpose and the optimization gained by parallel work.
The OP describes the first process to take longer than the second process. If for example, the first process takes twice as long as the second process, a mining pool can allocate 2/3 of miners to work on the first process and 1/3 on the second process, and given enough workers, there will be little 'downtime'.

As an alternative, workers could complete both the first and second processes, periodically send some type of verification they are working. Or a single entity could own many computers, each of which is a miner, and each of which is programmed to send the block reward to the same address controlled by the same entity.

I think you just misunderstood what I said. The difficulty of the first phase is greater than that of the second phase. It means that the difficulty of the first phase is greater than that of the node with the best luck in the second phase, not the node with medium luck.

The first phase of cooperation is not cost-effective. For example, if a miner has a node A, and he adds a new node, when the new node joins in a collaborative manner, their computing power is improved, but luck is not high. When new nodes join in a non-cooperative manner, their luck will increase. If the marginal effect of improved luck is greater than the marginal effect of increased computing power, then non-cooperation is the best choice for miners.

The cooperation in the second phase is meaningless. The work in the second phase needs to wait for all nodes in the first phase to be completed by an algorithm to select the best luck parameters before carrying out the tasks of the second phase. The difficulty of the second phase is very low for the best luck parameter, and the cooperation is meaningless.


Title: Re: How to eliminate Large mining pools
Post by: Sherlock.Holmes on July 02, 2020, 08:46:09 AM

Once you see what they have done you realize you can only beat them with governments that hurt them.
No algorithm will work to beat them.
And as long as they exist 3 to 10 large pools will always be.

The leverage they can do by having cloud mining as part of their business model is far greater than most understand.

Look at their bitdeer plans
https://www.bitdeer.com/pricing/?id=1

Try to understand there is zero account and inspection for what they offer.
Try to understand that the s19pro they offer does 110th and 29watts.
I am 99% certain they can be tuned to do 100th and 22watts
In their case they build the gear so that loss of 10 th is meaning less.

Now see that they offer.  Many complex contracts based on s17pro

Imagine that they simply use 100th 22 watt gear in their cloud and charge you for. 2 s17 pros at 38 watts a markup

this is a huge power over charge.


In fact, we are building a network without mining pools. We improved on the underlying consensus mechanism, making the mining pools unable to operate and manage effectively.

A lot of independent miners will be left in the network, not pools.


Title: Re: How to eliminate Large mining pools
Post by: Sherlock.Holmes on July 06, 2020, 10:48:23 AM
Thank you very much for your participation in the testnet.
After nearly a week of testing, a total of 38 independent miner nodes have participated in the test. The current block data is as follows:

1 The testnet stable run for 10 days

2 Generate about 20961 blocks

3 The block parameters are verified to meet the logical expectations

4 We have received emails from 17 independent miners, here we reply to the following related questions:

  4.1 Are the test tokens included in the mainnet?
  The tokens of the testnet are only used for testing and are not included in the mainnet.

  4.2 When does the test end?
  The test will end in about a week or two.

  4.3 When is social media established?
  We will still run in a free and open manner. In principle, we do not actively establish social media channels. All fans are welcome to actively establish social media channels and participate in the communication, thank you very much.

  4.4 What happens when the mining process crashes occasionally?
  After our testing, the mining process occasionally crashed due to insufficient memory. There will be no crashes on mining devices with memory up to 4G.

  4.5 How did a large-scale outage occur in the entire network?
  There was a large-scale interruption of about 30 minutes on the entire testnet, which was caused by the fluctuation of the network where the discovery server of the test network is located. Before the main network goes online, we will deploy multiple discovery servers in different places.

In addition, the testnet will continue to run for about a week or two, and will soon run the mainnet after completion of the test. Everyone is welcome to focus on it.

The description of the block parameters and the logic behind are being collated and will be published as soon as possible.


Title: Re: How to eliminate Large mining pools
Post by: hextobig on July 07, 2020, 03:38:23 AM
I have a suggestion. If your two-phase proof-of-work is correct, are three-phase or more phases of proof of work safer? If so, why not use more phases of proof of work?


Title: Re: How to eliminate Large mining pools
Post by: angrybirds.allen on July 08, 2020, 07:44:33 AM
A small number of large mining pools, or more small miners, which one is safer? 


Title: Re: How to eliminate Large mining pools
Post by: hextobig on July 08, 2020, 08:29:56 AM
A small number of large mining pools, or more small miners, which one is safer? 

My point of view.
According to game theory, vested interests will strive to maintain the security of the network, whether it is a mining pool or a small miner, so the security of the two is equivalent.
From a practical point of view, if someone wants to maliciously damage the network, attacking the mining pool may be easier than attacking more scattered miners.
In addition, decentralization is more fair to miners, but the operation and maintenance costs of miners may be slightly higher than mine pools.
Scattering may be more conducive to scenes with higher fairness requirements such as random number, election, etc.


Title: Re: How to eliminate Large mining pools
Post by: Sherlock.Holmes on July 10, 2020, 03:03:36 AM
After a period of testing, the luck project is stable.

The mining process and important parameters (see block explorer for details) are now explained.

Luck adopts a 2POW mechanism, in which the difficulty goal of the first phase is expressed as DifficultyAlpha. Calculate Luck after the completion of the first phase, Luck value range 1---1e+9, record lmax=1e+9. The calculation formula of the difficulty target in the second phase is as follows
DifficultyBeta=Basis*((lmax/(lmax-Luck))^2).

As the number of participating nodes increases, Basis will decrease sharply. The difficulty target in the second stage is more sensitive to the change of Luck, which is not conducive to alliance mining.

In the block explorer, you can see several new parameters, explained below.

Luck: The luck value of this round of mining
Basis: Basic control parameter of the mining difficulty in the second phase
FirstNonce: Random value of the first phase
DifficultyAlpha: Mining difficulty target value of the first phase
DifficultyBeta: Mining difficulty target value in the second phase
SecondNonce: Random value of the second phase


Title: Re: How to eliminate Large mining pools
Post by: Sherlock.Holmes on July 13, 2020, 05:29:54 AM
A small number of large mining pools, or more small miners, which one is safer?  

My point of view.
According to game theory, vested interests will strive to maintain the security of the network, whether it is a mining pool or a small miner, so the security of the two is equivalent.
From a practical point of view, if someone wants to maliciously damage the network, attacking the mining pool may be easier than attacking more scattered miners.
In addition, decentralization is more fair to miners, but the operation and maintenance costs of miners may be slightly higher than mine pools.
Scattering may be more conducive to scenes with higher fairness requirements such as random number, election, etc.

The probability of fork in 2POW is smaller than that of traditional POW. This is because the difficulty of each node is different, and the probability of generating a block at almost the same time will be relatively small.

More small miners forming 51% attacks will be more difficult than large mining pools.

Once the 51% attack condition is formed, to successfully launch a selfish mining attack, 2POW is also more difficult than traditional POW.


Title: Re: How to eliminate Large mining pools
Post by: vjudeu on July 13, 2020, 11:37:02 AM
It is still possible to create mining pools in this coin, because rewards do not have to be shared in the coinbase transaction or even in the same block. For example a mining pool can use stratum-like protocol and give only block header to each miner, as it is done today. Then, all rewards could be received by creating normal, non-coinbase transactions and including them into any blocks. And then it does not matter if it is one, two or N phases of proof-of-work, because it is all about how often you receive coins. If there will be a lot of miners, block difficulty will be high, so any miner will have two options: join some pool and get reward every day, or (for example) do solo-mining and get reward every year.

Edit: Maybe I missed something, but where I can find source code? There is a GitHub page, but there are only images for whitepaper and how to mine instructions. How can I get sources to build binaries from scratch?

Edit2:
Quote
balance: 14.999979000000002
Is there any floating-point type used? If not, what is the smallest unit of this coin?


Title: Re: How to eliminate Large mining pools
Post by: Sherlock.Holmes on July 14, 2020, 02:05:21 PM
It is still possible to create mining pools in this coin, because rewards do not have to be shared in the coinbase transaction or even in the same block. For example a mining pool can use stratum-like protocol and give only block header to each miner, as it is done today. Then, all rewards could be received by creating normal, non-coinbase transactions and including them into any blocks. And then it does not matter if it is one, two or N phases of proof-of-work, because it is all about how often you receive coins. If there will be a lot of miners, block difficulty will be high, so any miner will have two options: join some pool and get reward every day, or (for example) do solo-mining and get reward every year.

Edit: Maybe I missed something, but where I can find source code? There is a GitHub page, but there are only images for whitepaper and how to mine instructions. How can I get sources to build binaries from scratch?

Edit2:
Quote
balance: 14.999979000000002
Is there any floating-point type used? If not, what is the smallest unit of this coin?

Two reasons for the formation of the mining pools: the advantage of power merger is far greater than the scattered power, that is, the marginal contribution of miners to the mining pool will be far greater than the output of their independent mining, which is the internal reason for the formation of the mining pools. The fluctuation of the income of individual miners is the external reason why independent miners join the mining pool.
In 2POW, when miners join the mining pool, their marginal contribution will be lower than their independent mining output, and will increase the management cost of the mining pool, which will allow miners to mine independently.
The fluctuation of the income of individual miners can be adjusted by increasing the number of nodes. The number of independent miners and nodes will be a market behavior.

The source code of the project will be opened within one to two weeks after the mainnet started.

The smallest unit is 0.000000000000000001.


Title: Re: How to eliminate Large mining pools
Post by: Sherlock.Holmes on July 14, 2020, 02:39:38 PM
As conceivable once it is set up, you may extravagant putting it some place extraordinary. At the point when the opportunity arrives to move your signage about, recollect  how much do custom neon signs cost (https://www.echoneon.com/customize/)   that glass cylinders can be delicate, so attempt to keep away from contact with different surfaces where conceivable.

I think you should have sent it in the wrong place, please delete it, thank you


Title: Re: How to eliminate Large mining pools
Post by: vjudeu on July 14, 2020, 05:29:19 PM
Quote
In 2POW, when miners join the mining pool, their marginal contribution will be lower than their independent mining output, and will increase the management cost of the mining pool, which will allow miners to mine independently.
Why their contribution will be lower? Mining pool can behave exactly as one, single, huge node. Mining pool will calculate luck and difficulty, giving each miner the same block header to mine. From miner's perspective it will be exactly as it is today, because mining pool will calculate everything that will be needed (no matter how many sub-layers of calculating difficulty will be there) and mining pool will give each node the same header, it is needed to calculate only once! If the pool will give each miner a different header, it will be pointless, as they can generate such without joining the pool. Pools are not created to be only network proxies, they are created to give more frequent rewards to each miner!

Quote
The fluctuation of the income of individual miners can be adjusted by increasing the number of nodes. The number of independent miners and nodes will be a market behavior.
If overall block difficulty will be high, a single miner will still create less artificial nodes than the whole mining pool, so any pool will provide more frequent rewards than such miner could achieve alone. Also, if the block time is so short, maybe someone would prefer getting rewards every hour or every day, instead of every 20 seconds. Then, when joining the pool (being one, huge, single node) it is equal to creating "1/n node" (n=number of miners connected to the pool). Each miner can create one, two, three or more nodes, but alone it is impossible to create "1/2 node" or "1/3 node". To lower fluctuaction of the income everyone is forced to join some pool or create it and invite someone.

Edit:
Quote
For example, we can change the puzzle from "Find a block whose hash value is lower than a specific target" to " A block was found, and the hash value of the digital signature of this block is lower than a specific target.". Such a puzzle-solving problem would prevent the mining pool administrator from outsourcing work to other miners.
But remember that anyone can still create a transaction. And since there will be Turing-complete smart contracts, it could be even easier than in Bitcoin. For example: a mining pool owner will give rewards only if you put some coins as a collateral and then if you mine new coins using key given by the server. Then, you can get your coins back only after mining pool owner will move these coins somewhere else, to an address only under its control.

So, yes, mining pool operator still can outsource this work to other miners, because at the beginning these miners will give them transaction they can get coins from if a miner will take these newly created coins.

Edit2: Also note that mining pool operator can safely outsource even signature mining to other miners, because they are creating blocks below target difficulty. So they cannot simply send such block to the network, because it will be rejected. It is worth something only inside the pool! Also, the pool can accept only blocks containing coinbase and a transaction sending something to the pool. Such transaction can be also send over lightning network, so no one will notice that the pool is actually receiving something!


Title: Re: How to eliminate Large mining pools
Post by: hextobig on July 15, 2020, 11:40:21 AM
Quote
In 2POW, when miners join the mining pool, their marginal contribution will be lower than their independent mining output, and will increase the management cost of the mining pool, which will allow miners to mine independently.
Why their contribution will be lower? Mining pool can behave exactly as one, single, huge node. Mining pool will calculate luck and difficulty, giving each miner the same block header to mine. From miner's perspective it will be exactly as it is today, because mining pool will calculate everything that will be needed (no matter how many sub-layers of calculating difficulty will be there) and mining pool will give each node the same header, it is needed to calculate only once! If the pool will give each miner a different header, it will be pointless, as they can generate such without joining the pool. Pools are not created to be only network proxies, they are created to give more frequent rewards to each miner!

As OP pointed out in the paper, if the pool calculates the tasks of the first phase, then put the luck value and the difficulty of the second phase into the head, and then distributes the tasks of the second phase to other miners. In this case, the overall luck value is relatively low, the difficulty of the second phase will be very large, and the advantages of cooperation will be offset, as E2<E1 in the paper.


Title: Re: How to eliminate Large mining pools
Post by: autumngrass on August 03, 2020, 05:48:54 AM

If  luck  has no mining pools, does this mean that all participants will compete fairly?


Title: Re: How to eliminate Large mining pools
Post by: Paperweight on August 04, 2020, 06:20:40 PM
According to game theory, vested interests will strive to maintain the security of the network, whether it is a mining pool or a small miner, so the security of the two is equivalent.
Let's take this to the logical conclusion. Communism.

No mining rewards at all. Purely deflationary currency. Transaction fees go to nobody. Hodlers are incentivized to mine blocks of transactions because it increases the scarcity value of their own hodlings.

However, there's a tragedy of the commons because your hodlings go up in scarcity whether you mine or not. There's nothing new under the sun. Perhaps this can be solved by purging any account that doesn't contribute enough signed mining shares.


Title: Re: How to eliminate Large mining pools
Post by: Sherlock.Holmes on August 13, 2020, 03:09:15 PM
According to game theory, vested interests will strive to maintain the security of the network, whether it is a mining pool or a small miner, so the security of the two is equivalent.
Let's take this to the logical conclusion. Communism.

No mining rewards at all. Purely deflationary currency. Transaction fees go to nobody. Hodlers are incentivized to mine blocks of transactions because it increases the scarcity value of their own hodlings.

However, there's a tragedy of the commons because your hodlings go up in scarcity whether you mine or not. There's nothing new under the sun. Perhaps this can be solved by purging any account that doesn't contribute enough signed mining shares.

We are not trying to build communism. We just continued the design of Satoshi Nakamoto's competitive consensus, and we tried our best to make the mining process fairer in order to realize the concept of "one-CPU-one-vote" proposed by Nakamoto.


Title: Re: How to eliminate Large mining pools
Post by: beneri on August 16, 2020, 07:18:24 PM
Thank you


Title: Re: How to eliminate Large mining pools
Post by: mikeywith on August 17, 2020, 12:17:36 AM
That's a great effort you put there, but I have to sadly inform you that this isn't going to work IMO at least.

You are trying to solve an economical issue rather than a technical issue, this whole "one-cpu-one-vote" is highly misunderstood and I am having a very hard time believing that Satoshi didn't see large pools coming, according to Satoshi:

Quote
Only people trying to create new coins would need to run
network nodes.  At first, most users would run network nodes, but as the
network grows beyond a certain point, it would be left more and more to
specialists with server farms of specialized hardware
https://www.mail-archive.com/cryptography@metzdowd.com/msg09964.html

Everything that has to do "money" will always end up in the hands of a few players, this is just how the universe works, bitcoin mining has even a worse issue where the less profitable it becomes to mine -  the less "decentralized" it gets, and as block rewards keep going down, it only gets worse.

Mining is pretty fair the way it is now, it doesn't favor anybody and nobody has any patented/exclusive methods that give them any advantages over other miners.

Another thing that many people seem to be missing is that running your own node is freaking difficult and cost a lot of money despite of the small block size, let alone having to run a dozen of them.

Forcing miners to run their own nodes will only lead to fewer miners (as people) and eventually, mining will not only be "pool" centralized, the hashpower itself will be centralized, that is an issue that we currently don't have and it would be best not to create.

I don't want to hijack this thread with my own "proposal" to solve this economical problem, but as the old saying goes "if you can't beat them, join them", and to do that, we should push for a "community mining pool" (https://bitcointalk.org/index.php?topic=5268474.msg54984770#msg54984770) that is competitive enough as a way of protection against large pools.

Facts:

1- The majority of individual miners want to make the most money most simply and cheaply. (current plug-n-play system works perfectly)
2- The majority of individual miners DON'T want luck to be in their way and they want steady and stable payouts. (PPS pools do the job perfectly)

You take that away from them, and they will be gone.

There is, however, a large portion of miners who would be willing to shift their hashrate to a "trusted" pool in order to give it more power to compete against all other "untrusted" pools given that the "trusted" pool works exactly as the other pools, the majority of them are NOT willing to set up their own node/s and go through all the trouble, a good percentage of them don't know how to do it in the first place, but you know who has the money, skills and skin to do all that? large cooperations and farms, so your proposal might just be a great push towards more centralization.



Title: Re: How to eliminate Large mining pools
Post by: Kakmakr on August 19, 2020, 11:17:16 AM
Just a question... Could something be developed or the Bitcoin Protocol be changed to split mining? So, let's say you have more than X amount of hashing power ....you get pushed to a "Big pool" mining side of Bitcoin, where the big mining farms compete with each other with higher difficulty and then if you have less than Y amount of hashing power, you get placed in another Pool where the difficulty is much lower.

This will enable 2 groups to continue mining, with ASIC mining specialists on the one side and your smaller CPU/GPU group on the other.  ???

"Luck" will make it difficult for miners to plan profitability and future scaling of their mining farms, so I think that will just over complicate the whole process.  :P


Title: Re: How to eliminate Large mining pools
Post by: Sherlock.Holmes on August 21, 2020, 04:02:35 AM
That's a great effort you put there, but I have to sadly inform you that this isn't going to work IMO at least.

You are trying to solve an economical issue rather than a technical issue, this whole "one-cpu-one-vote" is highly misunderstood and I am having a very hard time believing that Satoshi didn't see large pools coming, according to Satoshi:

Quote
Only people trying to create new coins would need to run
network nodes.  At first, most users would run network nodes, but as the
network grows beyond a certain point, it would be left more and more to
specialists with server farms of specialized hardware
https://www.mail-archive.com/cryptography@metzdowd.com/msg09964.html

Everything that has to do "money" will always end up in the hands of a few players, this is just how the universe works, bitcoin mining has even a worse issue where the less profitable it becomes to mine -  the less "decentralized" it gets, and as block rewards keep going down, it only gets worse.

Mining is pretty fair the way it is now, it doesn't favor anybody and nobody has any patented/exclusive methods that give them any advantages over other miners.

Another thing that many people seem to be missing is that running your own node is freaking difficult and cost a lot of money despite of the small block size, let alone having to run a dozen of them.

Forcing miners to run their own nodes will only lead to fewer miners (as people) and eventually, mining will not only be "pool" centralized, the hashpower itself will be centralized, that is an issue that we currently don't have and it would be best not to create.

I don't want to hijack this thread with my own "proposal" to solve this economical problem, but as the old saying goes "if you can't beat them, join them", and to do that, we should push for a "community mining pool" (https://bitcointalk.org/index.php?topic=5268474.msg54984770#msg54984770) that is competitive enough as a way of protection against large pools.

Facts:

1- The majority of individual miners want to make the most money most simply and cheaply. (current plug-n-play system works perfectly)
2- The majority of individual miners DON'T want luck to be in their way and they want steady and stable payouts. (PPS pools do the job perfectly)

You take that away from them, and they will be gone.

There is, however, a large portion of miners who would be willing to shift their hashrate to a "trusted" pool in order to give it more power to compete against all other "untrusted" pools given that the "trusted" pool works exactly as the other pools, the majority of them are NOT willing to set up their own node/s and go through all the trouble, a good percentage of them don't know how to do it in the first place, but you know who has the money, skills and skin to do all that? large cooperations and farms, so your proposal might just be a great push towards more centralization.




Sorry to see your comments so late.
First of all, we have not done any form of IXO, and we do not plan to do IXO in the future. We just conducted a social experiment of a new mining method.

Our project has been online for nearly a month. According to our estimations, there are already nearly thousand of nodes in independent mining now. There have been hundreds of nodes in joint mining, and independent nodes can still get normally and proportionally every day, which is impossible under the traditional POW mechanism.

Next, I will respond to your comments as follows:
1 "one-cpu-one-vote" is indeed the vision that Satoshi Nakamoto first proposed, and the mining pools have already appeared before Nakamoto left. Obviously the mining pools violated "one-cpu-one-vote".
2 Joining a mining pool is not the true intention of most miners. In fact, it is just a choice that miners are forced to make under the monopoly of power. Miners joining the mining pool may not be able to simply obtain stable income. Under the condition of mining by luck, it may not be impossible to obtain stable income simply.
3 Decentralization is not an end, it is just a way to obtain network security. more independent nodes = more decentralized = more network security.


Title: Re: How to eliminate Large mining pools
Post by: miner2251 on August 21, 2020, 09:36:11 PM
Quote
I again see that we have a massive miner 0xa1b586 is making 5 blocks at 10 mined ratio can You please decrease a little number of nodes, please ?
It also may be some mining pool. For example when many people are mining to the same address, it will be no difference between one miner owning 1000 CPU's and 1000 miners mining to the pool's address. And since Ethereum has an account-based system, all inputs to the same addresses are automatically merged, so they have less size. Also, it is very convenient to do this merging at a coinbase level, because it has less bytes than a normal transaction and is also cheaper, because there is no risk of getting transaction fees by someone else.

Quote
My suggestion is not to beg the miner to reduce the number of nodes/miners, but for the dev to find a solution to this issue, since the whole purpose of this coins is now doomed.
But there is no solution to this problem. For example everyone can start mining to the same address, what then? Banning some address is not a solution, since it will be against freedom. People start trying making pools the simplest possible way, just when anyone can notice it. If they will be punished, the situation will be the same, just people will try making pools in a different ways.

Also, what if there is some hidden sidechain under the hood? And what if mining to this address is necessary to get access to some coins on this sidechain?


Title: Re: How to eliminate Large mining pools
Post by: Sherlock.Holmes on August 22, 2020, 03:08:51 AM
Quote
I again see that we have a massive miner 0xa1b586 is making 5 blocks at 10 mined ratio can You please decrease a little number of nodes, please ?
It also may be some mining pool. For example when many people are mining to the same address, it will be no difference between one miner owning 1000 CPU's and 1000 miners mining to the pool's address. And since Ethereum has an account-based system, all inputs to the same addresses are automatically merged, so they have less size. Also, it is very convenient to do this merging at a coinbase level, because it has less bytes than a normal transaction and is also cheaper, because there is no risk of getting transaction fees by someone else.

Quote
My suggestion is not to beg the miner to reduce the number of nodes/miners, but for the dev to find a solution to this issue, since the whole purpose of this coins is now doomed.
But there is no solution to this problem. For example everyone can start mining to the same address, what then? Banning some address is not a solution, since it will be against freedom. People start trying making pools the simplest possible way, just when anyone can notice it. If they will be punished, the situation will be the same, just people will try making pools in a different ways.

Also, what if there is some hidden sidechain under the hood? And what if mining to this address is necessary to get access to some coins on this sidechain?

There is no need to stop big miners, his gains are in full proportion to his efforts.
There are still many essential differences between mining pools and large miners.
For example, in traditional POW, there are 10 nodes in the entire network, the 5 are solo, and the other 5 are alliances, then the chance of the alliance winner is not 5/10, but 27/32, which is much greater than 5/10 , this is the key to unfairness.
In our network, your chance of winning is always equal to the proportion of your contribution to the entire network.
In addition, since there is no profit advantage in cooperation, there will be no mining pools. In the end, there will be more large miners without alliance and some free small miners, and the system will be more decentralized, and thus more safety

some hidden sidechain under the hood? there is no way to stop selfish mining, only by building a more reliable network to increase their attack costs


Title: Re: How to eliminate Large mining pools
Post by: hextobig on September 14, 2020, 02:43:05 PM
This will enable 2 groups to continue mining, with ASIC mining specialists on the one side and your smaller CPU/GPU group on the other.  ???

The algorithm in this project seems to be anti-asic, you can use FPGA/GPU to mine it.


Title: Re: How to eliminate Large mining pools
Post by: vjudeu on December 10, 2020, 11:46:21 AM
Well, you can check this coin now, how it rolled out after few months. Just FPGA miners dominated the whole mining scene. And this coin had a failed hard fork, which splitted the chain into two separate chains after block 388,000. Devs are trying to fix it, but for now it turned out that it is not pool resistant at all, because some hidden pools were created and were more profitable than solo mining, at least for me. Now it is not clear what will happen after another hard fork, but as of now we have two competing chains, frozen deposit/withdraw options on qTrade and in general people think this coin is dead.

But because hard forks can change everything dramatically, I don't know if this coin will be even similar to what we have now. We will see, the situation will probably be different after the fork, because we reached ATH at 25k satoshi per coin, then it dropped to a few hundred satoshis per coin and now, when people are switching to other coins and the price is low, it has some potential for growing.

About pools: well, it is still not pool resistant, so some improvements are needed to make it really pool resistant. The most problematic thing for most users is still that they cannot mine less than blockReward without using pools. If I would be able to mine Bitcoin and earn even one satoshi per day on my CPU, I would do it. And as this coin still don't have anything like this, pools are needed to achieve such goal, because there is no better way of getting just that. If people would earn even the smallest coins by solo mining, all pools will be gone instantly. But of course doing such things on-chain is not scalable at all, because if you have 0.01 BTC as a block reward and million miners, then sending one satoshi to every single miner is a lot of dust. Maybe some second layer solution could solve that, but solving it on-chain seems to be very inefficient.


Title: Re: How to eliminate Large mining pools
Post by: garlonicon on May 10, 2021, 07:03:26 PM
Some thoughts on making truly pool resistant coin:

1) Making it anti-GPU or anti-ASIC would not work. Sooner or later, miners would adjust their machines to any consensus, be it Proof of Work, double-phase Proof of Work, Proof of Stake, Proof of Capacity or anything else. For that reason, reusing sha256d seems to be the right way to go. If that's the case, then some hypothetical truly-pool-resistant-altcoin should just be based on pure 80-byte Bitcoin headers. The very reason why pools are created seems to be based on that it is impossible to mine some fraction of the block.
2) The best way of achieving true pool resistance would be combining shares into one, single, easy to verify share. So far, I have no idea, how to make things tick and technically construct something like that. If joining shares is impossible, then the only way to go is collecting all shares from all miners. To start with, there should be some limit to prevent spamming. Storing something like 65,536 best shares should be good enough for the start.
3) Keeping last 65,536 80-byte shares would take 5,242,880 bytes, we could reduce it almost by half by assuming that all shares should have the same previous block hash and the same difficulty. That leaves us with 44-byte shares, occupying 2,883,584 bytes, so pesimistically speaking around 3 MB per block. However, miners should receive their rewards as soon as possible, because as time passes and the chain is extended with more and more blocks, miners should be incentivized to mine shares based on the latest blocks. In other case, all miners would start sending shares with the Genesis Block set as the previous block (or other low-difficulty blocks). To prevent that, the value of the coin should be set when the next block in the Bitcoin chain is found and all rewards should be based on the whole chain work from the previous block hash to the chain tip.
4) Shares should be detached when the reward drops below single satoshi. That should make "Genesis-based shares attack" impossible and force people to distribute shares as soon as possible. Also, shares already paid should attach the proof of payment to prevent claiming reward for the same share twice. Anyway, as rewards would be covered by many blocks, they sooner or later would drop below single satoshi and would be removed from the chain.


Title: Re: How to eliminate Large mining pools
Post by: Wind_FURY on May 11, 2021, 11:25:29 AM
Or just implement BetterHash, and bring power, that can be used politically, away from the mining pools and back to the actual entities who actually controls the hashing power. You can’t “fix” pooling for financial advantage, but BetterHash can disable “exploits” used by mining pools.


Title: Re: How to eliminate Large mining pools
Post by: topcoin360 on May 12, 2021, 05:51:57 AM
Or why not just create a PoS sidechain and let the hodlers reject a fork if they are not satisfied with it? Since almost 100% of bitcoin hodlers are not mining it, how would that be less fair? How would that be against bitcoin's principles (from what we know communicating info outside the blockchain isn't forbidden)? Did propose the idea on this forum but the devs didn't seem to like it (or understand it)..

OP's post is right on time. There's no easy way to solve the large mining pools problem but there is an easy way to flip things and make the miners work for the hodlers rather than the opposite. BTC is losing momentum in the crypto market as we speak, maybe the devs will come up with something before it's too late...


Title: Re: How to eliminate Large mining pools
Post by: pooya87 on May 12, 2021, 07:54:22 AM
Or why not just create a PoS sidechain and let the hodlers reject a fork if they are not satisfied with it?
You are erasing the problem and replacing it with a much bigger problem.
First of all sidechains are their own chain and have nothing to do with bitcoin as they can also operate without bitcoin. Bitcoin also doesn't care about what is happening on a sidechain so you'll have to create a hard fork to significantly change the protocol for that to happen!
Secondly this will centralize bitcoin to whoever is "richest" and also is willing to risk participating in a centralized sidechain.
Not to mention that PoS itself is severely flawed since it can be manipulated by someone with a large amount of money.

Quote
Since almost 100% of bitcoin hodlers are not mining it
Then who are all these miners? Are they coming from outer space?


The "problem" is that when a miner that has the actual hashrate connects to a pool that doesn't have any hashrate, they don't have any control over what they mine. To solve this problem all we have to do is to change the pool protocol not bitcoin.
There are also proposals in that regard like better-hash that I've mentioned in this topic long ago.


Title: Re: How to eliminate Large mining pools
Post by: zbig001 on May 12, 2021, 04:56:57 PM
Are these stories of the harmfulness of specialized mining equipment and mining pools not beating a long dead horse?

No PoW coin has ever been successfully attacked/censored due to the fact that its mining algorithm allowed for the construction of an efficient, specialized hardware for mining this coin.

On the other hand, many coins were attacked (although typically for PoW coins, with a limited depth of damage) due to the fact that it was possible to use the computing power of universal purpose (available in rental companies) for the attack.

The fact that miners buy costly, specialized hardware means that they go long on the mined asset without the possibility of closing the long at all, or at most with a large loss.
In no imaginable way it has a negative impact on the security of this asset, on the contrary, it pays for the miner to ensure the success of the opened long.

The same is true of mining pools.

Mining pools are created virtually solely by the need to reduce the granularity of reward and reduce the likelihood of rejecting the valid block (such a risk always exists).
No small mining company can afford the uncertainty of whether it will mine 10 blocks in a given year, or it won't mine any.
Mining pools compete with each other as do the miners themselves. You can always create a new pool, and there is no obligation to participate in any specific pool.

Moreover, the pools are transnational and this can be seen as a factor beneficial for security.


Title: Re: How to eliminate Large mining pools
Post by: zbig001 on May 12, 2021, 05:07:53 PM
If the supporters of large blocks won the Bitcoin scalability debate, we might start to worry about the possible mining centralization.

But the "bigblockers" have lost the debate and the threats of mining centralization are gone.


Title: Re: How to eliminate Large mining pools
Post by: topcoin360 on May 12, 2021, 09:22:25 PM
Or why not just create a PoS sidechain and let the hodlers reject a fork if they are not satisfied with it?
You are erasing the problem and replacing it with a much bigger problem.
First of all sidechains are their own chain and have nothing to do with bitcoin as they can also operate without bitcoin. Bitcoin also doesn't care about what is happening on a sidechain so you'll have to create a hard fork to significantly change the protocol for that to happen!

The market value of the coin is not recorded on the blockchain but it does determine the network's hashrate. The blockchain itself is controlled by the community. A hard fork could happen but I'm not proposing to change the protocol. A PoS sidechain is just a tool that nodes can use to agree on certain things.

Secondly this will centralize bitcoin to whoever is "richest" and also is willing to risk participating in a centralized sidechain.
Not to mention that PoS itself is severely flawed since it can be manipulated by someone with a large amount of money.

How would it be more centralized than the actual system where most people don't even participate in the process of validating new blocks? Could we say the same about PoW and the hashrate?

Since almost 100% of bitcoin hodlers are not mining it
Then who are all these miners? Are they coming from outer space?

I totally agree with you, with a PoS sidechain miners could retain their voting power by holding their coins so what should they be afraid of?

The "problem" is that when a miner that has the actual hashrate connects to a pool that doesn't have any hashrate, they don't have any control over what they mine. To solve this problem all we have to do is to change the pool protocol not bitcoin.
There are also proposals in that regard like better-hash that I've mentioned in this topic long ago.

OK, I doubt it can work unless we keep changing the algorithms all the time but I might be wrong.


Title: Re: How to eliminate Large mining pools
Post by: Wind_FURY on May 13, 2021, 05:33:57 AM

Or why not just create a PoS sidechain and let the hodlers reject a fork if they are not satisfied with it? Since almost 100% of bitcoin hodlers are not mining it, how would that be less fair? How would that be against bitcoin's principles (from what we know communicating info outside the blockchain isn't forbidden)? Did propose the idea on this forum but the devs didn't seem to like it (or understand it)..


The sidechain proposal bad enough, you had to make it a “POS sidechain”. Research Nothing at Stake attacks. It’s a theory that signers of blocks are incetivized to sign blocks in all forks because it doesn’t cost stakers anything. Big security flaw.

Quote

OP's post is right on time. There's no easy way to solve the large mining pools problem but there is an easy way to flip things and make the miners work for the hodlers rather than the opposite. BTC is losing momentum in the crypto market as we speak, maybe the devs will come up with something before it's too late...


Start by implementing BetterHash. It doesn’t “fix” pooling, but mining pools lose political influence on the network.


Title: Re: How to eliminate Large mining pools
Post by: topcoin360 on May 13, 2021, 05:52:29 PM
The sidechain proposal bad enough, you had to make it a “POS sidechain”. Research Nothing at Stake attacks. It’s a theory that signers of blocks are incetivized to sign blocks in all forks because it doesn’t cost stakers anything. Big security flaw.

You're just proving my point, my concept was misunderstandood. The DApp I was talking about is a tool to calculate the economic weight of each node (which ultimately has the final say anyway). An attacker would need 51% of the votes to successfully reorg the blockchain which would be a dumb thing to do if you have such amount of holdings. That's my game theory and I think it makes sense.


Title: Re: How to eliminate Large mining pools
Post by: zeuner on May 14, 2021, 04:33:36 PM
People tend to be greedy, and care more for their mining reward than for having a vote.

Nothing prevents miners to survey the pool operators on how they have the pool software vote (e.g. when there is a fork ahead), and decide whether they want to contribute their mining power. Sadly, most people don't care, and I doubt this is a problem that can be solved by technology.


Title: Re: How to eliminate Large mining pools
Post by: Wind_FURY on May 15, 2021, 11:45:42 AM
The sidechain proposal bad enough, you had to make it a “POS sidechain”. Research Nothing at Stake attacks. It’s a theory that signers of blocks are incetivized to sign blocks in all forks because it doesn’t cost stakers anything. Big security flaw.

You're just proving my point, my concept was misunderstandood. The DApp I was talking about is a tool to calculate the economic weight of each node (which ultimately has the final say anyway). An attacker would need 51% of the votes to successfully reorg the blockchain which would be a dumb thing to do if you have such amount of holdings. That's my game theory and I think it makes sense.


It’s still the same debate. The biggest holders of the coin can unite, and become a “Staking Cartel”, or if an exchange is hacked, and 51% of coins are stolen by a hacker, the Nothing at Stake attack holds because it will not cost anything. Research Vericoin.

BUT penalizing bad actors should disincentivize it. We wait for Ethereum’s implementation of POS.


Title: Re: How to eliminate Large mining pools
Post by: ABCbits on May 16, 2021, 10:52:59 AM
Nothing prevents miners to survey the pool operators on how they have the pool software vote (e.g. when there is a fork ahead), and decide whether they want to contribute their mining power.

Pool software vote? If you actually mean pool mining protocol (such as stratum V2), i doubt such feature is exist. Miner usually just choose mining software (which uses stratum V2 protocol) and enter some personal detail (e.g. cryptocurrency address and pool website URL).

It’s still the same debate. The biggest holders of the coin can unite, and become a “Staking Cartel”, or if an exchange is hacked, and 51% of coins are stolen by a hacker, the Nothing at Stake attack holds because it will not cost anything. Research Vericoin.

Even worse, exchange use the deposited coin to gain "free" voting power. An example on steemit, https://www.binance.com/en/blog/421499824684900453/A-Letter-to-the-STEEM-Community (https://www.binance.com/en/blog/421499824684900453/A-Letter-to-the-STEEM-Community).


Title: Re: How to eliminate Large mining pools
Post by: topcoin360 on May 16, 2021, 06:57:28 PM
It’s still the same debate. The biggest holders of the coin can unite, and become a “Staking Cartel”, or if an exchange is hacked, and 51% of coins are stolen by a hacker, the Nothing at Stake attack holds because it will not cost anything. Research Vericoin.

BUT penalizing bad actors should disincentivize it. We wait for Ethereum’s implementation of POS.

There is no "Nothing at Stake attack" when you own 51% of the supply. If the value of BTC drops down to zero then you lose all your wealth. A fork might be necessary (hard fork/soft fork whatever) before ethereum DESTROYS bitcoin. Red flags have been sent recently (thinking of Tesla...), wonder when bitcoin will be a real cryptocurrency.

Pool software vote? If you actually mean pool mining protocol (such as stratum V2), i doubt such feature is exist. Miner usually just choose mining software (which uses stratum V2 protocol) and enter some personal detail (e.g. cryptocurrency address and pool website URL).

It’s still the same debate. The biggest holders of the coin can unite, and become a “Staking Cartel”, or if an exchange is hacked, and 51% of coins are stolen by a hacker, the Nothing at Stake attack holds because it will not cost anything. Research Vericoin.

Even worse, exchange use the deposited coin to gain "free" voting power. An example on steemit, https://www.binance.com/en/blog/421499824684900453/A-Letter-to-the-STEEM-Community (https://www.binance.com/en/blog/421499824684900453/A-Letter-to-the-STEEM-Community).

With a PoS sidechain, hodlers would have to understand that they trust their exchange to vote on their behalf if they leave their coins on the exchange. Well, I guess they already trust their exchange if they leave their coins on the exchange so I don't see where is the problem.. the transaction fees maybe? Is it something that is going to be fixed anytime soon?


Title: Re: How to eliminate Large mining pools
Post by: Wind_FURY on May 17, 2021, 06:36:14 AM
It’s still the same debate. The biggest holders of the coin can unite, and become a “Staking Cartel”, or if an exchange is hacked, and 51% of coins are stolen by a hacker, the Nothing at Stake attack holds because it will not cost anything. Research Vericoin.

BUT penalizing bad actors should disincentivize it. We wait for Ethereum’s implementation of POS.

There is no "Nothing at Stake attack" when you own 51% of the supply. If the value of BTC drops down to zero then you lose all your wealth.


Nothing at Stake means that it doesn’t cost anything for stakers to sign blocks and continue all forked chains side by side with the real chain. Miners can’t do this in Proof of Work.

Quote

A fork might be necessary (hard fork/soft fork whatever) before ethereum DESTROYS bitcoin. Red flags have been sent recently (thinking of Tesla...), wonder when bitcoin will be a real cryptocurrency.


Hahaha Ethereum destroy Bitcoin? Bitcoin will OUTLIVE Ethereum as a multi-generational protocol.


Title: Re: How to eliminate Large mining pools
Post by: zeuner on May 21, 2021, 05:32:52 AM
Nothing prevents miners to survey the pool operators on how they have the pool software vote (e.g. when there is a fork ahead), and decide whether they want to contribute their mining power.

Pool software vote? If you actually mean pool mining protocol (such as stratum V2), i doubt such feature is exist. Miner usually just choose mining software (which uses stratum V2 protocol) and enter some personal detail (e.g. cryptocurrency address and pool website URL).


Pool operators "vote" for their preferred blockchain future, e.g. they do when there is a threshold triggered fork ahead.

In effect, pool users vote because they choose which pool's URL they enter into their mining software.

As long as mining pool users are to lazy or greedy to wield this power they already have, what is the point of introducing protocols that facilitate the process?


Title: Re: How to eliminate Large mining pools
Post by: zeuner on May 25, 2021, 06:34:22 PM
Pool software vote? If you actually mean pool mining protocol (such as stratum V2), i doubt such feature is exist. Miner usually just choose mining software (which uses stratum V2 protocol) and enter some personal detail (e.g. cryptocurrency address and pool website URL).
Pool operators "vote" for their preferred blockchain future, e.g. they do when there is a threshold triggered fork ahead.

In effect, pool users vote because they choose which pool's URL they enter into their mining software.

So you basically suggest pool operator to create multiple URL to see what their user prefer and user can choose/change the URL on their mining software to make a vote (which may/may not honored by operator)?

The most obvious choice for pool users would be to just switch to another pool when being in disagreement with the pool operator's choice.

Indeed, a possible next step for pool operators who do not want to dictate fork-related decisions would be to provide multiple URLs and let users make a choice without switching the pool. But thinking about this more deeply (e.g. about how to make it transparent enough for users to see whether their vote is being honoured) would only make sense when users are willing to engage in the first step, actively deciding what pool's vote they want to support with their mining power.

As long as mining pool users are to lazy or greedy to wield this power they already have, what is the point of introducing protocols that facilitate the process?

Or don't understand proposed network upgrade and the pros/cons of the network upgrade.

When the Bitcoin XT choice was to be made through block tagging, there were many opinions around regarding the pros and cons. Still, people said it was the decision of the big mining pools. My conclusion is that users are not sufficiently aware of their own democratic role in the Bitcoin ecosystem.