Pages:
Author

Topic: Getting rid of pools: Proof of Collaborative Work (Read 1914 times)

legendary
Activity: 1456
Merit: 1175
Always remember the cause!
@empty[g]

Pooling will be de-incentivized with PoCW because miners with very low hashrate can survive solo mining, there will be no reason for a small miner with few S9s to give up with his sovereignty by joining a pool and paying fees for this at the same time.

As of selfish mining by big farms, I've discussed it up-thread with @anonymint but I haven't checked whether after his ban and the removal of his posts and the ones which has quoted them, the selfish mining related discussions are still comprehensive enough or not. So let's briefly take a look at this problem once more:

First of all, selfish mining in its essence should not be categorized as a flaw even in legacy PoW.
A miner with any power can choose to keep his mined blocks private (and putting them in the risk of becoming orphan) hoping to find next block(s). Traditional winner-takes-all approach in bitcoin correctly assumes that for miners such a trade off won't be encouraging enough but many authors have tried to find a justification for miners with a large hash rate share (> 30%) to take advantage of selfish mining.

Although Sirer et all classical analysis suggests feasibility of such an attack* on bitcoin and we have now at least one  pool with such a large share (BTC.com) and historically Slush pool reached to even higher thresholds temporarily, there is no sign of a selfish mining attack on bitcoin blockchain, ever.

Such an attack would cause an unexpected increase in orphan rate, trivially detectable. If Sirer is correct(which I doubt it), it should be probably because a large pool/farm with up to 30% network share has long term interests in keeping system secure rather than seeking a few percent more profits.


Now that we have a more precise understanding of this threat in PoW, it is time to do a comparative analysis for PoCW:

1- PoCW de-incentivizes joining pools, so selfish mining should be committed by a farm rather than a pool. But a mining farm  with 30%+ network hash power is many times harder to be established compared to a pool.

2- A pool operator has less risk factors than a farm owner involved. A pool operator is gambling with his 1-2% shares but a farm owner is risking total block's reward.

3- In PoW, winner-takes-all implies both large risks and large rewards to be gambled, in PoCW miners should decide about every single share they generate gradually during each round. It would be easily provable that there is no advantage in keeping shares private in the first stages of contribution phase and it would yield little advantage in the latest stages because the selfish miner will have almost nothing more than a 3% reward incentive to start finalization phase earlier.

The 3rd argument above is of much importance and you should carefully consider the protocol details to grab it:
Suppose the network is already converged to a prepared block and its Merkle tree consequently. At first when shares are starting to accumulate, it is in the best interests of both regular and selfish miners to publish a share because no matter who finalizes the block, it would be included with a high probability.

As the shares accumulate more and more, in a critical threshold (90%+ ), a selfish miner with very large hashrate, may start to consider the possibility of keeping his (frequently generating) shares private to be more profitable.

Just like the case with PoW, a trade off should be made between the risk of losing both privately kept shares and the 3% reward of generating a finalized block on one hand and guaranteeing one's own shares to be included ( as there is always a chance for a share no to be included because a miner who manages to finalize a block puts his shares in prority) and gaining the 3% on the other hand.

I think an exact mathematical analysis is needed here but let's assume a miner with a very large share would find it more profitable to go selfish in the last stages, still the network would be like 95% contributive because the selfish miner needs to include most of the shares to prove his finalized block.  

It is worth mentioning here that I have made an improvement in the protocol that allows Prepared blocks to freely use any of the n (n not being so large) older blocks as their parent for other reasons but one side effect of this improvement would be neutralizing any effort to keep Finalized blocks private and deceiving network to generate stall shares. It is why I deliberately ignored this scenario, but even without such an improvement a same analysis would supportively show how better is the situation with PoCW compared to traditional PoW.



*I have doubts in Sirer's work's integrity, because from a pure mathematical point of view it implies that a long range attack on bitcoin network is possible by less than 50% network share which is false because a far more rigorous mathematical analysis would show you need 50%+1 power for such an attack. If Sirer's analysis was correct, a selfish miner with 30%  power would be able to keep his chain private for more than just few blocks and show up with a longer alternative chain which is practically impossible with just 30% share of the network's total power.



