Pages:
Author

Topic: Proof of stake instead of proof of work - page 2. (Read 32451 times)

donator
Activity: 2058
Merit: 1054
This is the obvious way to do consensus, that doesn't work because of the massive amount of bandwidth needed to have a vote for every bitcoin address in existence.  Keep in mind everyone needs to do this checking too.  The entire point, and clever part, of bitcoin, is the idea that one can trade bandwidth/digital signatures for CPU-intensive "hash signatures" that are very small and easy to verify.
Not every Bitcoin address in existence. Just those with a large number of bitcoins. And it needn't be for every block.

This is exactly why I say this should be used in conjunction with hashing. A small amount of proof-of-work provides the skeleton and protection against casual double-spends, while proof-of-stake provides an occasional rock-solid confirmation against massive attacks.


Nobody knows exactly how to prevent miners from including low-fee transactions, and hence, making sure people pay fees. Even if we figure it out, if we want transaction fees to remain low enough, there will be little incentive to mine, making the overall hashing capacity low. Thus the network will be vulnerable to attack, and people will not be able to safely send large amounts.

I see this as a major problem, which the inclusion of proof-of-stake, done correctly, can solve.
member
Activity: 110
Merit: 19
This is the obvious way to do consensus, that doesn't work because of the massive amount of bandwidth needed to have a vote for every bitcoin address in existence.  Keep in mind everyone needs to do this checking too.  The entire point, and clever part, of bitcoin, is the idea that one can trade bandwidth/digital signatures for CPU-intensive "hash signatures" that are very small and easy to verify.

In other words, if you asked someone to design a system like bitcoin before bitcoin came out, what you propose is what most would have said...
Haha, I thought it felt a bit too obvious.  Well at least I have a greater, more justified, appreciation for Bitcoin now.

This whole thing actually came from thinking of a way to solve the checkpoint problem Ben Laurie wrote about.  If votes don't need to occur very often, then would the bandwidth/checking cost be such a big deal?  Is his issue even really a problem?
member
Activity: 110
Merit: 19
Another thought: Currently there's a problem with very large transfers, since guarding them against double-spending can take days (at least) of confirmations. Paying transaction fees won't help because it can only get it in a block faster, it can't significantly affect block generation rate afterwards.

With the new system (work/stake hybrid approach), senders of large amounts can include a signature fee in addition to the regular miner fee, which goes proportionally to stakeholders who sign the block in which the transaction appears. This will incentivize stakeholders to sign, making the transaction secure without having to wait for more confirmations.
I think a hybrid approach would only allow stakeholders to sign whole blocks that have already been found.  And then miners could defer authority to the stakeholders when they do, and work forward from that block.  This would decrease the confirmation time to 10 minutes on average.  And it would remove the need for checkpoints, making Ben Laurie a happier camper.
full member
Activity: 372
Merit: 101
This is the obvious way to do consensus, that doesn't work because of the massive amount of bandwidth needed to have a vote for every bitcoin address in existence.  Keep in mind everyone needs to do this checking too.  The entire point, and clever part, of bitcoin, is the idea that one can trade bandwidth/digital signatures for CPU-intensive "hash signatures" that are very small and easy to verify.

In other words, if you asked someone to design a system like bitcoin before bitcoin came out, what you propose is what most would have said...
donator
Activity: 2058
Merit: 1054
Another thought: Currently there's a problem with very large transfers, since guarding them against double-spending can take days (at least) of confirmations. Paying transaction fees won't help because it can only get it in a block faster, it can't significantly affect block generation rate afterwards.

With the new system (work/stake hybrid approach), senders of large amounts can include a signature fee in addition to the regular miner fee, which goes proportionally to stakeholders who sign the block in which the transaction appears. This will incentivize stakeholders to sign, making the transaction secure without having to wait for more confirmations.
member
Activity: 110
Merit: 19
July 11, 2011, 01:22:35 AM
#9
This change is significant enough to warrant a new genesis block rather than forking the current chain.
I think a fork is more appropriate, since it incentivises the existing userbase to participate and avoids alienating them, and it solves the initial distribution problem, allowing for a very diverse voting group from the start.  I see Bitcoin as having made some progress at solving the social problems (bootstrapping a new currency) just as much as it has solved the technical ones.  No need to throw this progress away IMHO.

