Bitcoin Forum

Bitcoin => Bitcoin Discussion => Topic started by: S4VV4S on June 17, 2014, 01:14:21 PM



Title: 51% can be prevented so long as all nodes agree.
Post by: S4VV4S on June 17, 2014, 01:14:21 PM
Hi guys,

I just came up with a theory also posted here: https://bitcointalk.org/index.php?topic=652858.msg7361312#msg7361312

If the protocol was to be changed as to not allow a node to submit x number of blocks within x time, and all nodes agree to this, it would be a start.

Hashing power is measured by how many blocks are solved by one pool or miner at the day right?

If you can limit that then problem solved.

Basically, if the core dev team makes a small change on how blocks are submitted then we will not have 51% attack problems and all pools will grow together as miners will split/point their equipment to various pools at the same time.

Thus eliminating the fear of a 51% attack and all pools can grow together yet remain at decent % levels as to not cause panic again.

What do you guys think?



Title: Re: 51% can be prevented so long as all nodes agree.
Post by: gtraah on June 17, 2014, 01:29:52 PM
This seems like it could work in theory, but I am no BTC protocol genius to make an educated comment .

I am yet to see any devs comment on this 51% problem that many people are afraid off and is definitely a splinter in Bitcoins foot that keeps itching away at it's reputation. Is this something that is being worked on as I am speaking? If its not then it seems the devs either are clueless or don't give a shit.

I have seen more than 5 media articles claiming that BTC is controlled by one entity, worst fears have now leaked to the media and the media is spinning it sideways, as they do.. How fukn embarrassing is this to see, I absolutely love the idea of BTC and see this just fukn hurts.

Can someone with protocol power please make an announcement and get onto this asap.





Title: Re: 51% can be prevented so long as all nodes agree.
Post by: DannyHamilton on June 17, 2014, 01:30:45 PM
What do you guys think?

I think you haven't thought this through very well.

How are you going to determine how many blocks a node has submitted?


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: TimS on June 17, 2014, 01:33:22 PM
If the protocol was to be changed as to not allow a node to submit x number of blocks within x time, and all nodes agree to this, it would be a start.

Hashing power is measured by how many blocks are solved by one pool or miner at the day right?

If you can limit that then problem solved.
The problem is that you can't really tell what makes a node. Starting to hit the limit? Just use Tor to switch to a new IP, and voila, you're (indistinguishable from) a new node!

The only thing we trust is the proof of work. If one entity controls more than half of that, then they control the blockchain. Simple as that.


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: S4VV4S on June 17, 2014, 01:35:21 PM
What do you guys think?

I think you haven't thought this through very well.

How are you going to determine how many blocks a node has submitted?

I am not an expert here but if each node is assigned a signature then IP doesn't matter does it?


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: ljudotina on June 17, 2014, 01:36:53 PM
Well this idea can be extended. Add in some kind of "trust" level to nodes that nodes gain working over period of time. New nodes, low trust level, more restrictions (can submit less blocks). Higher trust level, less restrictions (can submit more blocks than low trust ones). Trust is gained by submiting blocks over period of time. That would disable switching form ip to ip.


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: S4VV4S on June 17, 2014, 01:38:41 PM
Well this idea can be extended. Add in some kind of "trust" level to nodes that nodes gain working over period of time. New nodes, low trust level, more restrictions (can submit less blocks). Higher trust level, less restrictions (can submit more blocks than low trust ones). Trust is gained by submiting blocks over period of time. That would disable switching form ip to ip.

^^^ there you have it.
We are already starting to expand on the idea.

Who knows, maybe we can come up with a working solution for this once and for all.


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: TimS on June 17, 2014, 01:39:03 PM
Well this idea can be extended. Add in some kind of "trust" level to nodes that nodes gain working over period of time. New nodes, low trust level, more restrictions (can submit less blocks). Higher trust level, less restrictions (can submit more blocks than low trust ones). Trust is gained by submiting blocks over period of time. That would disable switching form ip to ip.
So a new, honest miner (or a pool whose IP is not static) who publishes a few blocks in a short time period is punished, while large pools just switch to a new IP for every block, if need be. Sorry, this isn't the solution we're looking for.


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: ljudotina on June 17, 2014, 01:41:19 PM
Well this idea can be extended. Add in some kind of "trust" level to nodes that nodes gain working over period of time. New nodes, low trust level, more restrictions (can submit less blocks). Higher trust level, less restrictions (can submit more blocks than low trust ones). Trust is gained by submiting blocks over period of time. That would disable switching form ip to ip.
So a new, honest miner who publishes a few blocks in a short time period is punished, while large pools just switch to a new IP for every block, if need be. Sorry, this isn't the solution we're looking for.

You got it 100% wrong.
New honest miner and large pool that just changed IP would be at same position, "low trust level". They would have to work and over time they would get more and more trust ie. being able to submit more blocks. Smaller new and honest miner wont loose anything as they can not submit alot of blocks anyway, but large pool that switched would be loosing ALOT of BTC by switching IP, as they coudlnt submit all blocks they mine, so they just wouldnt switch IP as it would hurt em alot.


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: newuser01 on June 17, 2014, 01:44:38 PM
Well this idea can be extended. Add in some kind of "trust" level to nodes that nodes gain working over period of time. New nodes, low trust level, more restrictions (can submit less blocks). Higher trust level, less restrictions (can submit more blocks than low trust ones). Trust is gained by submiting blocks over period of time. That would disable switching form ip to ip.

Trust is what we are trying to get away from, not move towards it..

sorry, I don't think this will work.


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: ljudotina on June 17, 2014, 01:47:09 PM
Well this idea can be extended. Add in some kind of "trust" level to nodes that nodes gain working over period of time. New nodes, low trust level, more restrictions (can submit less blocks). Higher trust level, less restrictions (can submit more blocks than low trust ones). Trust is gained by submiting blocks over period of time. That would disable switching form ip to ip.

Trust is what we are trying to get away from, not move towards it..

sorry, I don't think this will work.

Ehm, "mathematical trust that is calculated by whole network"...not "i trust you" trust...Whole btc newtork is based on calculated trust. It just isnt centralized trust, it's decentralized one. This would be exactly that.


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: S4VV4S on June 17, 2014, 01:47:30 PM
Well this idea can be extended. Add in some kind of "trust" level to nodes that nodes gain working over period of time. New nodes, low trust level, more restrictions (can submit less blocks). Higher trust level, less restrictions (can submit more blocks than low trust ones). Trust is gained by submiting blocks over period of time. That would disable switching form ip to ip.

Trust is what we are trying to get away from, not move towards it..

sorry, I don't think this will work.

There never was trust.
It is supposed to be trustless in the manner of one does not have to trust one other to make a transaction.
The whole network has to agree.

And if all nodes agree that one node is getting a lot of hashing power fast to the point that it is dangerous for the protocol then that node is capped as to allow other nodes to even things out.

That will also cause a "decentralized" kind of pool mining as users will have their miners pointed at various pools


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: DannyHamilton on June 17, 2014, 01:47:55 PM
I am not an expert here but if each node is assigned a signature then IP doesn't matter does it?

And you can somehow keep a pool from being assigned multiple signatures?

Explain.