newbie
Activity: 7
Merit: 11
OP
i can understand why you say in POCW small miners can mine without pool pressure explained at https://bitcointalksearch.org/topic/m.42296802
maybe it was right if it was the first cryptocurrency ever as there would be no need in making a pool in first place.
but now we already witnessing more than 50% of network in hands of 3 pools. if we change the network protocol now, pools (with already so many ppl in them that may not even care or find out about changes in network) would mine in new network and selfish-mining now would be a problem as big pools and probably anyone working and mining for them (who may use the program that pools write for this matter) would not transmitting other pools or even solo miners shares.
actually selfish-mining in POCW with already existence of pools may be a bigger problem than it is now as there is so many more shares to transmitting and not transmitting them really means something.
legendary
Activity: 1456
Merit: 1175
Always remember the cause!
@danda

Yes, both are underway. Many design issues have been reconsidered/improved and new features have been included:
  • Wallets now are able to take part in consensus and proof of work and compensate for fees (partly/totally) by doing work
  • An infrastructure for a conservative version of sharding is included
  • The whole proposal is revised and improved

I'm all on my own in this project for now, appreciate any contribution.
Thanks for the interest, by the way. Smiley
full member
Activity: 203
Merit: 168
bump.  any updates on this?    code or design wise...
jr. member
Activity: 224
Merit: 5
Well that sounds good to get rid of pools for mining crypto in order to promote individual or small scale mining where areas mining earning would achieve an optimal profit. Shared mining profit will favored on mining team developers and for the actual miners will get a percentage on it. We should promote and create a mining opportunity that will be able to take the miners a good profit in doing it.
legendary
Activity: 1456
Merit: 1175
Always remember the cause!
To be precise you should think abstract.
Abstractly speaking, efficiency of a device is a matter of algorithm and the machine which runs it. As long as you keep hashing algorithm unchanged, you can't change the distribution of  efficiency.

This proposal, does not cover ASIC problem that makes commodity devices uncompetitive. What it tries to fix is the mining scale effects on devices with same efficiency (hundreds of thousands of ASICs distributed unevenly in different scales).

yes, I get that.  And I don't expect cell phone mining to ever be really profitable vs asics, gpus, botnets or whatever.  
Well, you should! Without incentive and profitability, it doesn't make sense to participate in network security, altruism is not a good foundation for a system.

My next version of this proposal, as I've mentioned previously, includes a solution for your problem: contribute to PoW whenever you have a transaction to relay. Incentives? Miners would take advantage of your difficult-to-generate transactions as an additive factor to pass their shares/blocks easier and this way you can cover the transaction fee partially/completely.

I didn't mean to go through details but it may be very interesting for you that wallets don't contribute by the same algorithm as miners, it is supposed to be safe against parallelism.

The only way to have your idea practically implemented would be releasing a coin totally mined with such an algorithm.

Quote
... today I could turn on a dusty old laptop and start it mining to give me warm fuzzies that it is helping,  secure the blockchain.  But I know that it isn't really achieving anything because it would not find a block in my lifetime and those cycles/elec have been wasted due to winner-take-all.  But if I knew that my tiny contribution was actually additive with everyone else's tiny contribution each block, and also we together are providing resistance to consensus rule changes, then I would probably do it, even if not profitable.

From my initial read of your proposal, I understood the work to be additive, not winner-take-all, and thus would give me the warm fuzzies with my dusty old laptop or my cell phone mining.  is that not so?   could it be made so?
No it is not so as long as we are stuck with current sha2 algorithm in bitcoin or even with Ethash in Ethereum.

It is because we have to set a minimum difficulty threshold on mining shares to keep network uncongested for bitcoin my suggestion is like 0.00001 difficulty which gives a S9 an opportunity to hit a share every 30 minutes with current network hashrate. A commodity cpu based device will hit almost one million times worse, obviously not a practical option.

As I said, you need to use a different hashing algorithm to support like tens of millions of small devices mining directly and hit shares every few hours, I suppose.
full member
Activity: 203
Merit: 168
To be precise you should think abstract.
Abstractly speaking, efficiency of a device is a matter of algorithm and the machine which runs it. As long as you keep hashing algorithm unchanged, you can't change the distribution of  efficiency.

