Pages:
Author

Topic: Complete dezentralisation of mining possible ? - page 2. (Read 7298 times)

full member
Activity: 238
Merit: 122
For the largest amount of decentralization we'd want to distribute to people rather than hardware so if we could find a method that can differentiate people from automation we could have better decentralization.  Web programmers have a similar problem and they invented captchas to solve this problem.  For https://raiblocks.net/ we're distributing 100% through a captcha hoping this is a more egalitarian way to distribute rather than skewing toward enthusiasts.
legendary
Activity: 1008
Merit: 1007
I was thinking that because you always mine your own TX, any fees you include: go back to you Smiley 

An excellent point! In that case, storage fees would be burned by the sender, thereby reducing supply.

Quote
I was thinking more like 20 friends get together and agree that if any one of them finds a block they share the proceeds proportionally to everyone's hash rate.  Not that they would use this kind of thing to store any personal funds.  To check the hash rate they all show regularly "shares" which prove they are mining to some coinbase or another.  If anyone mines a block and grabs the funds for themselves without saying anything, the others will be able to see that cheating occured.  They won't be able to get the money back for distributing to their pool of course but they can at least see what happened.

Yes, this is possible. Not entirely sure it would be scalable to the extent pools in bitcoin are, tho.
sr. member
Activity: 322
Merit: 250
the mining will be not decentrilized into several low power hash phones its to be used by clouds and big miner farms of PH for future into the development of HW
legendary
Activity: 1066
Merit: 1050
Khazad ai-menu!

Such a system would not have regular block intervals, for sure, and indeed it would be a requirement that a sent transaction not become orphaned, otherwise you would have to manually resend transactions if you weren't quick enough.

You might design it to have no fees, because the spam protection is built in, but there are also blockchain storage costs to consider.

I was thinking that because you always mine your own TX, any fees you include: go back to you Smiley 

Quote

Difficulty wise, what if you can set your own difficulty for the transactions you mine (with proportional block reward)?


Hmm that's another interesting idea Smiley  I guess in the end there will be a network-wide difficulty-per-satoshi-reward, so it might not change all that much. 

Quote
A trusted pool, as you put it, would own your private keys and would essentially be an online wallet with none of the security of even blockchain.info.

I was thinking more like 20 friends get together and agree that if any one of them finds a block they share the proceeds proportionally to everyone's hash rate.  Not that they would use this kind of thing to store any personal funds.  To check the hash rate they all show regularly "shares" which prove they are mining to some coinbase or another.  If anyone mines a block and grabs the funds for themselves without saying anything, the others will be able to see that cheating occured.  They won't be able to get the money back for distributing to their pool of course but they can at least see what happened. 

Cheers and thanks  --  funkenstein_the_dwarf 

legendary
Activity: 1008
Merit: 1007
A couple of reasons .  One is that if there were ever more than a TX per 20 seconds or so, then this becomes too fast.. block times of one per 20 seconds have issues from what I hear.  And what if the number of TX increases?  There are no fees if you always mine your own TX.  Perhaps a balance would be reached as people simply won't be able to use the network so will stop trying to submit their TXs.   Anyway at this point there are too many people trying, the difficulty is high.. and if I want to submit a TX it becomes "run your computer for a month and there's a 50% chance your TX goes through".  That is not totally impossible to use but I called impractical because I'm spoiled Tongue  

