In PBFT view change what happens to committed operations after a valid snapshot?

0 votes

PBFT says that if the timer of backup i expires in view v then it starts a view change for v+1 by multicasting <view-change, v+1, n, C, P, i> where n is the sequence number of the last stable checkpoint s and P is a set containing a set Pm for each request m that prepared at i with a sequence number higher than n. 

Now, the checkpoints are taken periodically so, there can be prepared messages at i with a sequence number higher than n which are already committed. We don't want these to be included in Pm as they are already committed. So, how does PBFT handles that?

Jul 26, 2018 in Blockchain by Shashank
• 10,350 points
67 views

1 answer to this question.

0 votes

I think that those messages are executed again. When a view-change happens, all the nodes would be in the same checkpoint. When the "new" primary for the view v + 1 receives 2⨍ valid view-change messages, multicasts a new-view message. 

In the message that is sent, it indicates: V: set of received and valid view-change messages. P: set of pre-prepared unprocessed messages. These messages are calculate as follows: From the last stable checkpoint, you get the sequence number of the last executed request. This value will correspond to the min-s. Take the largest sequence number of all prepared messages you have received. 

This value will correspond to the max-s. As a result, it generates as many pre-prepared messages as needed. Each node saves the log of the messages that are not inside a chekcpoint, so they don't need to be procesed again.

answered Jul 26, 2018 by ariaholic
• 7,340 points

Related Questions In Blockchain

0 votes
1 answer

What happens to Ether in a smart contract after selfdestruct?

selfdestruct takes one argument an address and then sends all ...READ MORE

answered Oct 3, 2018 in Blockchain by digger
• 26,550 points
31 views
0 votes
1 answer

What could be the best term to use for the collection of contracts in a .sol file?

module - don't think so. Because module ...READ MORE

answered Jun 1, 2018 in Blockchain by Shashank
• 10,350 points
34 views
0 votes
1 answer

Unable to change a state variable in a contract

I am assuming that the issue is ...READ MORE

answered Oct 29, 2018 in Blockchain by Christine
• 15,790 points
24 views
0 votes
1 answer
+1 vote
4 answers
0 votes
1 answer

How pbft is being used in blockchain?

PBFT can tolerate byzantine failures. For tolerating ...READ MORE

answered Apr 20, 2018 in Blockchain by Perry
• 17,020 points
79 views
0 votes
1 answer

Protocols used in a distributed/dlt system for the nodes to establish communication

yes all are over TCP/IP connections secured by TLS encryption in hashgraph architecture-hashgraph, ...READ MORE

answered Aug 6, 2018 in Blockchain by ariaholic
• 7,340 points
75 views