This proposal, does not cover ASIC problem that makes commodity devices uncompetitive. What it tries to fix is the mining scale effects on devices with same efficiency (hundreds of thousands of ASICs distributed unevenly in different scales).

yes, I get that.  And I don't expect cell phone mining to ever be really profitable vs asics, gpus, botnets or whatever.  Even against only other cell phones each one would only have like a 1/billionth share.  Fundamentally, I'm just thinking of an ideal algo that is provably fair, ie pays out according to work performed, and each device added actually provides more security to the network.   Given such a system, more people might mine altruistically, and perhaps people could use it to generate some micro-tokens for participation in the network without having to visit an exchange of some type.  Like 21, inc used to talk about:  bootstrapping towards internet of value/things. 

Stated another way:   today I could turn on a dusty old laptop and start it mining to give me warm fuzzies that it is helping secure the blockchain.  But I know that it isn't really achieving anything because it would not find a block in my lifetime and those cycles/elec have been wasted due to winner-take-all.  But if I knew that my tiny contribution was actually additive with everyone else's tiny contribution each block, and also we together are providing resistance to consensus rule changes, then I would probably do it, even if not profitable.

From my initial read of your proposal, I understood the work to be additive, not winner-take-all, and thus would give me the warm fuzzies with my dusty old laptop or my cell phone mining.  is that not so?   could it be made so?
legendary
Activity: 1456
Merit: 1175
Always remember the cause!

Quote
One should be careful here.
What we fix is mining variance and its centralization consequences, mining profitability and efficiency is another whole damn issue, damaged by ASICs.

Hmm, here I get a little confused.

Your proposal states:

Quote
The Idea is accepting and propagating works with hundreds of thousands times lower difficulties and accumulating them as a proof of work for a given transaction set, letting miners with a very low shares of hash power ( say of orders like 10-6) to participate directly in the network and yet experience and monitor their performance on an hourly basis.

Also in your writeup on the mining variance you state:

Quote
while small miners are losing opportunity costs every single round, they will never have a practical chance to be compensated ever.

From these statements, I inferred that your proposal enables practical mining on "small" devices.  If that's not really the case, I would encourage you to define what is a "small miner" and what the goals are in terms of hardware participation, as this directly relates to how decentralized mining can practically be.
To be precise you should think abstract.
Abstractly speaking, efficiency of a device is a matter of algorithm and the machine which runs it. As long as you keep hashing algorithm unchanged, you can't change the distribution of  efficiency.

This proposal, does not cover ASIC problem that makes commodity devices uncompetitive. What it tries to fix is the mining scale effects on devices with same efficiency (hundreds of thousands of ASICs distributed unevenly in different scales).

Taking care of this problem is the most basic and preliminary step towards the efficiency problem you are interested in, otherwise, billions of devices with same efficiency would choose to conglomerate around 10-20 pools and you would have nothing more than what you got right now.

Quote
a blue-sky aside:

I have always thought that a theoretically "ideal" decentralized POW consensus algorithm would reward every participant that contributes computes cycles to securing the network, in proportion to the work performed, each and every block.  

Practically speaking, this would seem to require breaking the share puzzles into chunks small enough for each device to solve multiple shares per block, according to its abilities.  It also might require something like lightning to make regular micropayment payouts to thousands or millions (or billions) of mining participants worldwide:  think everybody with a smartphone wallet app.  The aggregate coinbase payout amount could be recorded onchain.

maybe such an ideal algo will always be pure fantasy.  What do you think?

I think it needs to be refined and adjusted:

First of all you should figure out a way for keeping ASICs, FPGAs and even GPUs out of the race. They are ways more efficient and leave no space for commodity devices to profit.

PLus, you should adjust your anticipations a bit more. For instance a device contributing in the PoW as its auxiliary feature, like a mobile and its wallet app, doesn't need a consistent micro payment every minute. It is not an investment, it can tolerate a reasonable variance like once or twice a day.