Well this idea can be extended. Add in some kind of "trust" level to nodes that nodes gain working over period of time. New nodes, low trust level, more restrictions (can submit less blocks). Higher trust level, less restrictions (can submit more blocks than low trust ones). Trust is gained by submiting blocks over period of time. That would disable switching form ip to ip.

^^^ there you have it.
We are already starting to expand on the idea.

Who knows, maybe we can come up with a working solution for this once and for all.

If we are going to choose to trust an authority, then we don't need a blockchain.

The revolutionary thing about Bitcoin is that it is decentralized, requiring no trust in any single authority.

Go use a bank if you prefer to give trust to an entity.

Furthermore, a large pool can just get a new signature for every block.  Sure, they'll be limited to a single block since they'll have such low "trust", but that doesn't matter since they can use a brand new signature for the next block.


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: S4VV4S on June 17, 2014, 01:50:40 PM
I am not an expert here but if each node is assigned a signature then IP doesn't matter does it?

And you can somehow keep a pool from being assigned multiple signatures?

Explain.

Bro, like I said, even though I do my own software (which only recently involves BTC) I am not an expert on the matter.

It might not have to be a signature but I am sure that if we can track someone by their address then we can keep someone from cheating.

Don't you think?



Title: Re: 51% can be prevented so long as all nodes agree.
Post by: S4VV4S on June 17, 2014, 01:52:45 PM
I am not an expert here but if each node is assigned a signature then IP doesn't matter does it?

And you can somehow keep a pool from being assigned multiple signatures?

Explain.

Well this idea can be extended. Add in some kind of "trust" level to nodes that nodes gain working over period of time. New nodes, low trust level, more restrictions (can submit less blocks). Higher trust level, less restrictions (can submit more blocks than low trust ones). Trust is gained by submiting blocks over period of time. That would disable switching form ip to ip.

^^^ there you have it.
We are already starting to expand on the idea.

Who knows, maybe we can come up with a working solution for this once and for all.

If we are going to choose to trust an authority, then we don't need a blockchain.

The revolutionary thing about Bitcoin is that it is decentralized, requiring no trust in any single authority.

Go use a bank if you prefer to give trust to an entity.


Furthermore, a large pool can just get a new signature for every block.  Sure, they'll be limited to a single block since they'll have such low "trust", but that doesn't matter since they can use a brand new signature for the next block.

What a lame thing to say Danny.

Can't you see that we CAN NOT trust the blockchain coz it can be exploited


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: ljudotina on June 17, 2014, 01:53:51 PM

If we are going to choose to trust an authority, then we don't need a blockchain.


Did you read my post AT ALL? No you did not , as if you did, than you would know that i did not propose to trust "authority" but to "trust" network decision. Blockchain is exactly that. Ledger that we all trust to that is created by network. This would be "trust ledger" created by whole network.


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: Peter R on June 17, 2014, 01:57:24 PM
I am not an expert here but if each node is assigned a signature then IP doesn't matter does it?

And you can somehow keep a pool from being assigned multiple signatures?

Explain.

By submitting an application to, and receiving approval from, the Federation of Decentralized Bitcoin Miners, of course.   :D

The irony in the concept of a centralized organization committed to decentralization was intentional.


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: S4VV4S on June 17, 2014, 01:59:29 PM
I am not an expert here but if each node is assigned a signature then IP doesn't matter does it?

And you can somehow keep a pool from being assigned multiple signatures?

Explain.

By submitting an application to, and receiving approval from, the Federation of Decentralized Bitcoin Miners, of course.   :D

The irony in the concept of a centralized organization committed to decentralization was intentional.


I am guessing you are talking about TBF  ;D ;D ;D ;D ;D ;D ;D

Seriously what happened to "decentralization" and NO central authority?


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: DannyHamilton on June 17, 2014, 02:00:40 PM
I am not an expert here but if each node is assigned a signature then IP doesn't matter does it?

And you can somehow keep a pool from being assigned multiple signatures?

Explain.

Bro, like I said, even though I do my own software (which only recently involves BTC) I am not an expert on the matter.

Clearly.  Not only aren't you an expert, but you really aren't even thinking this through.

You want to be able to stop someone with more than 50% of the hashing power from having the power that having more than 50% of the hashing power provides.  Unfortunately wanting something doesn't mean its possible.  Throwing out ideas that haven't been thought through, and that have already been discussed dozens of times, just means that people are going to point out the problems with your idea that have already been discovered (dozens of times).

It might not have to be a signature but I am sure that if we can track someone by their address then we can keep someone from cheating.

But, since we don't have an address that we can track someone by, we can't keep them from cheating.  Not unless we give some sort of trust to a centralized authority.

This is a problem that has plagued the idea of a cryptocurrency for decades.  There was no way to maintain an consensus without a centralized authority.  Using a blockchain and a proof-of-work, Satoshi came up with a revolutionary concept for distributed consensus.  The problem with his solution is that if someone can supply the majority of the proof-of-work, then they can control the consensus.  If you can find a way to reach consensus without the proof-of-work, then we don't need proof-of-work mining any more at all.  Instead of using your new system to reach consensus on the block submitted, we can just create a coin that uses your amazing new consensus system to reach consensus on the transactions themselves.



Title: Re: 51% can be prevented so long as all nodes agree.
Post by: ljudotina on June 17, 2014, 02:02:55 PM
Ok screw this. I have too much "trust" in human intelect. I should have known that barely anyone will read my post with at least half brain turned on, so here it is again, stupid proof and changed so no "trust" is involved:

Well this idea can be extended. Add in some kind of "proirity" level to nodes that nodes gain working over period of time. Priority would be assigned by whole network which is basic idea of BTC....things being decided by whole newtork.
New nodes would have low priority level which would have more restrictions (they could submit less blocks).
Higher priority level nodes would have less restrictions (they could submit more blocks than low priority nodes).

Priority is gained by submiting blocks over period of time. That would disable switching form ip to ip. How?

Her's an example.

(numbers are just figurative)
Pool A = large pool that submits 50 blocks per hour
Poll B = new, small pool that just started working and is submiting 5 block per hour

Pool A has high priority level and can submit up to 100 blocks per hour
Pool A starts growing and gets to 101 blck per hour and starts loosing BTC. They change IP after 100th block is submited to enable themselves to submit that 101th block and they become low priority pool.
Now pool A can submit only 10 blocks per hour and gain 1 extra block every day. While Pool B which is still on same IP is going great, growing slowly and gaining proiroty.

What basicly happened, Pool A shot itself in the foot and is loosing ALOT of BTC because they tried to cheat the system, while new honest pool is growing steady.


Is it now much clearer?


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: DannyHamilton on June 17, 2014, 02:04:45 PM
I am not an expert here but if each node is assigned a signature then IP doesn't matter does it?

And you can somehow keep a pool from being assigned multiple signatures?

Explain.

By submitting an application to, and receiving approval from, the Federation of Decentralized Bitcoin Miners, of course.   :D

The irony in the concept of a centralized organization committed to decentralization was intentional.


I am guessing you are talking about TBF  ;D ;D ;D ;D ;D ;D ;D

Seriously what happened to "decentralization" and NO central authority?