As to enforcing that only you can mine your own blocks, this would still allow trusted pools, that is, pools where participants are honest (and don't try to cheat the pool).  In some sense, the possiblility of a trustless pool as bitcoin offers is a feature and not a bug.  What do you think?

Such a system would not have regular block intervals, for sure, and indeed it would be a requirement that a sent transaction not become orphaned, otherwise you would have to manually resend transactions if you weren't quick enough.

You might design it to have no fees, because the spam protection is built in, but there are also blockchain storage costs to consider.

Difficulty wise, what if you can set your own difficulty for the transactions you mine (with proportional block reward)?

A trusted pool, as you put it, would own your private keys and would essentially be an online wallet with none of the security of even blockchain.info.
legendary
Activity: 1066
Merit: 1050
Khazad ai-menu!
This is an interesting idea; certainly gets rid of mempool issues too doesn't it Cheesy  and TX relaying incentivization.  And TX fees, well sorta. 
However, totally impractical for a normal-use coin.  Might be interesting to see what happened though are you planning to start one to see? 

What do you think about just making it so that the miner of a block must have the coinbase private key?  Doesn't that get rid of pools?   

Yes, that would enforce the condition that only you can mine your own blocks. I don't think it's totally impractical, necessarily. What makes you say that?

A couple of reasons .  One is that if there were ever more than a TX per 20 seconds or so, then this becomes too fast.. block times of one per 20 seconds have issues from what I hear.  And what if the number of TX increases?  There are no fees if you always mine your own TX.  Perhaps a balance would be reached as people simply won't be able to use the network so will stop trying to submit their TXs.   Anyway at this point there are too many people trying, the difficulty is high.. and if I want to submit a TX it becomes "run your computer for a month and there's a 50% chance your TX goes through".  That is not totally impossible to use but I called impractical because I'm spoiled Tongue  

As to enforcing that only you can mine your own blocks, this would still allow trusted pools, that is, pools where participants are honest (and don't try to cheat the pool).  In some sense, the possiblility of a trustless pool as bitcoin offers is a feature and not a bug.  What do you think?
legendary
Activity: 1008
Merit: 1007
This is an interesting idea; certainly gets rid of mempool issues too doesn't it Cheesy  and TX relaying incentivization.  And TX fees, well sorta. 
However, totally impractical for a normal-use coin.  Might be interesting to see what happened though are you planning to start one to see? 

What do you think about just making it so that the miner of a block must have the coinbase private key?  Doesn't that get rid of pools?   

Yes, that would enforce the condition that only you can mine your own blocks. I don't think it's totally impractical, necessarily. What makes you say that?
legendary
Activity: 1066
Merit: 1050
Khazad ai-menu!
Makes pools a bitch but doesn't make distribution of a new block such a bitch.  However I am still looking for TPTB_think_they_need_war_but_really_dont's input  on this one, or anybody else's really. 

If you want to get rid of pools, make it so that only the sender of a transaction can mine that transaction (this relies on there being 1 transaction blocks).

This is an interesting idea; certainly gets rid of mempool issues too doesn't it Cheesy  and TX relaying incentivization.  And TX fees, well sorta. 
However, totally impractical for a normal-use coin.  Might be interesting to see what happened though are you planning to start one to see? 

What do you think about just making it so that the miner of a block must have the coinbase private key?  Doesn't that get rid of pools?   
legendary
Activity: 1008
Merit: 1007
Speed will be a big problem here. So long as bitcoin is being used often there will constantly be a problem of the previous block not being able to propagate the network before the next one is found creating all kinds of security and technical problems.

Depends on how you organise your concensus. If you just have a plain chain, then yes, it would be orphan hell.. but if you move to a tree, or a DAG things become much more tenable.
sr. member
Activity: 308
Merit: 250
Complete decentralisation:

* Single transaction blocks
* Sending a transaction produces a block
* Only you can mine blocks you produce

There are a number of problems with this, but that is one way to have complete decentralisation.

Speed will be a big problem here. So long as bitcoin is being used often there will constantly be a problem of the previous block not being able to propagate the network before the next one is found creating all kinds of security and technical problems.
staff
Activity: 3458
Merit: 6793
Just writing some code
There used to be a thing called P2Pool, a peer to peer mining pool, no idea what happened to it though.


It still exists, you can find it here: http://p2pool.in/
legendary
Activity: 1066
Merit: 1050
Khazad ai-menu!
Makes pools a bitch but doesn't make distribution of a new block such a bitch.  However I am still looking for TPTB_think_they_need_war_but_really_dont's input  on this one, or anybody else's really. 

If you want to get rid of pools, make it so that only the sender of a transaction can mine that transaction (this relies on there being 1 transaction blocks).

Thanks!  Have you taken a look at the spreadcoin implementation thereof?  Or heard of any others? 
legendary
Activity: 1106
Merit: 1005
There used to be a thing called P2Pool, a peer to peer mining pool, no idea what happened to it though.

legendary
Activity: 1008
Merit: 1007
Makes pools a bitch but doesn't make distribution of a new block such a bitch.  However I am still looking for TPTB_think_they_need_war_but_really_dont's input  on this one, or anybody else's really. 

If you want to get rid of pools, make it so that only the sender of a transaction can mine that transaction (this relies on there being 1 transaction blocks).
legendary
Activity: 1066
Merit: 1050
Khazad ai-menu!
I don't why simply leaving the coinbase TX outside of the to-hash-for-POW bit would be a problem.  This would make pools a lot harder to run..  so if that were your goal..  

Well, that would mean that anyone could simply modify a valid block and send the coinbase to themselves, creating an infinite number of forks.

A ha.  Yes thank you Monsterer.  Broadcasting that newly found block would be.. lets say, a delicate affair.  I've been going around in circles on this topic.  Now I see again what the spreadcoin guys were up to and various others with this addition into PoW hash of a nonce signed by the coinbase key.  Makes pools a bitch but doesn't make distribution of a new block such a bitch.  However I am still looking for TPTB_think_they_need_war_but_really_dont's input  on this one, or anybody else's really. 

legendary
Activity: 1008
Merit: 1007
I don't why simply leaving the coinbase TX outside of the to-hash-for-POW bit would be a problem.  This would make pools a lot harder to run..  so if that were your goal..  

Well, that would mean that anyone could simply modify a valid block and send the coinbase to themselves, creating an infinite number of forks.
legendary
Activity: 1066
Merit: 1050
Khazad ai-menu!
You are getting closer to my design. But you are still missing far too many radical epiphanies to realize how to crack the nut.

Did I miss a release?  Just checking...  I'd love to hear your ideas on this.  

I don't why simply leaving the coinbase TX outside of the to-hash-for-POW bit would be a problem.  This would make pools a lot harder to run..  so if that were your goal..  

thanks --  f_t_d
legendary
Activity: 1008
Merit: 1007
I'm not necessarily proposing that dedicated hardware cannot profit more, just that numbers of clients dictate the operational health, stability and speed of the network transactions not an elite group of resource rich entities with a high barrier to entry into the club.

Can you expand on your earlier statement:
* Only you can mine blocks you produce

I was thinking more outside the bitcoin 'box' as it were, since this would be a huge change. The trouble still lies with the difficulty - if you and only you can mine your own blocks, then it must be possible to send (and therefore mine) a transaction within, say 1 second, which means very low difficulty. This is incompatible with network security.
full member
Activity: 219
Merit: 102
I don't think you can split it, so there needs to be a way for the sender to select their difficulty/block reward at send time, while also making sure that global difficulty adjusts correctly... maybe you make sender's difficulty = global difficulty at 1.0 coins of block reward, and have it be proportional for all other block reward values.

Obviously chain selection then has to follow the chain with the most work done, rather than simply the longest.
The reward is the transaction fee. This is the same scenario for the future of miners when the 21mil has been reached and there are no more blocks to mine. It could even be a relationship between the fee and the difficulty so that low hash power devices process low fee transactions while mining warehouses get the higher fee transactions. What it shouldn't be is that the higher the fee, the less you get ignored!

The purpose is to not exclude any clients from participating in verifying transactions for inclusion in the block chain and using low resource clients as a sort of load sharing scheme for the transactions so even if miners do concentrate on high paying fees, there is probably a few clients nearby that will take anything if they are not busy. The engineering goal is for the network to still function as a payment system in the absence of dedicated infrastructure such as miners. I'm not necessarily proposing that dedicated hardware cannot profit more, just that numbers of clients dictate the operational health, stability and speed of the network transactions not an elite group of resource rich entities with a high barrier to entry into the club.

Can you expand on your earlier statement:
* Only you can mine blocks you produce
legendary
Activity: 1596
Merit: 1027
Of course, complete decentralization is possible. However, the interested parts need to agree in protecting the network, or as we are seeing with bitcoin, there will be always a risk of someone or a group trying to take over
Pages:
Jump to: