Currency Name: | Algorand |
Image 1: | Algorand mark.svg |
Ticker Symbol: | ALGO |
Symbol: | ALGO |
White Paper: | https://arxiv.org/abs/1607.01341 |
Initial Release Date: | April 2019 |
Code Repository: | https://github.com/algorand |
Status: | Active |
Author: | Silvio Micali |
Developer: | Algorand, Inc. |
Ledger Start: | June 2019 |
Supply Limit: | 10,000,000,000 Algo |
Algorand is a proof-of-stake blockchain and cryptocurrency. Algorand's native cryptocurrency is called ALGO.
Algorand is a blockchain platform founded in 2017 by Silvio Micali, a computer scientist and professor at the Massachusetts Institute of Technology (MIT).[1] [2]
Algorand's test network was launched to the public in April 2019.[3] Following successful testing and refinements, the main Algorand network was officially launched in June 2019.[4]
As with other proof of stake blockchains, Algorand uses significantly less energy consumption per transaction than proof of work blockchains such as bitcoin.
Algorand is composed of the company Algorand, a private corporation based in Boston,[5] and the nonprofit Algorand Foundation Ltd., incorporated in Singapore.[6] [7]
Algorand Foundation Ltd. manages award funding, cryptographic research, on-chain governance, and decentralization of the Algorand network including nodes.[8] The core development of the Algorand protocol is overseen by Algorand Inc..
Algorand Foundation Ltd. is led by CEO Staci Warden.[9]
Algorand Foundation Ltd. issues quarterly votes for the stakes of ALGO to vote on.[10] These proposals include implementation of DeFi.[11] [12] [13] [14]
Algorand claims to solve the "blockchain trilemma": the claim that any blockchain system can have at most two of three desirable properties: decentralization, scalability, and security. A system with all three could run on nodes that each have only moderate consumer-grade resources (i.e., does not need a data center or large cluster of virtual machines), has transaction processing which scales with the total network resources (rather than the resources available per-node), and could not be subverted by attackers who individually possess a large fraction of the network's total resources.[15]
Algorand uses a Byzantine agreement protocol that leverages proof of stake.[16] [17] [18] As long as a supermajority of the stake is in non-malicious hands, the protocol can tolerate malicious users, achieving consensus without a central authority.
Consensus on Algorand requires three steps to propose, confirm, and write the block to the blockchain.[19] The steps are proposed soft vote and certified vote.
The first phase (the block proposal phase) uses proof of stake principles. During this phase, a committee of users in the system is selected randomly, though in a manner that is weighted, to propose the new block. The selection of the committee is made via a process called "cryptographic sortition", where each user determines whether they are on the committee by locally executing a Verifiable random function (VRF). If the VRF indicates that the user is chosen, the VRF returns a cryptographic proof that can be used to verify that the user is on the committee. The likelihood that a given user will be on the committee is influenced by the number of ALGO tokens held by that user (the stake).[20] [21]
After determining a user is on the block selection committee, that user can build a proposed block and disseminate it to the network for review/analysis during the second phase. The user includes the cryptographic proof from the VRF in their proposed block to demonstrate committee membership.[20] [21]
In the second phase (the block finalization phase), a Byzantine Agreement protocol (called "BA*") is used to vote on the proposed blocks. In this second phase, a new committee is formed via cryptographic sortition. When users have determined that they are in this second-phase voting committee, they analyze the proposed blocks they have received (including verification of first-phase committee membership) and vote on whether any of the blocks should be adopted. If the voting committee achieves consensus on a new block, then the new block is disseminated across the network.[22] [23]
Within the Algorand consensus algorithm, membership in both committees changes every time the phase is run. This protects users against targeted attacks, as an attacker will not know in advance which users are going to be on a committee. Two different Algorand blocks must reach consensus in a different round.[24] [25] According to an external security audit, the model also accounts for timing issues and adversary actions, e.g., when the adversary has control over message delivery.[26]