No.  He's pointing out that the suggestion was that "each node is assigned a signature", with no though about who would be doing the "assigning".  In order for there to be an "assigning", there needs to be an "assignor".  That "assignor" that people trust.  And now you've created a "central authority".


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: Peter R on June 17, 2014, 02:05:15 PM
I am not an expert here but if each node is assigned a signature then IP doesn't matter does it?

And you can somehow keep a pool from being assigned multiple signatures?

Explain.

By submitting an application to, and receiving approval from, the Federation of Decentralized Bitcoin Miners, of course.   :D

The irony in the concept of a centralized organization committed to decentralization was intentional.


I am guessing you are talking about TBF  ;D ;D ;D ;D ;D ;D ;D

Seriously what happened to "decentralization" and NO central authority?

The point Danny was trying to make is that most of the "proposals" the reduce the risk of a 51% attack are actually ways that make centralization more likely.  Describe  a realization of your idea in specific detail and someone here will explain why it doesn't work.

And if you want a centralized solution, then you have nothing to worry about anyways.  A centralized network is just one that's constantly under 51% attack (the attacker just plays "nice enough" that people don't abandon the currency).  


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: S4VV4S on June 17, 2014, 02:12:52 PM
I am not an expert here but if each node is assigned a signature then IP doesn't matter does it?

And you can somehow keep a pool from being assigned multiple signatures?

Explain.

By submitting an application to, and receiving approval from, the Federation of Decentralized Bitcoin Miners, of course.   :D

The irony in the concept of a centralized organization committed to decentralization was intentional.


I am guessing you are talking about TBF  ;D ;D ;D ;D ;D ;D ;D

Seriously what happened to "decentralization" and NO central authority?

No.  He's pointing out that the suggestion was that "each node is assigned a signature", with no though about who would be doing the "assigning".  In order for there to be an "assigning", there needs to be an "assignor".  That "assignor" that people trust.  And now you've created a "central authority".

Not necessarily bro.
There can be a side chain directly connected to the blockchain but this one will be the node chain where ALL nodes agree.
Again this is an idea worth looking into and expand.

I do not understand why people just say Fuck it, things are fine the way it is when clearly IT'S NOT.

We have witnessed a $100+ drop by the incident.
And we are still in early stages, even though adoption is growing rapidly.

What would happen if this event took place again after 2 years when BTC is mainstream and it's price is $5000?
A lot of people will lose a lot of money because the most important thing that keeps BTC and actually defines BTC was NOT protected.

the blockchain is like a virgin.
We are now allowing anyone who has the biggest dick to stick it to it.

Understand that I am all forward seing BTC succeed and I have invested quite a lot on it.
But if we (ALL OF US) want to see our investment secure we have to act now.
Before it's too late.

Maybe you don't like my idea.
I can understand that, but ideas and actual solutions to this problem don't just pop up.
We need to work and build on ideas to have a working solution.


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: Peter R on June 17, 2014, 02:14:01 PM
Ok screw this. I have too much "trust" in human intelect. I should have known that barely anyone will read my post with at least half brain turned on, so here it is again, stupid proof and changed so no "trust" is involved:

It's not that.  It's that these ideas have been debated endlessly for years.  PoW is the only proven system.  

Quote
Well this idea can be extended. Add in some kind of "proirity" level to nodes that nodes gain working over period of time. Priority would be assigned by whole network which is basic idea of BTC....things being decided by whole newtork.
New nodes would have low priority level which would have more restrictions (they could submit less blocks).
Higher priority level nodes would have less restrictions (they could submit more blocks than low priority nodes).

But now you've opened yourself up to a more insidious form of attack.  A cabal of miners can work towards cutting out nodes to decrease their priority levels relative to that of the cabal.  A monopoly forms where the cabal has high-enough priority that they are essentially in control.  

In other words, you are proposing "barriers to entry."  This is exactly what monopolists want to reap profits and control greater than what they would be due in an efficient market.  


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: ljudotina on June 17, 2014, 02:16:50 PM
Ok screw this. I have too much "trust" in human intelect. I should have known that barely anyone will read my post with at least half brain turned on, so here it is again, stupid proof and changed so no "trust" is involved:

It's not that.  It's that these ideas have been debated endlessly for years.  PoW is the only proven system.  

Quote
Well this idea can be extended. Add in some kind of "proirity" level to nodes that nodes gain working over period of time. Priority would be assigned by whole network which is basic idea of BTC....things being decided by whole newtork.
New nodes would have low priority level which would have more restrictions (they could submit less blocks).
Higher priority level nodes would have less restrictions (they could submit more blocks than low priority nodes).

But now you've opened yourself up to a more insidious form of attack.  A cabal of miners can work towards cutting out nodes to decrease their priority levels relative to that of the cabal.  A monopoly forms where the cabal has high-enough priority that they are essentially in control.  

In other words, you are proposing "barriers to entry."  This is exactly what monopolists want to reap profits and control greater than what they would be due in an efficient market.  

How would ANYONE exclude anyone else this way? If my pool is not changing IP it wont loose it's priority and anyone else can gain that priority by simply being steady (not changing ip) and mining. What are you talking about? Anyone would be able to enter from scratch and would gain priority by simply mining....from 0...up to max. Noone could do anything to stop you from getting to max priority if you do not change ip and mine.


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: DannyHamilton on June 17, 2014, 02:24:40 PM
Not necessarily bro.
There can be a side chain directly connected to the blockchain but this one will be the node chain where ALL nodes agree.

And a miner can gain 51% in the side chain, so then you need a side chain for the side chain. But, someone could gain 51% in that sidechain, so you need a side chain to the side chain to the side chain.

Do you see the problem yet?

I do not understand why people just say Fuck it, things are fine the way it is when clearly IT'S NOT.

People are looking for solutions (including you).  Hopefully some who actually understands the problem will find an actual solution, but it may take decades.  It took decades of some of the most educated minds in the world thinking about distributed consensus before we arrived at the Bitcoin solution.

We have witnessed a $100+ drop by the incident.

Exchange rate doesn't really matter to me.  Either Bitcoin is useful, or it isn't.  The exchange rate doesn't determine that, it just indicates the current economic state of supply and demand.

A lot of people will lose a lot of money because the most important thing that keeps BTC and actually defines BTC was NOT protected.

Then they shouldn't be putting money into it.  It is new and is very risky. These issues are very well known since the first whitepaper by Satoshi was released.

the blockchain is like a virgin.
We are now allowing anyone who has the biggest dick to stick it to it.

This is a horrible analogy and does nothing to move the discussion in a useful direction.  Are you 12 years old?

Understand that I am all forward seing BTC succeed and I have invested quite a lot on it.
But if we (ALL OF US) want to see our investment secure we have to act now.
Before it's too late.

Don't invest in things you don't understand.  This weakness was known from the very beginning.  People have been interested in a solution without this weakness all along.  All the bad ideas are brought up over and over by people who don't bother learning from the discussions of the past.

Maybe you don't like my idea.

It's not that I don't like your idea. It's that you haven't explained a way for your idea to work.  Presenting an idea that won't work, and then getting upset when people point out that it won't work is rather silly.  You have an idea.  We've pointed out the flaws in the idea.  Either find a way to fix the flaws, or move on to a new idea.  Continuously saying "but I want my idea to work" isn't going to fix it.

I can understand that, but ideas and actual solutions to this problem don't just pop up.
We need to work and build on ideas to have a working solution.

So get working, and stop wasting time trying to say that the flaws in your idea don't exist.


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: Peter R on June 17, 2014, 02:25:39 PM
How would ANYONE exclude anyone else this way? If my pool is not changing IP it wont loose it's priority and anyone else can gain that priority by simply being steady (not changing ip) and mining. What are you talking about?

You said you wanted new IP addresses to have smaller priority than established IP addresses.  In other words, you wanted to build barriers to entry and a hierarchy of default trust.  You don't see how this could more easily lead to a monopoly?  Once the monopolists are in control, they'll have the highest priority and the highest trust levels.  It would even be possible for respected nodes to "sell" their IP addresses to malicious actors to expedite the formation of the monopoly.  

We don't need to analyze the dynamics of your proposal any further because the equilibrium state can be identified as favouring the monopoly.  


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: DannyHamilton on June 17, 2014, 02:30:40 PM
Ok screw this. I have too much "trust" in human intelect. I should have known that barely anyone will read my post with at least half brain turned on, so here it is again, stupid proof and changed so no "trust" is involved:
It's not that.
- snip -  

Actually in my case it is exactly that.  I've discovered recently that 99% of the people with "PRIMEDICE" ads in their sig don't know what they are talking about and fill this forum with necro posts and nonsense.  Therefore, I've instituted a policy of clicking the "ignore" link as soon as I see that someone has a "PRIMEDICE" ad. Therefore, I can't see your posts, and I therefore don't read them.  I only see them if someone else quotes them in a response.

If I see anything in those response quotes that indicates that the "PRIMEDICE" advertiser is part of the 1% that has anything intelligent or useful to say, then I go back and "unignore" them.  So far, I haven't seen anything you've said that has made me feel like I should "unignore" you.

Quote
Well this idea can be extended. Add in some kind of "proirity" level to nodes that nodes gain working over period of time. Priority would be assigned by whole network which is basic idea of BTC....things being decided by whole newtork.
New nodes would have low priority level which would have more restrictions (they could submit less blocks).
Higher priority level nodes would have less restrictions (they could submit more blocks than low priority nodes).

But now you've opened yourself up to a more insidious form of attack.  A cabal of miners can work towards cutting out nodes to decrease their priority levels relative to that of the cabal.  A monopoly forms where the cabal has high-enough priority that they are essentially in control.  

In other words, you are proposing "barriers to entry."  This is exactly what monopolists want to reap profits and control greater than what they would be due in an efficient market.  

Nah, it's not even that complicated.  No cabal needed.  The miner with 51% can just use a new identity for every block they submit.  They never need any sort of "priority", since that identity will never submit more than 1 block.


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: ljudotina on June 17, 2014, 02:35:31 PM
How would ANYONE exclude anyone else this way? If my pool is not changing IP it wont loose it's priority and anyone else can gain that priority by simply being steady (not changing ip) and mining. What are you talking about?

You said you wanted new IP addresses to have smaller priority than established IP addresses.  In other words, you wanted to build barriers to entry and a hierarchy of default trust.  You don't see how this could more easily lead to a monopoly?  Once the monopolists are in control, they'll have the highest priority and the highest trust levels.  It would even be possible for respected nodes to "sell" their IP addresses to malicious actors to expedite the formation of the monopoly.  

We don't need to analyze the dynamics of your proposal any further because the equilibrium state can be identified as monopolistic.  

Noone could be in control, as trust would be assinged from whole network (not only miners, but all full nodes). You get "because you have steady ip and you mine" you dont "mine" priority. All full nodes on network agree on proirity....do you really think someone can control 50% of "full nodes" ?


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: Peter R on June 17, 2014, 02:37:38 PM

Nah, it's not even that complicated.  No cabal needed.  The miner with 51% can just use a new identity for every block they submit.  They never need any sort of "priority", since that identity will never submit more than 1 block.


LOL, yes.  It's difficult to implement the rule: "new identities can't submit blocks until they've submitted a block."


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: Peter R on June 17, 2014, 02:38:35 PM
do you really think someone can control 50% of "full nodes" ?

Yes, and for less cost than controlling 51% of the hashpower. 


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: ljudotina on June 17, 2014, 02:41:36 PM
do you really think someone can control 50% of "full nodes" ?

Yes, and for less cost than controlling 51% of the hashpower. 

If that's true ( i dont know cost behind it so i cant really argue againts it) than you win by this argument.


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: DannyHamilton on June 17, 2014, 02:47:17 PM
do you really think someone can control 50% of "full nodes" ?
Yes, and for less cost than controlling 51% of the hashpower.  

It is a very well known attack called a Sybil Attack (http://en.wikipedia.org/wiki/Sybil_attack). It's been a known attack against trust systems since before 2002, but gained the name in 2002 (7 years before bitcoin was created).

If we could identify and trust a "majority of nodes", we wouldn't need a proof-of-work blockchain.


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: S4VV4S on June 17, 2014, 03:13:21 PM
Danny thanks for your input and advice man.
You seem to have knowledge on the subject yet I don't see you making any suggestions - which is a shame.

Can I ask what your profession is?



Title: Re: 51% can be prevented so long as all nodes agree.
Post by: DannyHamilton on June 17, 2014, 03:25:13 PM
Can I ask what your profession is?

Computer programmer, and computer systems designer (sometimes referred to as "Systems Architect"). With my current employer, I actually handle many additional roles including Business Analyst, Technical Adviser, New Employee Trainer, New Hire Interviewer, Customer Support, and Technical Support.

Danny thanks for your input and advice man.
You seem to have knowledge on the subject yet I don't see you making any suggestions - which is a shame.

I'd make suggestions if I had any that would work.  When I come up with an idea, I think it through.  I don't think about how I expect it to work, that's the easy part.  I take the time to think through all the possible attacks I can come up with, and whether or not they can be prevented.

I've been studying the bitcoin system for 29 months.  People keep presenting the exact same ideas with the exact same flaws over and over.

Here's an important thing to keep in mind while you're trying to think of a "solution":  You aren't looking for a solution that will fix the proof-of-work blockchain.  You are looking for a solution that will fix distributed consensus.

The proof-of-work blockchain is currently the best way anyone has ever come up with to handle distributed consensus.  Anything you can come up with that can reliably prevent a miner from gaining more than 50% of the hash power will require one of two things.  Either a trusted authority that can determine and control how much hash power each entity contributes, or a method of distributed consensus that allows the entire network to agree on how much hash power each entity contributes.  If you discover a solution to distributed consensus, then you no longer need to use it to prevent a miner from gaining more than 50% of the hash power.  Instead, a new (and MUCH better) cryptocurrency can be created (or bitcoin can switch to a new protocol) that implements your newly discovered method of distributed consensus INSTEAD of a proof-of-work blockchain.



Title: Re: 51% can be prevented so long as all nodes agree.
Post by: S4VV4S on June 17, 2014, 03:31:07 PM
Can I ask what your profession is?

Computer programmer, and computer systems designer.

Danny thanks for your input and advice man.
You seem to have knowledge on the subject yet I don't see you making any suggestions - which is a shame.

I'd make suggestions if I had any that would work.  When I come up with an idea, I think it through.  I don't think about how I expect it to work, that's the easy part.  I take the time to think through all the possible attacks I can come up with, and whether or not they can be prevented.

I've been studying the bitcoin system for 29 months.  People keep presenting the exact same ideas with the exact same flaws over and over.

Here's an important thing to keep in mind while you're trying to think of a "solution":  You aren't looking for a solution that will fix the proof-of-work blockchain.  You are looking for a solution that will fix distributed consensus.

The proof-of-work blockchain is currently the best way anyone has ever come up with to handle distributed consensus.  Anything you can come up with that can reliably prevent a miner from gaining more than 50% of the hash power will require one of two things.  Either a trusted authority that can determine and control how much hash power each entity contributes, or a method of distributed consensus that allows the entire network to agree on how much hash power each entity contributes.  If you discover a solution to distributed consensus, then you no longer need to use it to prevent a miner from gaining more than 50% of the hash power.  Instead, a new (and MUCH better) cryptocurrency can be created (or bitcoin can switch to a new protocol) that implements your newly discovered method of distributed consensus INSTEAD of a proof-of-work blockchain.



I shall keep that in mind.

Don't we have enough alts already?
Can't we just fix the current protocol?

BTW: are you working on your own coin?
If yes, have you found a way to make it safer than BTC - aka ROCK SOLID?
I would really like to know if a such thing exists :)


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: DannyHamilton on June 17, 2014, 03:40:01 PM
Here's an important thing to keep in mind while you're trying to think of a "solution":  You aren't looking for a solution that will fix the proof-of-work blockchain.  You are looking for a solution that will fix distributed consensus.