I think this will work best together, rather than instead of, hash-based mining. Blocks are confirmed with hashing as normal; this is enough for casual double-spend attempts. When a block is old enough, stakeholders can sign it. If a major attacker tries to build an alternative branch, clients will reject it because it
We already have this in the form of checkpoints in the client software.  You don't need voting for it, because there is no ambiguity or controversy about the identity of the block hundreds of steps ago.    Better to have a check performed by _everyone_ than just people that happen to have a lot of bitcoin already.
But Ben Laurie would be much happier Wink
donator
Activity: 2058
Merit: 1054
July 11, 2011, 01:15:42 AM
#8
I think this will work best together, rather than instead of, hash-based mining. Blocks are confirmed with hashing as normal; this is enough for casual double-spend attempts. When a block is old enough, stakeholders can sign it. If a major attacker tries to build an alternative branch, clients will reject it because it
We already have this in the form of checkpoints in the client software.  You don't need voting for it, because there is no ambiguity or controversy about the identity of the block hundreds of steps ago.    Better to have a check performed by _everyone_ than just people that happen to have a lot of bitcoin already.
This is vulnerable to attacks on the network topology. You can "fake" a Bitcoin node, you can't fake having bitcoins.

I need to look more closely into the current implementation though.
staff
Activity: 4158
Merit: 8382
July 11, 2011, 01:09:47 AM
#7
I think this will work best together, rather than instead of, hash-based mining. Blocks are confirmed with hashing as normal; this is enough for casual double-spend attempts. When a block is old enough, stakeholders can sign it. If a major attacker tries to build an alternative branch, clients will reject it because it

We already have this in the form of checkpoints in the client software.  You don't need voting for it, because there is no ambiguity or controversy about the identity of the block hundreds of steps ago.    Better to have a check performed by _everyone_ than just people that happen to have a lot of bitcoin already.

donator
Activity: 2058
Merit: 1054
July 11, 2011, 12:54:29 AM
#6
This is brilliant. Of course there's still a lot of work to figure out if it's technically feasible and resistant to manipulation, concentration of power etc. But it could solve a lot of the problems Bitcoin will face going forward.

This change is significant enough to warrant a new genesis block rather than forking the current chain. This leaves the problem of initial distribution. Mining serves the purposes of both transaction validation and initial distribution, so if validation rights depend on current possession it will obviously be problematic.

I think this will work best together with, rather than instead of, hash-based mining. Blocks are confirmed with hashing as normal; this is enough for casual double-spend attempts. When a block is old enough, stakeholders can sign it. If a major attacker tries to build an alternative branch, clients will reject it because it conflicts with a branch already signed by stakeholders. This will create a much lower mining requirements for a given level of security.


I'll go as far as saying that if this pans out and is indeed novel, you deserve a place right next to Satoshi in the annals of Bitcoin.
(Edit Nov 28 2013: I retract that last statement... Sure, it's a great idea and all, but a place in the hall of fame requires a bit more than that. Also I'm not sure how novel the idea really is.)
member
Activity: 110
Merit: 19
July 11, 2011, 12:52:44 AM
#5
Its not a good idea. It would make Bitcoins follow an unfair distribution. By proving you have stake, which means, many bitcoins, you would simply be proving that you're rich and then the system would be only rewarding the already wealthy to validate transactions, and there would be little incentive to add computer power to the network, which is what the 50 btc block awards are designed for, to be a reward and a stimulus to add robustness and block validation to the network. It would create a rich-get-richer scenario, and bitcoin distribution is already following a power law.
This alternative wouldn't need computing power - that's the point.

Furthermore, if you want more influence in the current system, all you have to do is buy yourself more computing resources.  Morally not much different than buying yourself more bitcoins AFAICT.

Lastly, if the bitcoin-rich (as opposed to the computing power-rich) started "voting" themselves more new bitcoins than the allowed amount, then people would lose confidence in the currency, and the bitcoin-rich would no longer be rich in any meaningful sense.  They have more incentive to maintain the currency's value than the current miners do, it seems.
member
Activity: 110
Merit: 19
July 11, 2011, 12:40:13 AM
#4
The idea has a huge amount of merit, not necessarily for Bitcoins.

