Algorand

Algorand is a blockchain-based cryptocurrency platform that aims to be secure, scalable, and decentralized.[1] The Algorand platform supports smart contract functionality,[2] and its consensus algorithm is based on proof-of-stake principles and a Byzantine Agreement protocol.[1][3][4] Algorand's native cryptocurrency is called Algo.[2]

Algorand
Algorand mark.svg
CodeALGO
Development
Original author(s)Silvio Micali
White paperhttps://arxiv.org/abs/1607.01341
Initial releaseApril 2019
Code repositoryhttps://github.com/algorand
Development statusActive
Written inGo
Developer(s)Algorand, Inc.
Websitehttps://www.algorand.com/
Ledger
Ledger startJune 2019
Block time4.5 sec
Block explorerhttps://algoexplorer.io/
Circulating supply6,131,888,224 Algo (as 05th Oct 2021)
Supply limit10,000,000,000 Algo

History and developmentEdit

The development of the Algorand platform is overseen by Algorand, Inc., a private corporation based in Boston. It was founded in 2017 by Silvio Micali, a professor at MIT.[5][6]

The Algorand test network was launched to the public in April 2019,[7] and the main network was launched in June 2019.[8]

DesignEdit

Consensus algorithmEdit

In the Algorand network, the consensus algorithm is permissionless, and all users who hold an Algo balance can participate. The consensus algorithm works in rounds, with each round made up of two phases. The first phase is the block proposal phase, during which blocks are proposed as the new block; the second phase is the block finalization phase, during which a vote on the proposed blocks is taken.[1]

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 done via a process called “cryptographic sortition.” In cryptographic sortition, there is not a central authority that designates who the members of the committee are and then communicates that information across the network; rather, each user determines whether they are on the committee or not 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.

Only a given user knows whether they are on the committee, unless/until they send a message to other users indicating that they are. The likelihood that a given user will be on the committee is influenced by the “stake” (i.e., the number of Algo tokens) held by that user, in proportion to the size of the user's stake.[1][3][4]

After determining that they are on the block selection committee, a user builds a proposed block and disseminates it to the network for review/analysis during the second phase. The user includes the cryptographic proof from the VRF in their proposed block, which demonstrates that the user was in fact an eligible committee member.[3][4]

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, cryptographic sortition as described above is again used to determine a committee; this second-phase voting committee will be different from the committee from the first phase, though it is possible that there could be overlap in membership between the two committees. When users have determined that they are in this second-phase voting committee, they analyze the proposed blocks they have received (this will include verifying that they were in fact proposed by users from the first-phase committee) and vote on whether any of the blocks should be adopted or not. If the voting committee achieves consensus on a new block, then the new block is disseminated across the network as the new block.[1][3][4]

The Algorand consensus algorithm possess the characteristic of “player replaceability”; i.e., as noted above, membership in the different committees (in both the block proposal and block finalization phase) 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 in a committee.[1]

Algorand is resilient against arbitrary partitions, also known as asynchronous safety. Two different blocks cannot reach consensus in the same round, i.e. it is mathematically guaranteed that Algorand will not fork.[9] The asynchronous safety has also been formally verified by Runtime Verification Inc. and compared to their previous verification models, the model also accounts for timing issues and adversary actions, e.g., when the adversary has control over message delivery.[10]

Smart contractsEdit

Algorand supports two types of smart contracts: stateless smart contracts and stateful smart contracts. Stateless smart contracts are intended for the purpose of authorizing transactions; stateful smart contracts store data persistently and can be used for broader purposes.[2]

Algorand smart contracts can be written in a programming language called Transaction Execution Approval Language (TEAL). TEAL is a bytecode-based stack language, with a programming interface for Python that is called PyTeal. While some smart contract programming models are Turing-complete (for example, Solidity is Turing-complete), the Algorand smart contracts model is not Turing-complete. The Algorand smart contracts model does support transaction atomicity.[2]

In some other blockchain systems, smart contracts are used to define user-defined assets; for example, in Ethereum, smart contracts implement the ERC20 and ERC721 interfaces to define new assets. In Algorand, in contrast, user-defined assets are supported natively, and Algorand smart contracts are able to manipulate user-defined assets (for example, by transferring ownership of given amounts of them) using built-in transaction types.[2]

Use casesEdit

In March 2021, the Società Italiana degli Autori ed Editori (SIAE), the Italian copyright collecting agency, uploaded over four million non-fungible tokens (NFTs) to the Algorand blockchain, representing copyrights in works produced by SIAE's members.[11]

In February 2021, Ditto Music announced the launch of a project on the Algorand network called Opulous; Opulous will be a decentralized finance (DeFi) loan pool, where loans will be guaranteed against artists’ past streaming revenues and artists’ copyrights will be held as collateral.[12]

In June 2020, Republic, a company that facilitates crowdfunding campaigns for startups and small-to-medium businesses (SMBs), issued a profit-sharing token on the Algorand platform.[13]

In February 2020, PlanetWatch, a spinoff of CERN, announced a program involving the deployment of a global network of air quality sensors, where the sensors record measurement data onto the Algorand blockchain.[14]

In 2020, two stablecoins, Tether and USD Coin (USDC), were launched on the Algorand network.[15][16]

ReferencesEdit

  1. ^ a b c d e f Lepore, Cristian; Ceria, Michela; Visconti, Andrea; Rao, Udai Pratap; Shah, Kaushal Arvindbhai; Zanolini, Luca (14 October 2020). "A Survey on Blockchain Consensus with a Performance Comparison of PoW, PoS and Pure PoS". Mathematics. 8 (10): 1782. doi:10.3390/math8101782.
  2. ^ a b c d e Bartoletti, Massimo (2020). "A formal model of Algorand smart contracts" (PDF). Financial Cryptography and Data Security 2021. arXiv:2009.12140.
  3. ^ a b c d Xiao, Y.; Zhang, N.; Lou, W.; Hou, Y. T. (28 January 2020). "A Survey of Distributed Consensus Protocols for Blockchain Networks". IEEE Communications Surveys and Tutorials. 22 (2): 1432–1465. arXiv:1904.04098. doi:10.1109/COMST.2020.2969706. ISSN 1553-877X. S2CID 102352657.
  4. ^ a b c d Wan, Shaohua; Li, Meijun; Liu, Gaoyang; Wang, Chen (2020-11-01). "Recent advances in consensus protocols for blockchain: a survey". Wireless Networks. 26 (8): 5579–5593. doi:10.1007/s11276-019-02195-0. ISSN 1572-8196. S2CID 213063001.
  5. ^ Zhao, Helen (2018-02-23). "Bitcoin and blockchain consume an exorbitant amount of energy. These engineers are trying to change that". CNBC. Retrieved 2021-04-03.
  6. ^ "MIT professor debuts high-speed blockchain payments platform Algorand". VentureBeat. 2018-02-15. Retrieved 2021-04-03.
  7. ^ "Algo VC Fund Raises $200M to Fast-Track Its Own Cryptocurrency". www.bizjournals.com. Retrieved 2021-04-03.
  8. ^ "Bahrain's Shariah Review Bureau Certifies Blockchain Firm Algorand As Shariah Compliant". Crowdfund Insider. 2019-10-23. Retrieved 2021-04-03.
  9. ^ Chen, Jing; Micali, Silvio (2019-07-19). "Algorand: A secure and efficient distributed ledger". Theoretical Computer Science. 777: 155–183. doi:10.1016/j.tcs.2019.02.001. ISSN 0304-3975.
  10. ^ Alturki, Musab A.; Chen, Jing; Luchangco, Victor; Moore, Brandon; Palmskog, Karl; Peña, Lucas; Roşu, Grigore (2020). "Towards a Verified Model of the Algorand Consensus Protocol in Coq". Formal Methods. FM 2019 International Workshops. Lecture Notes in Computer Science. 12232. pp. 362–367. arXiv:1907.05523. doi:10.1007/978-3-030-54994-7_27. ISBN 978-3-030-54993-0. S2CID 196471153.
  11. ^ "Il diritto d'autore diventa asset digitale su blockchain". Il Sole 24 ORE (in Italian). 29 March 2021. Retrieved 2021-04-03.
  12. ^ "Ditto launches Opulous platform to help artists access funding without the need for traditional banks". Music Business Worldwide. 2021-02-01. Retrieved 2021-04-03.
  13. ^ "Crypto Push by Republic Platform Sparked by New Token". Bloomberg.com. 2020-06-24. Retrieved 2021-04-03.
  14. ^ "Blockchain al servizio dell'ambiente: un registro pubblico di qualità dell'aria". Il Sole 24 ORE (in Italian). 11 February 2020. Retrieved 2021-04-03.
  15. ^ Castillo, Michael del. "Visa Partners With Ethereum Digital-Dollar Startup That Raised $271 Million". Forbes. Retrieved 2021-04-03.
  16. ^ Confidential, Crypto. "Stimulus Checks From A Crypto Exchange; Bitcoin Rebound". Forbes. Retrieved 2021-04-03.