In the paper “Algorand: A Secure and Efficient Distributed Ledger”, algorand network nodes form a committee based on the VRF execution results.
Then, a leader node is selected from the created committee, and a block is added after the leader node creates and verifies a block.
In this process, how are leader nodes selected?
And, the block created by the leader node needs to be propagated to other committee nodes, so how do I know the leader node?
Welcome to Algorand!
First step: a few block proposers are selected via the VRF.
Concretely, if their VRF value is lower than a threshold, then they are selected.
Second step (soft vote): Then a single block proposer is selected by the second committee. Concretely, the second committee members vote for the block proposer they see with the lowest VRF value.
Third step (cert vote): Assuming enough of the second committee voted for the same block proposer, then there is a certification vote certifying the block and adding it to the blockchain.
See https://www.algorand.com/technology/protocol-overview for some more details.
All blocks proposed by block proposers in the first step and all votes in the other steps are “gossiped” / propagated to all the nodes.