The proof-of-work blockchain is currently the best way anyone has ever come up with to handle distributed consensus.  Anything you can come up with that can reliably prevent a miner from gaining more than 50% of the hash power will require one of two things.  Either a trusted authority that can determine and control how much hash power each entity contributes, or a method of distributed consensus that allows the entire network to agree on how much hash power each entity contributes.  If you discover a solution to distributed consensus, then you no longer need to use it to prevent a miner from gaining more than 50% of the hash power.  Instead, a new (and MUCH better) cryptocurrency can be created (or bitcoin can switch to a new protocol) that implements your newly discovered method of distributed consensus INSTEAD of a proof-of-work blockchain.

I shall keep that in mind.

Don't we have enough alts already?

No.  Most alts are just useless copies of bitcoin with the inflation schedule changed.  There are VERY few that implement anything new when it comes to distributed consensus.  The only real alternative I've seen to a proof-of-work blockchain is a "proof-of-stake" blockchain.  Unfortunately, proof-of-stake has its own >50% problem (50% of historical stake, instead of 50% of current hashpower).  Less "coin of the week" clones of bitcoin, and more innovation into entirely new concepts would be great.

Can't we just fix the current protocol?

Well, fixing it means changing it, right?  And changing it means it is essentially a "new protocol" right?
I'm pretty sure I said:
"or bitcoin can switch to a new protocol"

BTW: are you working on your own coin?
If yes, have you found a way to make it safer than BTC - aka ROCK SOLID?
I would really like to know if a such thing exists :)

Nah, I like bitcoin.  I'm not too concerned about the GHash.io situation at the moment.  Either participants will eventually see that they are damaging their own value and will switch to other pools, or bitcoin will fail as an experiment in distributed consensus.  It will be interesting to see how it all plays out, but I don't have any better solutions available.  If I did have a better solution, I'd submit code for review to Bitcoin Core to change the distributed consensus system.


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: murraypaul on June 17, 2014, 03:43:47 PM
do you really think someone can control 50% of "full nodes" ?

Yes, and for less cost than controlling 51% of the hashpower.  

If that's true ( i dont know cost behind it so i cant really argue againts it) than you win by this argument.

PSA: Add a Full Node for just $19/year! (https://bitcointalk.org/index.php?topic=582817.0)

This site (https://getaddr.bitnodes.io/) suggests there are under 8000 full Bitcoin nodes.
So to get 50% would require adding 8000 nodes, at a cost of ~$160,000 per year. [In practice you could do it much much cheaper than buying them singly!]
I'm not going to work out the cost of adding enough hashpower to get 50% of the network, but it is an awful lot more than that.


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: Peter R on June 17, 2014, 03:43:57 PM
Can't we just fix the current protocol?

It's entirely possible, and IMO likely, that a general distributed consensus theorem exists and applies to all proof-of-X (PoX) type consensus methods:

A distributed consensus system is vulnerable to an attack by an entity that controls 51% of the critical resource X.

If that's the case, the question then is how do we incentivize against a malicious entity acquiring 51% of X?  Satoshi's answer was "make doing so expensive."  So far this is working.    


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: S4VV4S on June 17, 2014, 03:49:00 PM
Here's an important thing to keep in mind while you're trying to think of a "solution":  You aren't looking for a solution that will fix the proof-of-work blockchain.  You are looking for a solution that will fix distributed consensus.

The proof-of-work blockchain is currently the best way anyone has ever come up with to handle distributed consensus.  Anything you can come up with that can reliably prevent a miner from gaining more than 50% of the hash power will require one of two things.  Either a trusted authority that can determine and control how much hash power each entity contributes, or a method of distributed consensus that allows the entire network to agree on how much hash power each entity contributes.  If you discover a solution to distributed consensus, then you no longer need to use it to prevent a miner from gaining more than 50% of the hash power.  Instead, a new (and MUCH better) cryptocurrency can be created (or bitcoin can switch to a new protocol) that implements your newly discovered method of distributed consensus INSTEAD of a proof-of-work blockchain.

I shall keep that in mind.

Don't we have enough alts already?

No.  Most alts are just useless copies of bitcoin with the inflation schedule changed.  There are VERY few that implement anything new when it comes to distributed consensus.  The only real alternative I've seen to a proof-of-work blockchain is a "proof-of-stake" blockchain.  Unfortunately, proof-of-stake has its own >50% problem (50% of historical stake, instead of 50% of current hashpower).  Less "coin of the week" clones of bitcoin, and more innovation into entirely new concepts would be great.

Can't we just fix the current protocol?

Well, fixing it means changing it, right?  And changing it means it is essentially a "new protocol" right?
I'm pretty sure I said:
"or bitcoin can switch to a new protocol"

BTW: are you working on your own coin?
If yes, have you found a way to make it safer than BTC - aka ROCK SOLID?
I would really like to know if a such thing exists :)

Nah, I like bitcoin.  I'm not too concerned about the GHash.io situation at the moment.  Either participants will eventually see that they are damaging their own value and will switch to other pools, or bitcoin will fail as an experiment in distributed consensus.  It will be interesting to see how it all plays out, but I don't have any better solutions available.  If I did have a better solution, I'd submit code for review to Bitcoin Core to change the distributed consensus system.

No I don't mean changing it, PoW is fine - It's the hash rates that worries me because, well, you never know.

I ain't worried about GHash either.
I am worried about how the general public will respond again to having a pool with 51% hashrate.
We have seen what the response was, and to be honest I expected worse..

That is why I said, if this "fear" is gone, then BTC will thrive and become mainstream.

I am saying this because every time I am asked about BTC, most of the people look at the possible failures rather than the already available benefits.
If this problem is out the window I can most certainly say that BTC will at some point become more or less a global kind of currency.
And believe me, I really want that to happen.

That is why I am stressing the fact that something has to be done now.
Obviously it's not an easy task.


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: Peter R on June 17, 2014, 03:55:21 PM

No I don't mean changing it, PoW is fine - It's the hash rates that worries me because, well, you never know.

I ain't worried about GHash either.
I am worried about how the general public will respond again to having a pool with 51% hashrate.
We have seen what the response was, and to be honest I expected worse..

That is why I said, if this "fear" is gone, then BTC will thrive and become mainstream.

I am saying this because every time I am asked about BTC, most of the people look at the possible failures rather than the already available benefits.
If this problem is out the window I can most certainly say that BTC will at some point become more or less a global kind of currency.
And believe me, I really want that to happen.

That is why I am stressing the fact that something has to be done now.
Obviously it's not an easy task.



Many of us are trying to do something.  But the answer isn't to add new protocol rules, complexity, or trust authorities.  The answer is to increase transparency, promote competition in an efficient and free market, and educate the community.  Like I said in an earlier thread, the best ideas I've seen include:

1.  Soft-fork the format of the blockheaders so that "hashers" can determine using only an SPV client if they are working on an attack chain.  The purpose of this is to increase transparency so that hashers can see more clearly how their hashpower is being deployed.  

2.  Promote P2Pool to attract additional hashpower and reduce reward variance.  Make the process of setting up a bitcoin node and connecting to P2Pool simple and write clear tutorials on the process.

3.  Work towards commoditization of SHA256 ASIC chips.  Right now, the significant obstacle to setting up million dollar + mining operations is securing a reasonable price for hardware.  If we could further decouple hardware producers from the SHA256 ASIC technology, it would create a more competitive market allowing many new large mining operations to come online.  These large operations will be incentivized to solo mine or use P2Pool to retain control of their hashpower.

4.  Educate the community: understand that a 51% attacker cannot create coins, spend coins that aren't his, change network rules, or much of anything really.  All they can do is double-spend their own coins (but it will be obvious in hindsight), and prevent transactions from confirming (this too will be obvious as well as likely stoppable using the Gavin-technique).  


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: Grinder on June 17, 2014, 04:03:57 PM
Pool A has high priority level and can submit up to 100 blocks per hour
Pool A starts growing and gets to 101 blck per hour and starts loosing BTC. They change IP after 100th block is submited to enable themselves to submit that 101th block and they become low priority pool.
Now pool A can submit only 10 blocks per hour and gain 1 extra block every day. While Pool B which is still on same IP is going great, growing slowly and gaining proiroty.

Pool A would appear as Pool C if the switched IP. They could just go back to being Pool A when they're back under the threshold, or pretend being pool D, E, F and however many they need to avoid being throttled.


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: Jason on June 17, 2014, 04:52:33 PM
I believe core bitcoin developer Peter Todd had a couple of ideas here:  http://redd.it/281ftd

I don't have much to add, except that a crazy thought just occurred to me where we add a PoS layer to the blockchain so that we have two layers of distributed consensus, one PoW and the other PoS.  Then the PoS layer can be used to regulate the PoW layer.  In other words, those of us who hold bitcoins can actively assign or remove trust from mining nodes (which could be pools or individual miners).  The trust could in theory limit the number of blocks they were able to submit on the PoW side.

I admit I haven't "thought this through" very far and it may not be viable at all.  However, the idea popped into my head after reading one of Danny Hamilton's last posts and I thought I should mention it as I haven't seen it discussed before.


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: ljudotina on June 17, 2014, 06:51:17 PM
do you really think someone can control 50% of "full nodes" ?

Yes, and for less cost than controlling 51% of the hashpower.  

If that's true ( i dont know cost behind it so i cant really argue againts it) than you win by this argument.

PSA: Add a Full Node for just $19/year! (https://bitcointalk.org/index.php?topic=582817.0)

This site (https://getaddr.bitnodes.io/) suggests there are under 8000 full Bitcoin nodes.
So to get 50% would require adding 8000 nodes, at a cost of ~$160,000 per year. [In practice you could do it much much cheaper than buying them singly!]
I'm not going to work out the cost of adding enough hashpower to get 50% of the network, but it is an awful lot more than that.

I have learned today in this post more than in last few months reading this whole forum. Thanks for spending time battleing it with me / us. I like to discuss things and am not afraid to admit when someone has better arguments than i do and i'm always open to new facts that can / would chamge my oppinion.
After reading rest of posts in this thread i know where real problem is.
I will surely get alot more ideas like this one, now ill at least know how to "test" em out in my head before spending mine and others time by writing it on forums  ;)


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: S4VV4S on June 17, 2014, 06:53:29 PM
do you really think someone can control 50% of "full nodes" ?

Yes, and for less cost than controlling 51% of the hashpower.  

If that's true ( i dont know cost behind it so i cant really argue againts it) than you win by this argument.

PSA: Add a Full Node for just $19/year! (https://bitcointalk.org/index.php?topic=582817.0)

This site (https://getaddr.bitnodes.io/) suggests there are under 8000 full Bitcoin nodes.
So to get 50% would require adding 8000 nodes, at a cost of ~$160,000 per year. [In practice you could do it much much cheaper than buying them singly!]
I'm not going to work out the cost of adding enough hashpower to get 50% of the network, but it is an awful lot more than that.

I have learned today in this post more than in last few months reading this whole forum. Thanks for spending time battleing it with me / us. I like to discuss things and am not afraid to admit when someone has better arguments than i do and i'm always open to new facts that can / would chamge my oppinion.
After reading rest of posts in this thread i know where real problem is.
I will surely get alot more ideas like this one, now ill at least know how to "test" em out in my head before spending mine and others time by writing it on forums  ;)

+1


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: rarkenin on June 17, 2014, 06:54:42 PM
There's a bit of a dilemma in all arguments involving any sort of IP address. Bitcoin is designed so that it can function over any sort of (untrusted) communication medium. Blocks get from point A to B, verified at B, yada yada. This could be by HSMM (which identifies by callsign), satellite, even carrier pigeon in the most hypothetical of situations.


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: TheCoinFinder on June 17, 2014, 07:17:44 PM
The solution IMO, is to add in a third layer. You have the miner, the pool - and then you have the block template providers. BY connecting the block tempate providers to the miners you can verify that the pool isn't making their own blocks. Pools can then request blocks round-robin fashion from the block template providers, making sure that no one block template provider can get more than one block in succession. Pools then can have whatever hashrate they want - and if they stop using the blocktemplate providers - the mining software will disconnect from them.

Read here and please comment: https://bitcointalk.org/index.php?topic=656008


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: phillipsjk on June 17, 2014, 07:25:10 PM
The solution is simple: break up large pools. Anything short of that is no longer using "proof-of-work". If "Proof-of-Work" is not being used to secure the block-chain, there is no point in having it.


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: ljudotina on June 17, 2014, 07:52:42 PM
The solution is simple: break up large pools. Anything short of that is no longer using "proof-of-work". If "Proof-of-Work" is not being used to secure the block-chain, there is no point in having it.


Break up?
First question would be "how"?

And let's imagine you do somehow break em. What would stop GHASH from opening "GHASH2". One pool could have 30% and second one could have 30%. If GHASH want's to attack all they need to do is change code on both pools and they are as good as one single 60% pool.
So basicly, breaking em apart doesnt do much.
Somehow forcing p2p only pool could be solution maybe?
Wont write again in this topic untill i read little bit more about subject...today was real eye opener...i tought problem was at place A when in reality it's on place B.

But i still think that it's not problem of pools, it's problem of protocol that needs to change to effectivly stop this kind of behviour, just like it stops creating coins once all coins are mined etc.


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: phillipsjk on June 17, 2014, 07:58:08 PM
The solution is simple: break up large pools. Anything short of that is no longer using "proof-of-work". If "Proof-of-Work" is not being used to secure the block-chain, there is no point in having it.


Break up?
First question would be "how"?


Perhaps my choice of words was poor. If the pool(s) you have your miner pointed at exceeds 25% of the hash-power, consider finding a replacement.

I you are a pool operator with more than 25% of the hash-power, consider raising fees.


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: QuestionAuthority on June 17, 2014, 08:22:38 PM
Ok screw this. I have too much "trust" in human intelect. I should have known that barely anyone will read my post with at least half brain turned on, so here it is again, stupid proof and changed so no "trust" is involved:

Well this idea can be extended. Add in some kind of "proirity" level to nodes that nodes gain working over period of time. Priority would be assigned by whole network which is basic idea of BTC....things being decided by whole newtork.
New nodes would have low priority level which would have more restrictions (they could submit less blocks).
Higher priority level nodes would have less restrictions (they could submit more blocks than low priority nodes).

Priority is gained by submiting blocks over period of time. That would disable switching form ip to ip. How?

Her's an example.

(numbers are just figurative)
Pool A = large pool that submits 50 blocks per hour
Poll B = new, small pool that just started working and is submiting 5 block per hour

Pool A has high priority level and can submit up to 100 blocks per hour
Pool A starts growing and gets to 101 blck per hour and starts loosing BTC. They change IP after 100th block is submited to enable themselves to submit that 101th block and they become low priority pool.
Now pool A can submit only 10 blocks per hour and gain 1 extra block every day. While Pool B which is still on same IP is going great, growing slowly and gaining proiroty.

What basicly happened, Pool A shot itself in the foot and is loosing ALOT of BTC because they tried to cheat the system, while new honest pool is growing steady.


Is it now much clearer?

Interesting idea but I don't think it would work for two reasons. It doesn't seem to scale very well. When volume grows block times will need to increase and your priority system would be a bottleneck. Also, network time is based on the median time of a node's peers which is sent in the version message when peers connect. The network time is used to validate new blocks. Nodes already reject any block timestamp that is greater than 2 hours from the current network time. Currently there is no incentive to develop a method to spoof network time. You would be creating a reason to do it. If it could even be implemented in the current code, I can see a system like this really screwing something up badly.


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: QuestionAuthority on June 17, 2014, 09:19:28 PM
Why not change to just one giant pool, sort of. In a pool, the coinbase transaction has the pool's address, not the miner's address. That could be changed to output to a collective list of all miners addresses. If the individual miner submits a block the reward goes to the pool and the pool pays the miner based on what ever reward system criteria is set. Pools or solo miners work against each other to find the block and get the coinbase transaction and the leftover from the other transactions (the fee). What if every participating miner in the world got a proportional share of every block mined? No more pools would be allowed at all. The now defunct miner in Bitcoin QT could be reinstated and that would be the only allowed mining software. If you're not running a full node you can't mine. I know this is insane.


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: DannyHamilton on June 17, 2014, 09:21:39 PM
I know this is insane.

And impossible to enforce.

How will you know who is mining?  How will you know if anyone is using a different mining software?


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: rarkenin on June 17, 2014, 09:22:43 PM
Why not change to just one giant pool, sort of.

What about making an altcoin as a prototype, in order to test the viability?


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: QuestionAuthority on June 17, 2014, 10:27:55 PM
I know this is insane.

And impossible to enforce.

How will you know who is mining?  How will you know if anyone is using a different mining software?

You won't know who is mining. You'll only know that there is no control over the network. What could you do to ensure that proprietary software isn't being used? I don't know. Maybe have the node run a verify on the client at each payout like a random code filter check or possibly a call to verify random code strings against a template.


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: DannyHamilton on June 17, 2014, 10:40:27 PM
- snip -
What if every participating miner in the world got a proportional share of every block mined?
- snip -

You won't know who is mining.
- snip -

I'm confused.

If nobody knows who is mining, then how does the system know what proportion to send to everyone, and who to send it to?


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: Erdogan on June 17, 2014, 11:33:29 PM
Ok screw this. I have too much "trust" in human intelect. I should have known that barely anyone will read my post with at least half brain turned on, so here it is again, stupid proof and changed so no "trust" is involved:

Well this idea can be extended. Add in some kind of "proirity" level to nodes that nodes gain working over period of time. Priority would be assigned by whole network which is basic idea of BTC....things being decided by whole newtork.
New nodes would have low priority level which would have more restrictions (they could submit less blocks).
Higher priority level nodes would have less restrictions (they could submit more blocks than low priority nodes).

Priority is gained by submiting blocks over period of time. That would disable switching form ip to ip. How?

Her's an example.

(numbers are just figurative)
Pool A = large pool that submits 50 blocks per hour
Poll B = new, small pool that just started working and is submiting 5 block per hour

Pool A has high priority level and can submit up to 100 blocks per hour
Pool A starts growing and gets to 101 blck per hour and starts loosing BTC. They change IP after 100th block is submited to enable themselves to submit that 101th block and they become low priority pool.
Now pool A can submit only 10 blocks per hour and gain 1 extra block every day. While Pool B which is still on same IP is going great, growing slowly and gaining proiroty.

What basicly happened, Pool A shot itself in the foot and is loosing ALOT of BTC because they tried to cheat the system, while new honest pool is growing steady.


Is it now much clearer?

Bitcoin has only one connection to the real world: the timestamp used to regulate the block rate. Everything else is concepts. We do not want to invent new references to the real world. We want it to float between peoples minds.

It is not necessary to worry about concentration in mining. Firstly, it is only the pools that are now concentrated, the actual miners are still well distributed. Even if also the miners should merge into a near monopoly, it is not a problem. Study monopolies in the free market as analyzed by austrian economics. Monopolies are a problem only in the presence of force in violation of human rights. Heck, you can ask Henry Ford.

Imagine managing a miner with 80%, competing with 3 miners with 5% each, the last 5% spread around. To keep that market share, you have to be on top of everything. Getting the best new hardware, keeping a stable power supply, keeping the personell, be alert around the clock and around the year. Even at 80%, you can be only slightly more profitable than the next miner. A slight misstep, and you loose some blocks, eroding your profit, transforming it to a loss. A chance for another miner to have a go.



Title: Re: 51% can be prevented so long as all nodes agree.
Post by: QuestionAuthority on June 17, 2014, 11:36:32 PM
- snip -
What if every participating miner in the world got a proportional share of every block mined?
- snip -

You won't know who is mining.
- snip -

I'm confused.

If nobody knows who is mining, then how does the system know what proportion to send to everyone, and who to send it to?

How did Bitcoin QT know who to send the reward to back in the old days? You enter your address. The only difference would be tracking hashrate. If QT sent the hashrate of each client to the network you would know how much each installation of QT was generating. Every node in the network would have a copy of the template and the file size of the software. At each payout it could run a check on the software to verify a random string then check its own file size and verify with the network. I said this was insane. It would be a complete overhaul of the system and require everyone to update their client at once. It's much easier to leave everything alone then to make changes, which is probably why nothing is changing. Well, except for all the competing altcoins that are being developed daily. Eventually someone will come up with a really great idea for a superior coin that fixes all of the current problems. I haven't seen it yet but it could be out there already waiting to take over.


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: phillipsjk on June 18, 2014, 12:12:10 AM
Why not change to just one giant pool, sort of. In a pool, the coinbase transaction has the pool's address, not the miner's address. That could be changed to output to a collective list of all miners addresses.

Congratulations, you re-invented P2Pool. Eligius does the same thing: paying the miners directly instead of paying everything to the Pool's wallet (Both examples still use the traditional approach for alt-coins).

There is a bit of a definition issue though: miners generate blocks, while hashers generate proof-of-work. We are in this crisis mainly because those two functions have been separated.

While I understand setting up merged mining may be costly and a lot of work; hashers need to understand that they have to monitor the entities they are lending their hash-power to.


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: QuestionAuthority on June 18, 2014, 12:19:20 AM
Why not change to just one giant pool, sort of. In a pool, the coinbase transaction has the pool's address, not the miner's address. That could be changed to output to a collective list of all miners addresses.

Congratulations, you re-invented P2Pool. Eligius does the same thing: paying the miners directly instead of paying everything to the Pool's wallet (Both examples still use the traditional approach for alt-coins).

There is a bit of a definition issue though: miners generate blocks, while hashers generate proof-of-work. We are in this crisis mainly because those two functions have been separated.

While I understand setting up merged mining may be costly and a lot of work; hashers need to understand that they have to monitor the entities they are lending their hash-power to.


LOL  Except mine would be forced on you.


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: DeathAndTaxes on June 18, 2014, 12:23:02 AM
Why not change to just one giant pool, sort of. In a pool, the coinbase transaction has the pool's address, not the miner's address. That could be changed to output to a collective list of all miners addresses.

Congratulations, you re-invented P2Pool. Eligius does the same thing: paying the miners directly instead of paying everything to the Pool's wallet (Both examples still use the traditional approach for alt-coins).

There is a bit of a definition issue though: miners generate blocks, while hashers generate proof-of-work. We are in this crisis mainly because those two functions have been separated.

While I understand setting up merged mining may be costly and a lot of work; hashers need to understand that they have to monitor the entities they are lending their hash-power to.


LOL  Except mine would be forced on you.

How?  A pool could connect to p2pool (or your p2pool re-invention) and miners could choose to connect to that pool instead.  PoW is by design a nearly perfectly parallel problem.

One thousand miners can appear to be a single node in any system you devise.  There are some systems proposed but they involve zero knowledge proofs which prevent the (secure) sharing of mining information


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: QuestionAuthority on June 18, 2014, 06:37:15 AM
Why not change to just one giant pool, sort of. In a pool, the coinbase transaction has the pool's address, not the miner's address. That could be changed to output to a collective list of all miners addresses.

Congratulations, you re-invented P2Pool. Eligius does the same thing: paying the miners directly instead of paying everything to the Pool's wallet (Both examples still use the traditional approach for alt-coins).

There is a bit of a definition issue though: miners generate blocks, while hashers generate proof-of-work. We are in this crisis mainly because those two functions have been separated.

While I understand setting up merged mining may be costly and a lot of work; hashers need to understand that they have to monitor the entities they are lending their hash-power to.


LOL  Except mine would be forced on you.

How?  A pool could connect to p2pool (or your p2pool re-invention) and miners could choose to connect to that pool instead.  PoW is by design a nearly perfectly parallel problem.

One thousand miners can appear to be a single node in any system you devise.  There are some systems proposed but they involve zero knowledge proofs which prevent the (secure) sharing of mining information


You know what? I just want the devs of this cute little beta software to find a solution to a problem that I have been reading about for three and a half years. If it can't be solved then tell us there is no reasonable solution to fixing this problem.

Gavin Andresen almost did that when he said, "Bitcoin is still a work in progress, and you should only risk time or money on it that you can afford to lose." And "A malicious 51% attacker could prevent transactions or new blocks from other people getting accepted, effectively stopping all payments and shutting down the network.”

Since I'm not really fond of losing any money he is telling me to cash out. Since this happened years ago with Deepbit, it's still happening now with Ghash.IO, the devs aren't fixing it, the former lead dev says Bitcoin is very risky, I have to assume I'm being told not to buy any more Bitcoin.

p2pool isn't a solution because greed is forcing people to gravitate toward Ghash.IO. If I won the lotto, decided that I was pissed at all those bitcoiners and wanted to hurt them I might just start a 0 fee pool to capture most of the network and then shut it down. If I was a government and believed that this little charade has gone on long enough I might start a 0 fee pool to capture most of the network and then shut it down. My solution is stupid and I know it. At least I'm attempting to come up with something but I don't have any mandate to find a fix. What are the devs doing about it?


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: Grinder on June 18, 2014, 07:38:48 AM
Imagine managing a miner with 80%, competing with 3 miners with 5% each, the last 5% spread around. To keep that market share, you have to be on top of everything. Getting the best new hardware, keeping a stable power supply, keeping the personell, be alert around the clock and around the year. Even at 80%, you can be only slightly more profitable than the next miner. A slight misstep, and you loose some blocks, eroding your profit, transforming it to a loss. A chance for another miner to have a go.

If you have 80% the rest depends on your goodwill to get any profits at all. You can just ignore the other blocks and take 100% of the profits, or delay the release of your blocks until somebody else finds one and then immediately override it by sending out two blocks. Doing this you would also be the one who decides how much it would cost to use the Bitcoin network.


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: Erdogan on June 18, 2014, 07:47:03 AM
Imagine managing a miner with 80%, competing with 3 miners with 5% each, the last 5% spread around. To keep that market share, you have to be on top of everything. Getting the best new hardware, keeping a stable power supply, keeping the personell, be alert around the clock and around the year. Even at 80%, you can be only slightly more profitable than the next miner. A slight misstep, and you loose some blocks, eroding your profit, transforming it to a loss. A chance for another miner to have a go.

If you have 80% the rest depends on your goodwill to get any profits at all. You can just ignore the other blocks and take 100% of the profits, or delay the release of your blocks until somebody else finds one and then immediately override it by sending out two blocks. Doing this you would also be the one who decides how much it would cost to use the Bitcoin network.

If you are in that position, and use it to try to launch a stealth chain fork to your advantage, you risk losing, with high probability, your investment which at this point will be hundreds of millions of USD2014.


Title: Re: 51% can be prevented so long as all nodes agree.
Post by: zimmah on June 18, 2014, 09:14:52 AM
Well, if the pools do not naturally even out in popularity (with that I mean no pool has more than 30% hashrate, and the second largest pool is about as large as the largest pool) than we could try to figure out a way to punish pools that are too large for their own good.