How It WorksScales to billions of users.

Algorand scales because it generates a new block in two phases,
each of which scales perfectly.

Phase 1: A user is randomly selected and proposes a new block.

A random user (i.e., public key) 𝓁 is randomly selected among all current users, with probability proportional to the amount of money she owns in the system. All Algorand users learn that 𝓁 is the selected user. The role of 𝓁 is to choose a new block B from all valid transactions that are not yet in the blockchain. If she is honest, she digitally signs and propagates the same chosen block B to the network.

Phase 1 scales because each user plays her own secure lottery to check whether she has been selected to produce the new block. This internal cryptographic lottery is super-fast and independent of how many users there are in the network. The user 𝓁 who wins the lottery automatically gets a short, unforgeable proof that she has been selected. Thus, by propagating this short proof, 𝓁 makes it clear to the entire network that she is in charge to propose the new block.

Phase 2: A small group of users are randomly selected to verify and agree on the block.

A random set of 𝑘 verifiers is randomly selected among all users, proportionally to the amount of money that each of them owns in the system. All users learn who the verifiers of the new block are. The role of these verifiers is to agree on the block proposed by 𝓁. The new block is the one digitally signed by at least 𝑡 of the verifiers.

Again, the verifiers select themselves by individually playing an internal and secure lottery, that is both super-fast and independent of the total number of users in the network.

In addition, the values 𝑘 and 𝓁 are fixed, no matter what the numbers of users may be. Thus, the agreement protocol that the verifiers execute, not only is itself super-fast too, but also independent of the total number of users in the network.

In sum, in Algorand, a new block is generated essentially as fast as it can be propagated through the network.