<p>The only way is to disallow membership changes in the "block-forging-process".  The DPoS used by Bitshares does this for instance, with 101 forgers, as do the PAXOS and Raft algorithms.  Otherwise it is trivially easy to Sybil attack the set of "block-forging-nodes", creating 10,000 indistinguishable, seemingly-valid chains with different forgers.  You can require work to become a member of the forging set, but then you've just reduced the whole thing back to Proof of Work.</p>

<p>You may be interested in my blog on the subject: <a href="https://blog.sldx.com/whats-wrong-with-proof-of-stake-77d4f370be15" rel="nofollow noreferrer">What's wrong with proof of stake?</a></p>

CC BY-SA 3.0
2017-12-01T00:15:02.930Z
membership: being one of the possible set of stakers/forgers.
Bob McElrath
CC BY-SA 3.0
2017-08-15T02:05:33.123Z
Please explain "The only way is to disallow membership changes in the "block-forging-process" this more in detail. thx
Ini
CC BY-SA 3.0
2017-08-15T18:07:27.717Z
It is straightforward to create an algorithm to select from one of a finite set of forgers (e.g. any PRNG will do).  However once members can be added or removed or not respond (or worse, byzantine faults), the membership selection process can be gamed to become a forger/staker.
Bob McElrath
CC BY-SA 3.0
2017-08-15T23:03:04.753Z
Ok I try it another way: How do you define membership?
Ini
CC BY-SA 3.0
2017-08-12T16:28:47.127Z
2017-08-12T16:28:47.127Z
Bob McElrath
<p>I have recently provided a brief description in the answer to similar question here: <a href="https://bitcoin.stackexchange.com/questions/70807/how-does-proof-of-stake-prevents-dishonest-behaviour-compared-to-pow/87988#87988">How does Proof of Stake prevents dishonest behaviour compared to PoW?</a></p>

CC BY-SA 4.0
2019-05-28T12:19:15.573Z
2019-05-28T12:19:15.573Z
Wapac
<p>There are currently many cryptocurrencies based on PoS (Proof of Stake). All these PoS algorithms differ from each other. Some or maybe all of them (I don't know) implement some kind of random election of nodes who participate in the "bookkeeping-process"/"block-forging-process" via having some amount of stake.</p>

<p>How can a random election work in an trustless decentralized environment? </p>

CC BY-SA 3.0
2017-08-11T14:46:29.870Z
You will require sybil resistance to prevent a flood of nodes increasing their chances at the random election.
tuxcanfly
CC BY-SA 3.0
2017-08-11T14:48:36.667Z
Can you elaborate this in more detail? Please
Ini
CC BY-SA 3.0
2017-08-11T14:56:19.537Z
Lets say my protocol dictates a random node will mine the next block. An attacker can create hundreds of thousands of nodes and increase their chance of mining. This is the classic sybil attack.
tuxcanfly
CC BY-SA 3.0
2017-08-11T15:06:43.503Z
How does a protocol dictate a random node. Everybody can just pretend that his number is computed randomly. There is no trust in that environment.
Ini
CC BY-SA 3.0
2017-08-11T15:11:59.633Z
I think we're in agreement. I don't think random election is going to work either. But if you're still interested in discussing try hopping onto #bitcoin-wizards on freenode.
tuxcanfly
CC BY-SA 3.0
2017-08-11T15:17:37.103Z
I'll later today, not now. But there are already PoS cryptos and cryptos with other consensus algorithms that include random election out there. Why do they get excepted by the majority of people if they as you claim are not working or are not fair?
Ini
CC BY-SA 3.0
2017-08-12T19:23:27.980Z
There is common trend where systems with insecure approaches deal with vulnerabilities by making the system more complicated. At some point, their market prominence is too low to be worth it for security researchers to look into ways to attack it, which may be misinterpreted as an indication of security.
Pieter Wuille
<ethereum><proof-of-stake><random>
Random election proof of stake
Ini
# Random election proof of stake

(Asked by: username_0 on 2017-08-11)

There are currently many cryptocurrencies based on PoS (Proof of Stake). All these PoS algorithms differ from each other. Some or maybe all of them (I don't know) implement some kind of random election of nodes who participate in the "bookkeeping-process"/"block-forging-process" via having some amount of stake.

How can a random election work in an trustless decentralized environment?

**Tags:** ethereum, proof-of-stake, random

> **Comments:**
> **username_1**: You will require sybil resistance to prevent a flood of nodes increasing their chances at the random election.  
> **username_0**: Can you elaborate this in more detail? Please  
> **username_1**: Lets say my protocol dictates a random node will mine the next block. An attacker can create hundreds of thousands of nodes and increase their chance of mining. This is the classic sybil attack.  
> **username_0**: How does a protocol dictate a random node. Everybody can just pretend that his number is computed randomly. There is no trust in that environment.  
> **username_1**: I think we're in agreement. I don't think random election is going to work either. But if you're still interested in discussing try hopping onto #bitcoin-wizards on freenode.  
> **username_0**: I'll later today, not now. But there are already PoS cryptos and cryptos with other consensus algorithms that include random election out there. Why do they get excepted by the majority of people if they as you claim are not working or are not fair?  
> **username_2**: There is common trend where systems with insecure approaches deal with vulnerabilities by making the system more complicated. At some point, their market prominence is too low to be worth it for security researchers to look into ways to attack it, which may be misinterpreted as an indication of security.  

---

## 2 answers

### Answer by username_3 on 2017-08-12. Score: 0

The only way is to disallow membership changes in the "block-forging-process". The DPoS used by Bitshares does this for instance, with 101 forgers, as do the PAXOS and Raft algorithms. Otherwise it is trivially easy to Sybil attack the set of "block-forging-nodes", creating 10,000 indistinguishable, seemingly-valid chains with different forgers. You can require work to become a member of the forging set, but then you've just reduced the whole thing back to Proof of Work.

You may be interested in my blog on the subject: [What's wrong with proof of stake?](https://blog.sldx.com/whats-wrong-with-proof-of-stake-77d4f370be15)

> **Comments:**
> **username_0**: Please explain "The only way is to disallow membership changes in the "block-forging-process" this more in detail. thx  
> **username_3**: It is straightforward to create an algorithm to select from one of a finite set of forgers (e.g. any PRNG will do).  However once members can be added or removed or not respond (or worse, byzantine faults), the membership selection process can be gamed to become a forger/staker.  
> **username_0**: Ok I try it another way: How do you define membership?  
> **username_3**: membership: being one of the possible set of stakers/forgers.  

---

### Answer by username_4 on 2019-05-28. Score: 0

I have recently provided a brief description in the answer to similar question here: [How does Proof of Stake prevents dishonest behaviour compared to PoW?](https://bitcoin.stackexchange.com/questions/70807/how-does-proof-of-stake-prevents-dishonest-behaviour-compared-to-pow/87988#87988)


---