Suppose I start a company and decide to issue its shares as a block chain.  Instead of miners getting 50 shares each, the block chain would be programmed where I just issue all the shares up front to the proper shareholders, etc.  The block chain is used as a means to buy and sell the shares on the peer-to-peer stock market (which doesn't exist yet).  Miners maybe get transaction fees.

In such a case, proof-of-stake voting might be fantastic.

But I don't see what relevance it would have to Bitcoins as they are now known.
Company shares sounds like a great application, too.  The proof-of-stake alternative seems like it could be a good way to prevent unwarranted outside influence from messing with smaller scale public ledgers like they can with proof-of-work.

This unwarranted outside influence also seems to be why alternative Bitcoin implementations don't seem feasible now - you need enough miners to be on board to secure the network against outside attackers, whereas attackers can only come from within using the proof-of-stake alternative.  All it needs is a sufficiently diverse userbase.

This is relevant to Bitcoin as an alternative means of forming consensus on the valid transaction history, or the public ledger at least.  But all it would necessarily borrow from Bitcoin is the public ledger contained in the block chain, in order to co-opt its userbase.
newbie
Activity: 23
Merit: 1
July 11, 2011, 12:37:14 AM
#3
It would save a lot of computing power, but it doesn't solve the core problems of defeating double spending and attracting more compute power to the network to check against that spending. Even if there were random elements, I think peer-to-peer voting(even if done by the software itself) would be too easy to game and unduly favor dishonesty and cheating. It would make trust = wealth, which is a fallacy because what if all those private keys contained stolen bitcoins, etc?
vip
Activity: 1386
Merit: 1136
The Casascius 1oz 10BTC Silver Round (w/ Gold B)
July 11, 2011, 12:15:30 AM
#2
The idea has a huge amount of merit, not necessarily for Bitcoins.

Suppose I start a company and decide to issue its shares as a block chain.  Instead of miners getting 50 shares each, the block chain would be programmed where I just issue all the shares up front to the proper shareholders, etc.  The block chain is used as a means to buy and sell the shares on the peer-to-peer stock market (which doesn't exist yet).  Miners maybe get transaction fees.

In such a case, proof-of-stake voting might be fantastic.

But I don't see what relevance it would have to Bitcoins as they are now known.
member
Activity: 110
Merit: 19
July 11, 2011, 12:12:45 AM
#1
I've got an idea, and I'm wondering if it's been discussed/ripped apart here yet:

I'm wondering if as bitcoins become more widely distributed, whether a transition from a proof of work based system to a proof of stake one might happen.  What I mean by proof of stake is that instead of your "vote" on the accepted transaction history being weighted by the share of computing resources you bring to the network, it's weighted by the number of bitcoins you can prove you own, using your private keys.

For those that don't want to be actively verifying transactions, and so that not all private keys need to be facing the network, votes could be delegated to other addresses via some kind of nonstandard Bitcoin transaction.  In this way, voting power would accumulate with trusted delegates instead of miners.  New bitcoins and transaction fees could be randomly and periodically distributed to delgates, weighted by the number of votes they've accumulated, thereby incentivising diversity of the delegates and direct voters.

If the implementation could be done, it proved to maintain at least a similar level of privacy and trustworthiness, and it only minimally complicated the UX, I'm thinking that a proof of stake based fork could out-compete a proof of work one due to much lower transaction fees, since its network wouldn't need to support the cost of the miners' computing resources.  (Note that the vote delegation scheme has bandwith/storage overhead that would offset these savings by some amount which would hopefully be relatively small.)

Some other potential improvements this system could offer:
  • Possibly quicker, more definite confirmation of transactions, depending on how it can be implemented.
  • The "voting power" may be more trustworty, since it would accumulate in a bottom-up fashion via a network of trust, instead of in the somewhat arbitrary way it accumulates now.  (Note the potential problem of vote-buying here.)
  • It would remove the physical point of failure of bitcoin mining equipment, which can be confiscated or made illegal to run.
  • It could be used to provide stakeholders a means of making their voices heard (via the delegated voting system it establishes) when it comes to proposals for software updates and protocol changes.

Anyway, I just wanted to throw the idea out here to see if there are any obvious reasons why it couldn't be implemented, and to hopefully spark a discussion amongst those better qualified than me.

Cheers.
Pages:
Jump to: