9 ms·
Can you share those fixes?
by pouta 8y ago
Can you share those fixes?
- phlip9 8y agoFirst, some Proof-of-Stake setup: 1. Assume we have some set of "validators" who control the global consensus process. They come to consensus on the current global state of the system. These validators are vaguely analogous to miners in Proof-of-Work consensus. 2. These validators have coins bonded as collateral in exchange for more voting power in the consensus process. One key idea necessary for Proof-of-Stake is to punish Byzantine validators, i.e., those who deviate from the consensus protocol, by destroying their bonded stake. If you misbehave, then you lose some proportion of your collateral. Thus, validators have incentive for participation (from rewards and fees) and a _disincentive_ for malicious behavior. This is in contrast to Proof-of-Work consensus, where there is no way to punish a specific miner that misbehaves--we cannot programmatically take away physical mining ASICs. Changing the Proof-of-Work function is only an absolute last resort as it unfairly punishes the other honest miners. So what constitutes misbehavior? When can we confidently punish another validator? An example is when a validator publishes signed attestations for conflicting forks--an example of equivocation. When presented with signed evidence of equivocation, the honest majority of validators can agree to punish the equivocator. This punishment system solves the original "nothing-at-stake" problem where a validator has no disincentive not to contribute to both sides of a fork. On another note, the OP seems to misunderstand the fundamental consistency vs availability (in the event of a partition) trade-off that consensus algorithms must to make. Bitcoin's Proof-of-Work is more AP with probabilistic eventual consistency. In the event of a partition, the side with less mining power will make transactions unaware of the partition. When the partition heals, all transactions on the weaker side will revert, effectively double spending all transaction recipients on that side. In contrast, many Proof-of-Stake protocols use a more traditional PBFT-style consensus process which favors consistency over availability. In the case of a partition, the weaker side will simply become unavailable (if it contains less than 1/3 of the voting power). In the event that no partition has >2/3+ of the voting power, the entire system will become unavailable. Also in contrast to PoW's eventual consistency, PBFT-style Proof-of-Stake allows for finality as soon as the validators come to consensus on the next block.
- aeternus 8y agoAs a new user in a Proof-of-Stake protocol, how do I determine which chain to follow? With PoW I can choose the 'longest' chain (chain with the most total work).
- stale2002 8y agoEasy. You'd probably pick the one with the biggest market cap. The whole point of money is that it is useful because everyone else is using it. So the one with the biggest market cap is almost certainly the one that you'd want to follow. Or you could not do that. You could instead pick a different one. There is nothing stopping you. If there are multiple networks, it would be obvious, and you can merely make up your own mind about which to follow. Interestingly enough, this also applies to POW chains. There is nothing stopping you from picking a shorter chain. But if I had to guess, I would say that almost nobody would be following the shorter one. This applies to POS coins as well. There would likely be 1 chain, that everyone is following. And this one chain would be obvious.
- CryptoPunk 8y agoThe client you download tells you, by giving you an accurate recent snapshot of the state.
- keymone 8y agoSo one has to trust distributors of the software? I mean it’s been known about PoS systems since inception, it’s just funny how it’s supporters never like to admit it.
- CryptoPunk 8y agoYes but you have to trust the distributors of the software anyway, even in PoW.
- keymone 8y ago