So, For your dream to be realized:
1- You definitively need a ASIC resistant algorithm which is  imun to parallelism as well.
Suppose something like a Dagger-Hashimoto algorithm (or any memory hard algorithm) with both read/write navigation requirements in each loop (actually I have a proposal for this)  which needs holding locks on its footprint.
Such an algorithm will keep almost every single commodity device competitive for mining.

2- Now you will need PoCW, to ensure that any device will be paid in real time for its contribution i.e. with a tolerable variance.
full member
Activity: 203
Merit: 168
Let me tell you a secret: I forced myself to take care of pools just because of the same cause you distinguished and pointed out: consensus changes.

I was working on ASIC resistance proposals when I realized for any consensus change, instead of convincing the community I have to convince few pool operators, the very job I'm not good at. Actually I suck negotiating with authorities of any kind, I feel desperate and worthless and it always ends to the same result, being humiliated by a bunch of idiots who got no brains and no hearts.

Then I started asking myself: Shouldn't it be different with crypto? wasn't it supposed to be different? Haven't I been promised to leave in a more decentralized planet? Why should I have to negotiate when I have the logos on my side? Who gave them the ethos to sit with me and negotiate?

It was how I left everything else suspended and started to design this proposal.

I want to set crypto free for further evolutions, to make it a fair environment for the most important resource on the earth: human's creativity and talent. It is why I'm so proud of this work. It is right to the point, the most important point ever after Satoshi: elimination of pooling pressure in PoW consensus systems.

I agree with and support your above statements.  I would simply maintain that your goals may be most readily achieved by letting bitcoin be bitcoin, and start something new.  permission-less innovation and no need to convince anyone.

Quote
I understand your concerns but some thoughts:
1- We made bitcoin what it is.
We propagated and defended it. We introduced it along with Ethereum and Monero and others to our friends, our family, our colleagues enthusiastically and confidently. We are responsible against the community that we contributed in building it, we just can't leave them alone with Jihan, it is not fair.

We each also agreed to bitcoin's consensus rules, as they are/were when we began using it.  I've argued elsewhere that the ideal cryptocurrency in terms of maintaining a stable and trusted value is one whose consensus rules cannot be changed, ever.  In practice, what we have now with BTC and ETH are coins that are quite difficult to change, by design, so anyone that tries will likely be frustrated.   What you are proposing is a major change to the rules, so you will likely be frustrated.  That I happen to agree with your reason/goals is irrelevant to that basic point.

Quote
2-PoCW, this proposal, is about eliminating the need for pools in a network saturated by hashpower and transaction load. Releasing a fresh coin based on this protocol is a feasible option but it may take too long to have such a network under a real stress test and it would put the project in the risk of being obsolete and lost in the hypes and speculations.

I believe that if this algo works as intended and a coin is fairly launched, a lot of people would mine it from day 1, and it would be under a real stress test long before your proposal would be adopted on bitcoin mainnet.

Quote
For now, my plan is neither a fresh coin nor a traditional hard fork. I'll discuss it later when I'm more ready. But If hypothetically, somebody is interested in releasing a new coin using this protocol, I'll support technically and mentally.

Ok, cool.  Sounds like you have a plan.  I won't belabor that point any longer.

Quote
Yes I am and I will commit my work asap.

Actually, after some coding I found myself with a lot of new ideas and improvements (it happens very often, the code thinks and designs autonomously) so I went back to my papers and decided to release a new version of the proposal with a LOT of interesting improvements.

I suppose it takes quite a time but worth it. Will keep you informed.

Excellent!  I will look forward to that.

Quote
One should be careful here.
What we fix is mining variance and its centralization consequences, mining profitability and efficiency is another whole damn issue, damaged by ASICs.

Hmm, here I get a little confused.

Your proposal states:

Quote
The Idea is accepting and propagating works with hundreds of thousands times lower difficulties and accumulating them as a proof of work for a given transaction set, letting miners with a very low shares of hash power ( say of orders like 10-6) to participate directly in the network and yet experience and monitor their performance on an hourly basis.

Also in your writeup on the mining variance you state:

Quote
while small miners are losing opportunity costs every single round, they will never have a practical chance to be compensated ever.

From these statements, I inferred that your proposal intends to enable practical mining on "small" devices.  If that's not really the case, I would encourage you to define what is a "small miner" and what the goals are in terms of hardware participation, as this directly relates to how decentralized mining can practically be.

a blue-sky aside:

I have always thought that a theoretically "ideal" decentralized POW consensus algorithm would reward every participant that contributes computes cycles to securing the network, in proportion to the work performed, each and every block.  

Practically speaking, this would seem to require breaking the share puzzles into chunks small enough for each device to solve multiple shares per block, according to its abilities.  It also might require something like lightning to make regular micropayment payouts to thousands or millions (or billions) of mining participants worldwide:  think everybody with a smartphone wallet app.  The aggregate coinbase payout amount could be recorded onchain.

maybe such an ideal algo will always be pure fantasy.  What do you think?

legendary
Activity: 1456
Merit: 1175
Always remember the cause!
@aliashraf  First, thank-you for this proposal and for moving the ball forward on POW improvements to increase decentralization.

Please do not let trolling or forum moderators get you down.  Sometimes it is better to ignore the noise and focus on building.

Anyway, having skimmed over the entire thread, here are my initial thoughts.

1. This is important work.  One aspect of pooling that has only been lightly touched on in this thread is the power that pool operators have when it comes to consensus changes.  During the segwit debate, pool operators would signal this way or that and the individual miners operating on those pools had no say in the matter, except to leave, which some did but not many.  The exact same thing happened with the eth/etc fork over the DAO debacle.  It is quite possible that neither of those consensus changes would have happened without pools.  In my view, a truly decentralized POW would result in a coin that is MUCH MUCH more resistant to consensus algorithm changes because it is like herding wild cats (many asleep and hiding under brush) instead of influencing a few zookeepers.  This improves immutability.     If consensus changes are actually desired, a formal change mechanism such as Decred's can be built-in.
I highly appreciate your contribution.

Actually it was the smartest and the most relevant contribution in this thread ever (no offense to other guys posted here) your deep understanding of the importance of 'getting rid of pools' agenda, just surprised me.

Let me tell you a secret: I forced myself to take care of pools just because of the same cause you distinguished and pointed out: consensus changes.

I was working on ASIC resistance proposals when I realized for any consensus change, instead of convincing the community I have to convince few pool operators, the very job I'm not good at. Actually I suck negotiating with authorities of any kind, I feel desperate and worthless and it always ends to the same result, being humiliated by a bunch of idiots who got no brains and no hearts.

Then I started asking myself: Shouldn't it be different with crypto? wasn't it supposed to be different? Haven't I been promised to leave in a more decentralized planet? Why should I have to negotiate when I have the logos on my side? Who gave them the ethos to sit with me and negotiate?

It was how I left everything else suspended and started to design this proposal.

I want to set crypto free for further evolutions, to make it a fair environment for the most important resource on the earth: human's creativity and talent. It is why I'm so proud of this work. It is right to the point, the most important point ever after Satoshi: elimination of pooling pressure in PoW consensus systems.

No other development in the cryptocurrency and blockchain technology deserves to be compared with this proposal other than bitcoin itself.
This leads us to the first truly decentralized crypto coin in the history. Let trolls and biased reviewers do their best to undermine it, they won't succeed and the pooling age, bitcoin's ice age, is over. It is just a matter of time and not a long boring time  Wink

Obviously, I'm motivated by your support but I deliberately went so far to help you understand my approach to this project: No doubts, no hesitations, just feeling more responsible and trying to become more ready.

Quote
2. It is admirable that you wish to help bitcoin and eth with this improvement.  However, this is a long and frustrating road you have set yourself, full of politics and headache.  B. Fuller said "You never change things by fighting the existing reality".  Sometimes it is necessary to create a viable working alternative just to prove something can be done.  Just look at monero and zcash.  People have been talking about improving privacy in bitcoin pretty much since day 1.  We still don't have it.  But at least now we have choice, and some working implementations that can serve as testbeds for things like bulletproofs that may yet find their way into bitcoin.  So I would encourage you to reconsider your stance on building an altcoin.  A fairly launched, decentralized coin would not be a "shitcoin" in my book, but a chance to start over and do some things right.  If the innovations are better, that coin will eventually win in the marketplace or have its innovations adopted by larger coins.   Truly decentralized mining, if achievable, is an idea worthy of its own coin, if ever there was one.

