How does XRP Ledger Consensus Protocol work?

There is a nice breakdown of XRP Ledger Consensus Protocol here:

https://xrpl.org/intro-to-consensus.html

1 Like

I read already five, maybe more, times what’s on xrpl.org about consensus. I stucked on transactions set voting. I get most of it, it’s just some details that I don’t understand and bothers me.

Q1. Lets say a node has an UNL with 5 other servers. During each voting round on candidate sets, will it compare with all servers from UNL? E.g. During 1st round when only 50% is required, will it compare with all 5 servers on the UNL? Or it might happen that in the 1st round it compares with first 2, and in second round with the last three.

Q2. After first round node sends proposal with the transactions that received 50% of votes. If candidate set of this node included transactions „A”, „B” and „C” and only A and B received 50%. Does this mean that node sends proposal with A and B and stops voting on C in the next round? Or how the voting affects candidate set (before final round)?

Q3. If 50% of servers from UNL vote on transaction „D”, will node add this new transaction to candidate set before the next round?

Basically I try to figure out how candidate set is affected after each voting round.

Thank you in advance.