Research Summary - Robust Proof of Stake: A New Consensus Protocol for Sustainable Blockchain Systems

Citation

  • Li, A.; Wei, X.; He, Z. Robust Proof of Stake: A New Consensus Protocol for Sustainable Blockchain Systems. Sustainability 2020, 12, 2824.

Link

Core Research Question

  • How to design a Robust Proof-of-Stack (RPoS) protocol that outperforms mainstream consensus protocols such as PoW and PoS?

Summary

  • This paper analyzes the characteristics and problems of the existing consensus protocols (in particular, PoW and PoS), and proposes a new protocol Robust Proof-of-Stack (RPoS) by improving the PoS protocol.
  • The main improvement is that RPoS protocol uses the amount of coins instead of the age of coins to reduce the risk of coin age accumulation attack in the system. Another improvement is that RPoS protocol adds the maximum number of rollbacks, which can effectively prevent Nothing-At-Stake (N@S) attack which may occur in the system.
  • Under a comparison framework, the authors showed that the RPoS equals or outperforms Proof of Work (PoW) protocol and Proof of Stake (PoS) protocol in three dimensions: energy consumption, robustness, and transaction processing speed.

Method

  • This paper first proposed a framework for consensus protocol comparison, which contains four aspects: (1) energy-saving, (2) robustness, (3) TPS (Transaction Per Second), and (4) trade request-satisfied ratio. The paper showed that the first three dimensions are often analyzed theoretically or qualitatively, while the last one can be quantitatively evaluated via simulation.
  • The authors introduced the Proof of Work (PoW) and Proof of Stake (PoS) consensus protocols. Then, they presented a new Robust Proof of Stake (RPoS) consensus protocol based on PoS. The RPoS selects the data-writing node based on the coin balance, and others will accept the new data to keep the ledger consistent.
  • The authors compared the differences between the three consensus protocols: PoW, PoS, and the proposed RPoS by using an agent-based blockchain model to simulate the impact of different consensus protocols and trade network topologies on the (4) aspect: trade request-satisfied ratio.

Results

  • RPoS Consensus Protocol:

    • Dynamic coin age proposal. As there are too many mining nodes, the paper proposes the concept of “dynamic coin age”, which serves as a threshold. Only the node which meets this coin age condition (the coin age is defined in Formula (3)) can compete for the packing chance, and get the system reward.

    • Calculation of coin age. Before calculating the coin age of the node, the authors first computed the accumulation of time and the number of coins. Each block has a timestamp, and the accumulated time can be obtained by the timestamp, that is,


      The amount of coins N(coin) is a current value. The newly added days are the result of the current block time D(t) and subtract the previous time D(t−1). The added days multiply the N(coin) and lead to a newly added coin age. Then, the authors get the final coin age Age(t) by the newly added coin age plus the previous coin age Age(t−1). After the blocks are packed, the node’s coin age Age(t) will be cleared.

    • RPoS mining process. The definition of the target value V(target) is a value that is dynamically adjusted according to the block production time, and is used to identify the difficulty of the block production; we define it in Formula (4).

      where the variable Cont(block) is the content of the block, Var(nonce) is the variable of the nonce. The Age(t)∗gV(target), as a difficulty to this hash inequality, can be understood as a dynamic coin age.

    • Next, the paper explains that in PoS system, miners use their coin age to compete for packing chance. The node who reaches the coin age benchmark for block production will start packing and broadcast in the blockchain system. If the value of the Age(t)∗AV(target) is the highest coin age value in the entire network, and no nodes reach the block age for benchmark, then an internal stopwatch timer is started to accumulate time. When some nodes reach the coin age benchmark, then the block can be packed and broadcast. After a node generates a block, the coin age of this node is cleared and re-accumulated, and other nodes continue to accumulate coin age.

  • RPoS Consensus Protocol Implementation:

    • The authors argue that when using coin age, there will be a risk of coin age accumulation attack in PoS system, so they proposed to remove the coin age and use the amount of coins for miner selection. In Figure 3, the authors shown the differences between the three consensus protocols: PoW, PoS, RPoS.

  • By the differences between PoW protocol and PoS protocol, the authors proves that the hash value of RPoS protocol satisfies the following formula,

  • The paper continues to explain that the final hash value of the competition process in RPoS is Hash(Cont(block),Var(nonce)). The target value V target changes dynamically according to the block production time of the parent block. In this inequality, the difficulty is the result of N(coin) * V(target). When the system retrieves which node in the system meets the inequality condition, this node will be selected and added to the packing node queue. In order to adjust the difficulty of system nodes competing for packing opportunities, the authors adjust the target value V target forward and reverse, then the number of miners who can get packing opportunities will change. The larger target value means a bigger difficulty value in the system, which will add more opportunity for the miners to get the packing chance in RPoS system. Similarly, the node, who with higher amount of coins Ncoin, is easier to get the chance to packing and produce blocks.

  • By adding the dynamic adjustment through V target and the maximum number of rollbacks, the authors say that is possible to limit the double benefit of nodes that cheat on different forks when N@S attack occurs. By the maximum number of rollbacks, the upgraded nodes are the maximum extent degraded and returned to the un-upgraded state, so that all data will return to the original state, then the fork is eliminated. The assignment of the specific maximum number of rollbacks needs to be adjusted according to the comprehensive situation of the system nodes’ cheating ability. The N@S attack can be recognized by verifying the rollback block, but when the rollback number of the block is greater than the maximum rollback number, the chain is not merged, so the cheating nodes can only perform “mining” on the original chain. If the block is verified, the number of rollbacks is less than the maximum rollback number, then the valid block is considered, the information is merged, and the subsequent transaction behavior is continued. In summary, the maximum number of rollbacks in RPoS system can effectively resist N@S attack.

  • Experimental results show that the proposed RPoS protocol leads to similar or better trade efficiency than PoW, and it is very energy-saving, robust against 51% attack, and efficient in terms of TPS. In other words, RPoS outperforms PoW in all the four features. Compared with PoS, RPoS is much more robust against the coin age accumulation attack and N@S attack, and it also has higher TPS than PoS. .

  • The averaged time-series data of trade request-satisfied ratio is illustrated in Figure 4. The simulation results at the final time step are presented in Table 3, in which the values are averaged across 100 samples, and the standard deviations are given in brackets.

Discussion & Key Takeaways

  • Researchers have proposed many protocols and architectures, but the related studies on consensus protocols of the blockchain technology and their issues are scarce. Hence, this paper introduces the two consensus protocols (PoW, PoS) and their problems, followed by a section of a new RPoS consensus protocol.
  • Aiming at the problems of coin age accumulation attack and N@S attack, this paper constructs a Robust Proof of Stake consensus protocol (RPoS), which attempts to tackle the problems of mainstream consensus protocols aforementioned.
  • The proposed RPoS leads to similar or better trade efficiency than PoW, and it is very energy-saving, robust against 51% attack, and efficient in terms of TPS according to Table 2. In other words, RPoS outperforms PoW in all the four features. Compared with PoS, RPoS is much more robust against the coin age accumulation attack and N@S attack, and it also has higher TPS than PoS.

Applicability

  • RPoS is very suitable for building a robust digital economy distributed system.
  • The authors suggest that RPoS is suitable in today’s blockchain system.
  • An useful study to introduce the existing consensus protocols and their problems.
4 Likes

RPoS seems to be a more power-efficient protocol if I’m reading this correctly. I saw the summary, but it might be clearer what the benefits of RPoS are if you give a less technical-jargon heavy interpretation of the benefits. @abdeljalil.beniiche, what would you say are the most beneficial elements of RPoS that the author was trying to highlight?

3 Likes

The most beneficial elements of RPoS that the authors were trying to highlight can be summarized into three dimensions: energy consumption, robustness, and transaction processing speed.

3 Likes

I don’t want to go around pooping on things I haven’t read, but I did skim and nothing jumped out at me as something that would make me actually want to dig deeper. The terminology used indicates a lack of training in consensus protocols which makes it highly unlikely that there’s anything in there that is novel, and if there is, it’s probably easily summarized in a few sentences rather than an entire paper. That plus them referencing Nothing-at-Stake problem which… isn’t actually a problem… for anyone… is why I’m just going to disregard this one entirely.

1 Like

Hey Collin, I’m no expert on consensus, do you have any good resources to check out regarding the Nothing-at-Stake problem, and why it isn’t a problem?

Piggybacking on this same question, what are a couple of the indicators here that led you to think this?

It seems like you’ve got a strong background in this category, what are a couple good resources for somebody to get a better foundational understanding of consensus? Cheers!

With regard to the Nothing-at-Stake “problem”, let’s start by saying it’s proper to call it the “Costless Simulation” scenario. Here’s a couple links describing the issue as well as the “weak subjectivity” topic.

Gun did a tweet storm about this, and it covers it pretty well: https://twitter.com/el33th4xor/status/1316466676901318656

Long story short, don’t bootstrap to nodes that have multiple chain implementations… you want 51% of your bootstrap nodes to be honest. That’s the same assumptions as other networks. It’s not an issue.

It’s better described further down when Nick Johnson tries to jump in. Gun handles it well: https://twitter.com/wekabot/status/1316794887619051521

Honest majority is a great term because it captures the assumption perfectly. “Weak subjectivity” is a poor term because it confounds the problem with the solution strategy.

I think that’s just the only point you need, and the nail in the coffin for this.

Piggybacking on this same question, what are a couple of the indicators here that led you to think this?

Aside from mentioning the term “Nothing-at-Stake” and then even abbreviating it to “N@S” (super classy, guys), there’s the way they phrase things. Like “Robust Proof of Stake (RPoS) consensus protocol”. Sorry what? Your Sybil control is your consensus protocol? Or are you trying to say that you’re adding robustness to consensus protocols which utilize Proof of Stake for Sybil?

Then you go down further and see the table of acryonyms in the appendex and it says

  • “PoW - The first consensus protocol for blockchain system”
  • “PoS - A popular consensus protocol for blockchain system”

And I go “ok these guys conflate PoW and PoS with consensus protocols which means they don’t understand either very well.”

That’s about where I stopped.

It seems like you’ve got a strong background in this category, what are a couple good resources for somebody to get a better foundational understanding of consensus?

Goddamn, I actually don’t know. Other than reading papers, which is how the gang seems to have gotten through it, I would say reading Lamport’s Concurrency book is a big help

I’d like to clarify: I’m not a world-reknowned expert in consensus protocols. I spent the last year getting trained and picking up what I could while at Ava Labs. There’s still people way better. Like Ted Yin, who is a co-founder of Ava Labs and first author on HotStuff. Or Kevin Sekniqi, who is an expert in consensus protocols and did the analysis on the Team Rocket paper. Or Stephen Buttolph, who build the consensus engines for Avalanche before the client would even qualify as a client. And of course, Dr. Emin Gun Sirer who leads the whole crew. And that’s just at Ava Labs. There’s also Dhalia Malkhi and Robbert van Renesse and others. So, laying that out there, I’m later to the game than these guys and less formal, but I picked up the terms and intuition along the way so I’m commenting from that.

After absorbing what you can around them, you pick up on what “good” looks like and can summarily dismiss bad unless there’s cause to check it out otherwise.

3 Likes