I understand your concerns but some thoughts:
1- We made bitcoin what it is.
We propagated and defended it. We introduced it along with Ethereum and Monero and others to our friends, our family, our colleagues enthusiastically and confidently. We are responsible against the community that we contributed in building it, we just can't leave them alone with Jihan, it is not fair.

2-PoCW, this proposal, is about eliminating the need for pools in a network saturated by hashpower and transaction load. Releasing a fresh coin based on this protocol is a feasible option but it may take too long to have such a network under a real stress test and it would put the project in the risk of being obsolete and lost in the hypes and speculations.

For now, my plan is neither a fresh coin nor a traditional hard fork. I'll discuss it later when I'm more ready. But If hypothetically, somebody is interested in releasing a new coin using this protocol, I'll support technically and mentally.

Quote
3. Are you working on code already?   I'd be interested to check out github for this project....

Yes I am and I will commit my work asap.

Actually, after some coding I found myself with a lot of new ideas and improvements (it happens very often, the code thinks and designs autonomously) so I went back to my papers and decided to release a new version of the proposal with a LOT of interesting improvements.

I suppose it takes quite a time but worth it. Will keep you informed.

Quote
4. What are your goals for who would be able to profitably mine on such a network?  For example, would every person on the planet with a smartphone be able to profitably mine?   How about raspberry pi or even an old commodore-64?   I'm just trying to get an idea of what the lower limits are for contributions to the network's security, and also I would like to understand if such "micro-mining" requires or supports micro-payments.   Eg payments for value that might be worth $0.00000001 cents in today's value.  Do fees become the limiting factor?    Is 1 satoshi too large to express some of these mining rewards?

One should be careful here.
What we fix is mining variance and its centralization consequences, mining profitability and efficiency is another whole damn issue, damaged by ASICs.

This proposal have no fix for inefficiency of cpu/gpu mining in a coin attacked by ASICs like bitcoin. So, a commodity device will fail being profitable even if you help with variance disaster because of its inefficiency compared to an S9.

But there are hopes (more than one):

-First of all, this proposal opens doors for further consensus changes and improvements (ASIC resistance on top of them).

-Ethereum, Monero, ... are not ASICed yet or have survived it (and for Ethereum we will save it,  Vitalike likes it or not  Wink )

-One of new design concepts I've already finalized and will publish very soon is an exciting possibility for wallets to participate in collaborative work when they generate difficult transactions by pointing and weighing on the most recent block they verify as valid. Other than PoW related impacts it helps supporting micro payments by letting wallets to compensating for fees with work, it was not feasible before collaborative work concept.

Quote
5.  You may find the bitcoin-dev mailing list a better audience for deep technical discussion/feedback.

I don't know why but I feel comfortable with public discussion right now and honestly, I feel somehow offended by dev guys who didn't contribute here.

Anyway, may be in the future, I'd consider a more active strategy in this regard. Thanks for the comment.
full member
Activity: 203
Merit: 168
@aliashraf  First, thank-you for this proposal and for moving the ball forward on POW improvements to increase decentralization.

Please do not let trolling or forum moderators get you down.  Sometimes it is better to ignore the noise and focus on building.

Anyway, having skimmed over the entire thread, here are my initial thoughts.

1. This is important work.  One aspect of pooling that has only been lightly touched on in this thread is the power that pool operators have when it comes to consensus changes.  During the segwit debate, pool operators would signal this way or that and the individual miners operating on those pools had no say in the matter, except to leave, which some did but not many.  The exact same thing happened with the eth/etc fork over the DAO debacle.  It is quite possible that neither of those consensus changes would have happened without pools.  In my view, a truly decentralized POW would result in a coin that is MUCH MUCH more resistant to consensus algorithm changes because it is like herding wild cats (many asleep and hiding under brush) instead of influencing a few zookeepers.  This improves immutability.     If consensus changes are actually desired, a formal change mechanism such as Decred's can be built-in.

