With core beliefs in the establishment of an open and permissionless blockchain, the Algorand team has a vision for an inclusive ecosystem that provides an opportunity for everyone to harness the potential of an equitable and truly borderless economy.
- Pure Proof-of-Stake: Algorand uses a pure proof-of-stake (PPoS) consensus protocol built on Byzantine agreement whereby the users’ influence on the choice of a new block is proportional to their stake in the system (number of Algos).
- Immediate Transaction Finality: Algorand blockchain does not fork as only one block can have the required threshold of signatures in order to be certified in a given round.
- Self-Selection: All users are randomly, secretly, and continuously selected to participate in the Algorand consensus protocol - neither a few delegated users nor a fixed committee is responsible for proposing blocks in Algorand.
- User Replaceability: Participants change every round of block selection in order to protect the network against attackers - for each round, every set of participants is random and independent of earlier participants.
WHAT IS ALGORAND?
Algorand (or the "Project") is dedicated to fulfilling the global promise of blockchain technology by leveraging the Algorand protocol and open source software.
Project Value Proposition
- Decentralization: The Algorand blockchain is entirely decentralized, and there is no powerful central authority or single point of control. A unique committee of users is randomly and secretly selected to approve every block. Nodes are run by entities representing diverse backgrounds across many different countries.
- Permissionless: The network is public and open to all. Users do not need the approval of a trusted authority to use the Algorand blockchain. There is a single class of users and no gatekeepers. Every participant can read every block and have the opportunity to write a transaction in a future block. The Algorand platform also requires minimal processing power and modest IT resources to join. All online users who possess algos are automatically eligible to participate in block consensus.
BLOCKCHAIN & NETWORK DATA
Algorand blockchain uses a decentralized Byzantine agreement protocol that uses pure proof of stake (PPOS) with high throughput, fast time to finality, and high security. Consensus requires three steps to propose, confirm and write the block to the blockchain. These steps are: 1. propose, 2. soft vote and 3. certify vote. Each is described below, assuming the ideal case when there are no malicious nodes and the network is not partitioned (i.e. none of the network is down due to technical issues or from DOS attacks). Note that all messages are cryptographically signed and authenticated with the VRF in these steps.
In the block proposal phase, accounts are selected to propose new blocks to the network. This phase starts with every node in the network looping through each of the accounts that it manages, and for each account that is online and participating, running Algorand’s VRF to determine if the account is selected to propose the block. The VRF acts similar to a weighted lottery where the number of Algos that the account has participating online affects the account’s chance of being selected. Once an account is selected by the VRF, the node propagates the proposed block along with the VRF output, which proves that the account is a valid proposer. Algorand then moves from the propose step to the soft vote step.
The purpose of this phase is to filter the number of proposals down to one, guaranteeing that only one Block gets certified. Each node in the network will get many proposal messages from other nodes. Each node will validate the VRF proof of these messages.
A new committee checks the block proposal that was voted on in the Soft Vote stage for overspending, double-spending, or any other problems. If valid, the new committee votes again to certify the block.
Verifiable Random Function
Every block in Algorand reveals a new random and unpredictable selection seed that determines which users should participate in the next round of the consensus protocol. When a new block gets committed to the blockchain, everyone becomes aware of this seed (and everyone sees the same seed). A user secretly checks whether they were selected to participate by evaluating a Verifiable Random Function (VRF) with their secret participation key and the selection seed. This computation is minimal, so even a limited device such as a Raspberry Pi can do it. The VRF computation produces a pseudorandom output with a cryptographic proof that anyone can use to verify the result. By sending this proof, a user can prove to anyone that they were indeed selected to participate.
In Algorand, every online user who possesses algos can participate in the consensus protocol. To reduce exposure, users do not use their spending keys (i.e., the keys they use to spend stake) for consensus. Instead, a user who wishes to participate in the protocol generates and registers a participation key. With this key, an account can participate in proposing and voting on blocks. Using participation keys ensures that a user's algos are secure even if their participating node is compromised.
In an ongoing series of extended performance tests with 10,000 globally distributed participants and a uniform distribution of stake, the network consistently reached over 1,000 transactions per second (tps) with sub 5 second latency. It’s important to note that uniform stake distribution is more difficult than what is seen in the real world and is the hardest stake distribution scenario for any proof-of-stake protocol to manage. Due the the efficiency of the network, the minimum transaction fee is 0.001 Algos.