2. It is admirable that you wish to help bitcoin and eth with this improvement.  However, this is a long and frustrating road you have set yourself, full of politics and headache.  B. Fuller said "You never change things by fighting the existing reality".  Sometimes it is necessary to create a viable working alternative just to prove something can be done.  Just look at monero and zcash.  People have been talking about improving privacy in bitcoin pretty much since day 1.  We still don't have it.  But at least now we have choice, and some working implementations that can serve as testbeds for things like bulletproofs that may yet find their way into bitcoin.  So I would encourage you to reconsider your stance on building an altcoin.  A fairly launched, decentralized coin would not be a "shitcoin" in my book, but a chance to start over and do some things right.  If the innovations are better, that coin will eventually win in the marketplace or have its innovations adopted by larger coins.   Truly decentralized mining, if achievable, is an idea worthy of its own coin, if ever there was one.

3. Are you working on code already?   I'd be interested to check out github for this project....

4. What are your goals for who would be able to profitably mine on such a network?  For example, would every person on the planet with a smartphone be able to profitably mine?   How about raspberry pi or even an old commodore-64?   I'm just trying to get an idea of what the lower limits are for contributions to the network's security, and also I would like to understand if such "micro-mining" requires or supports micro-payments.   Eg payments for value that might be worth $0.00000001 cents in today's value.  Do fees become the limiting factor?    Is 1 satoshi too large to express some of these mining rewards?

5.  You may find the bitcoin-dev mailing list a better audience for deep technical discussion/feedback.
newbie
Activity: 140
Merit: 0
Well that sounds good to get rid of pools for mining crypto in order to promote individual or small scale mining where areas mining earning would achieve an optimal profit.
hero member
Activity: 568
Merit: 703
No it is @mprep. Does it matter who?

Yes it matters who. Try clicking the link. We were referring to same vandal.
legendary
Activity: 1456
Merit: 1175
Always remember the cause!

I got this pm from @mpremp (the supreme leader) regarding my posts being deleted because of quoting @anunymint  Shocked



You mean mtwerp?

No it is @mprep. Does it matter who?
hero member
Activity: 568
Merit: 703

I got this pm from @mpremp (the supreme leader) regarding my posts being deleted because of quoting @anunymint  Shocked



You mean mtwerp?
legendary
Activity: 1456
Merit: 1175
Always remember the cause!
Every post from @anunymint apparently was deleted. The thread is now very difficult to understand because a significant portion of the discussion is missing.
   Angry

Although @anunymint is somewhat harsh and used a bitter language, I've to acknowledge his contribution as being helpful.

Banning users is cruelty but removing their posts? It is slutter.

I got this pm from @mpremp (the supreme leader) regarding my posts being deleted because of quoting @anunymint  Shocked

Believe it? He has removed my posts because I've quoted @anunymint. I mean what is it? A devious recursive slutter algorithm, run by a bot?

I'm shocked and disappointed, bitcointalk is not the right place for such malicious behaviors, I'll stop posting in here for a while.



hero member
Activity: 568
Merit: 703
Every post from @anunymint apparently was deleted. The thread is now very difficult to understand because a significant portion of the discussion is missing.

Some of this thread was archived here and here.
legendary
Activity: 1456
Merit: 1175
Always remember the cause!
May be later. For now, I'm just sick of it.

So many white papers out there, any scammer got one. You want to find sponsors to run a scammy ico? Easy! Find some crippy idea about a token or a new coin or something, no matter what, and write a white paper!

In the rare non-scamming cases we have PoS poisoned shits, proof of jumping ideas, topologically ill designed heterogenous networks of fucking specialized   nodes, ... I feel bad about white papers.
legendary
Activity: 1456
Merit: 1175
Always remember the cause!
Hi @icoinist,

1- Couldn't understand your suggested impact of this proposal on tr fees.
Plus, there is no reason for competing Prepared Blocks to have a same set of transactions committed to the Net Merkle Root. Actually they always have at least one different transaction, their coinbase.

2- PoCW, de-incentivizes pooling by making them unnecessary but not impossible. Miners still can participate in pools but there would be much less advantages while the costs (maintaining the service) and the risks (centralization related) remain the same. It is done by smoothening mining variance and distributing proximity premium.

3- You are correct about topological nature of the proposal and it is what exactly happens and the protocol is intentionally designed for.
The computational overhead, your concern, is not critical tho, because it is about verifying and keeping track of like 1500 shares per round for suggested parameters (as an average, according to latest calculations up-thread).
It is very important to note that computation is not the bottleneck in a decentralized network, communication is. A full node is capable of verifying tens of millions of hashes in each round (one minute) without any degradation in performance.
In PoCW, shares are 'contributions' to the same Net Merkle Root which is already verified (once per round) in preparation phase. It takes few microseconds to verify each received share's integrity and difficulty, no I/O no additional communications.

As of your qualitative review and it being due to my 'bottom-up' representation of the proposal:
I presented the proposal this way to have more contribution from community members because I (still do) think that a concrete example is easier to understand and discuss for the average reader.


EDIT:
I noticed that you made some edits:
Quote
1. Maybe I didn't understand this. It appears that anyone who puts out a prepared block will be able to pocket the transaction fees, even if it's a competing block. ... What stops miners from putting out prepared blocks, which have a rather low barrier to entry and keep pocketing transaction fees ? Also, would this not cause an increase in the average transaction fees any transaction experiences ? Considering there will be at least some (>1) competing prepared blocks, each of would would have claimed the transaction fee.

Putting out a  Prepared block is not enough to get rewarded, it should attract enough contribution and be finalized by means of a Finalized block that includes the shares and the Merkle Root of the prepared block under consideration. Only Finalized blocks and hence  a unique Merkle Tree will be committed to the blockchain.

Rational miners should stop producing Prepared Block as soon as they find out that another prepard block is propagated and is getting contribution shares from peers. It is just like traditional PoW in which miners give up with their current works and start mining new blocks by referencing to the newly found block, because they do realize that otherwise their current work will go stall.
newbie
Activity: 3
Merit: 0
Hi @alishraf
 Went through the post and conversations around it several times. Had a bunch of questions, posting the/my top 3.

1. Maybe I didn't understand this. It appears that anyone who puts out a prepared block will be able to pocket the transaction fees, even if it's a competing block. If so read on. If not, Go to 1.1. What stops miners from putting out prepared blocks, which have a rather low barrier to entry and keep pocketing transaction fees ? Also, would this not cause an increase in the average transaction fees any transaction experiences ? Considering there will be atleast some (>1) competing prepared blocks, each of would would have claimed the transaction fee.
   1.1 Btw, would each of these prepared blocks need to have the same transactions or can they be different ?
2. How does this dis-incentivize a centralized mining outfit from winning races…i.e., they could still go ahead and prepare a new, what you call a “prepared block” and funnel more “contributions” to it than a collection of miners acting in their individual capacity…(because, If I understand correct, your premise is that of a few prepared blocks to come into existence and then the early winner acquiring pole position in-so-far as the rest of the race is concerned).
 - This would only need a new kind of mining pool to exist where instead of hashes being funneled via a single key owner, it would come from the entire membership set of that pool. Ie, they would still be acting together to win the race, yet publishing their hashes individually.
3. If I understand your proposal correctly, you’re taking what is essentially happening within a mining pool, but instead of a hub-n-spoke nature of the mining pool, you’re disaggregating it by pushing the computation to the individual nodes) while pushing the collective state into the blockchain, thus allowing for state-keeping of rewards on an individual node basis.
If above is accurate, wouldn’t this be a major computational challenge for the individual nodes ? i.e., while the state has been pushed into the blockchain, the computation that needs to be done in order to keep track of cumulative mining score/difficulty (the .95 number you alluded to). The reason I say this is: Lowering the difficulty results in lengthening/increasing the state chain that has to be maintained in each node (and the computation thereof). Your net merkel tree will become huge. in a nutshell, wouldn’t it be the case that now each node would have to do the exact same thing, in terms of processing/computation that in a mining pool server is/was doing ?



I admit all my reasoning is more qualitative and intuition driven rather than math. Among the reasons for this is that your proposal is rather hard for me to wrap my head around…mainly because you’ve gone into articulating an implementation as opposed to a top down explanation.
Furthermore, it’s a bit confusing to keep track of and map the various terminologies you’ve used…since in some places they are used a bit inconsistently.
Pages:
Jump to: