Algorand

Algorand
Denominations
SymbolALGO
Development
Original author(s)Silvio Micali
White paperhttps://arxiv.org/abs/1607.01341
https://eprint.iacr.org/2017/454
https://eprint.iacr.org/2018/377
Initial releaseApril 2019
Code repositoryhttps://github.com/algorand
Development statusActive
Written inPython, TypeScript (smart contract programming languages); Go (implementation language)
Developer(s)Algorand, Inc.
Ledger
Ledger startJune 2019
Supply limit10,000,000,000 ALGO[1]
Website
Websitealgorand.com

Algorand is a proof-of-stake blockchain and cryptocurrency.[2] Algorand's native cryptocurrency is called ALGO.

The SEC has filed several lawsuits[3][4][5][6] alleging ALGO is a security which is subject to regulation under U.S. securities laws, along with a few other crypto assets.

Algorand may also refer to the private corporation based in Boston,[7][8] as well as to the nonprofit Algorand Foundation Ltd., incorporated in Singapore.[9][10][11]

History

[edit]

Algorand was founded in 2017 by Silvio Micali, a computer scientist and professor at the Massachusetts Institute of Technology (MIT).[12][13]

Algorand's test network was launched to the public in April 2019.[14]

Following successful testing and refinements, the main Algorand network was officially launched in June 2019.[15] The protocol reached its fifth year in 2024.[16]

Governance

[edit]

Algorand Foundation Ltd. manages award funding, cryptographic research, on-chain governance, and decentralization of the Algorand network including nodes. The Algorand protocol specifications are maintained by the Algorand Foundation.[17] The development of the Algorand protocol reference implementation is overseen by Algorand Technologies.[7] The foundation is led by CEO Staci Warden.[18] The foundation also conducts developer programmes, accelerators and other activities in Africa[19] and India.[20]

Algorand Foundation Ltd. issues quarterly votes for the stakes of ALGO to vote on.[21] These proposals include implementation of DeFi.[22][23][24][25]

Design

[edit]

Algorand is a single-layer blockchain,[16] which can only be forked intentionally through soft forks and source code forks.[26][27]

Consensus algorithm

[edit]

Algorand uses a Byzantine agreement protocol that leverages proof of stake,[28][29][30] which contributes to its energy efficiency.[31][32] It is a competitor to blockchains such as Ethereum.[33] Researchers have found its protocol to be highly secure.[34]

Cryptographic sortition

[edit]

The core principle of Algorand consensus is the cryptographic "self" sortition. The sortition procedure runs locally and privately, on each node of the network participating in the consensus protocol, without a centralized coordination.[35] The goal of the sortition algorithm is randomly selecting a subset of users participating in the consensus protocol (committees) ensuring two properties: the sortition's result can be easily verified once it is published, while it can not be determined ahead of time by malicious adversaries. The number of selected users in the sortition (committee size) is defined as a statistical expectation on the outcome of a pseudo-random process. The likelihood that a given user will be selected (in the committee) is influenced by the number of ALGO tokens held by that user (the stake).[26][36][37]

Verifiable random function

[edit]

The cryptographic sortition implementation relies on the verifiable random function (VRF) cryptographic primitive. The VRF consists of two algorithms: generation and verification. When each user participating in the Algorand consensus protocol runs the VRF, the VRF acts on a safe public seed[38] (Q, system wide parameter, published in past blocks) to generate a uniform pseudo-random number (h), along with a proof (𝜋), using a user's secret key (of a public / secret key pair, Pk / Sk). The result can then be easily and publicly verified (as true or false) using the public seed (Q), the result (h), the proof (𝜋) and the user public key (Pk).

The consensus protocol requires users to generate the VRF key pairs before the safe public seed Q has been agreed, ensuring that the cryptographic sortition is robust with respect to brute force attacks (both on the safe public seed Q and users' secret keys Sk). The cryptographic sortition is also robust with respect to Sybil attacks (splitting users' ALGO tokens in multiple fake users gives no advantage in the sortition).

Consensus steps

[edit]

Consensus on Algorand requires three steps to propose, confirm, and write the block to the blockchain.[39] The steps are: block proposal, proposals filtering (soft vote) and committing the block (certify vote). Each step relies on an independent run of the cryptographic "self" sortition, to elect a voting committee with different sizes (statistical expectations on the sortition outcome) and voting thresholds.[40]

Block proposal

[edit]

In the first step the cryptographic sortition selects a subset of users (proposal committee) which assemble and propose a block for the next round of the protocol. At the end of the step there will be a few block proposals (the protocol is tuned with a statistical expectation of 20 proposals) with different random priorities. After determining if a user is on the proposal committee, that user can build a proposed block and gossip it to the network for review/analysis during the second phase. The user includes the result of the VRF (h) and cryptographic proof (𝜋) in their block proposal to demonstrate committee membership.[36][37][40]

Proposals filtering

[edit]

In the second step the nodes in the networks wait for an adaptive period of time (𝜆), measured by nodes' local clocks, to be sure that the block proposals gossiped in the previous steps have been observed.[40]

A new cryptographic sortition selects a subset of users (soft vote committee) to vote and reach a Byzantine Agreement (called "BA*") on the proposal with highest priority. When users have determined that they are in this second-phase voting committee, they analyze the block proposals they have received (including verification of first-phase committee membership) and vote on the highest priority one.[36][37][40]

Certify block (commit)

[edit]

Once a threshold of votes is reached in the previous proposals filtering step, the third and last step of the protocol begins. A new cryptographic sortition selects a subset of users (certify committee) to vote and reach a Byzantine Agreement on the content of the proposed block with respect to the state of the ledger (e.g. the block does not contain double spending, overspending or any other invalid state transition between accounts).[40]

If the certify committee achieves consensus on a new block, then the new block is disseminated across the network and appended to the ledger.[26][41][42]

Within the Algorand consensus protocol, membership in all the committees changes every time a new step 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.[20] 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.[43][40]

Recovery

[edit]

The Algorand consensus protocol privileges consistency over availability (CAP theorem).[44] If the network is unable to reach consensus over the next step (or block), within a certain time, the protocol enters in a recovery mode, suspending the block production to prevent forks (contrary to what would happen in blockchains based on the "longest-chain principle", such as Bitcoin). The recovery mode of the protocol ensures that the block production resumes immediately, with no need of reconciliations or reorganization, as soon as a Byzantine Agreement is reached again.[40]

Performance

[edit]

Algorand's block size is 5 MB. The Algorand network can facilitate 10,000 transactions per second, with less than 3 seconds of block time. Transactions are instantly final due to the Algorand Byzantine agreement protocol.[16]

Virtual machine

[edit]

The Algorand Virtual Machine (AVM) is the secure runtime environment for the execution of decentralized applications with instant finality.[45] The AVM is a bytecode-based Turing-complete stack interpreter, with a specific instruction set, that runs on every Algorand node and executes programs (Smart Contracts) associated with Algorand transactions. The AVM has two runtime modes: stateless (execution context based on transactions’ content and current block) and stateful (execution context extended to the ledger state, such as Smart Contract storage, etc.). The AVM reference implementation is written in Go. Algorand Smart Contracts can be written in high level languages, such as Python or TypeScript, via the AVM compiler, which complies them down to AVM bytecode.[46]

The AVM supports common arithmetic and logic operations, byte array manipulation and bitwise operations, cryptographic primitives, branches and flow control instructions, state access and manipulation. The AVM operates up to a 512-bit precision. Algorand Smart Contracts are updatable (optional, if enabled).[46]

Network

[edit]

An Algorand network is a distributed system of nodes, each maintaining a local state based on validating the blockchain and the transactions therein. Nodes are spread geographically, communicating with each other over the Internet. The integrity and the consistency of the global network state and distributed ledger is maintained by the consensus protocol. Algorand nodes communicate through message gossiping (broadcasting) either in peer-to-peer or via relay nodes (which facilitate efficient broadcasting with minimal message hops and low latency).[47]

Other features

[edit]

Algorand utilizes FALCON keys selected by NIST.[citation needed]

In 2024, Algorand Foundation launched an open-source standard for more secure communications between wallets.[48]

ALGO

[edit]

The unit of account of the Algorand protocol is the ALGO. The protocol's supply of ALGO is limited to 10 billion units. One ALGO is divisible to six decimal places, the smallest unit is called microALGO (𝜇ALGO), equal to 1/1,000,000 (one millionth) ALGO.[1]

Adoption

[edit]

Since 2019, Algorand has been a partner of World Chess.[49]

In 2021, Italia Olivicola, Italy's largest olive and olive oil producers' organization, partnered with Euranet to implement blockchain technology based on Algorand.[50] SIAE, the Italian Society of Authors and Publishers, also announced a project on copyright management using Algorand in the same year.[51]

In 2022, Algorand's blockchain was used by Robert Irwin and the Australia Zoo for a series of NFTs.[52][53]

In 2023, Italy's 'Fideiussioni Digitali' initiative to reduce fraud in bank and insurance guarantees, selected Algorand as its blockchain.[54]

In 2024, CNBC-TV18 reported that Algorand's blockchain was being tested for use in a digital identification to help women in India access public health programs.[55]

The Algorand blockchain had its first tokenized money market fund launch in June 2024.[56]

References

[edit]
  1. ^ a b Daly, Lyle (2022-05-16). "What is Algorand (ALGO)?". The Motley Fool. Retrieved 2024-10-20.
  2. ^ Gilad, Yossi; Hemo, Rotem; Micali, Silvio; Vlachos, Georgios; Zeldovich, Nickolai. "Algorand: Scaling Byzantine Agreements for Cryptocurrencies". SOSP '17: Proceedings of the 26th Symposium on Operating Systems Principles. Retrieved 2024-10-26.
  3. ^ "SEC complaint against Bittrex" (PDF). SEC.gov. Retrieved 2024-10-26.
  4. ^ "SEC complaint against Binance" (PDF). SEC.gov. Retrieved 2024-10-26.
  5. ^ "SEC complaint against Kraken" (PDF). SEC.gov. Retrieved 2024-10-26.
  6. ^ "SEC complaint against Cumberland" (PDF). SEC.gov. Retrieved 2024-10-26.
  7. ^ a b "Algorand LLC". Bloomberg.com. Retrieved 2024-10-20.
  8. ^ "Algorand, Inc". opencorporates.com. Retrieved 2023-05-29.
  9. ^ "Algorand Foundation Ltd". Bloomberg.com. Retrieved 2024-10-20.
  10. ^ "Personal Data and Privacy Policies". algorand.com. Retrieved 2023-05-29.
  11. ^ "Algorand Foundation Ltd. : OpenCorporates". opencorporates.com. Retrieved 2023-05-29.
  12. ^ 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.
  13. ^ "MIT professor debuts high-speed blockchain payments platform Algorand". VentureBeat. 2018-02-15. Retrieved 2021-04-03.
  14. ^ "Algo VC Fund Raises $200M to Fast-Track Its Own Cryptocurrency". www.bizjournals.com. Retrieved 2021-04-03.
  15. ^ "Bahrain's Shariah Review Bureau Certifies Blockchain Firm Algorand As Shariah Compliant". Crowdfund Insider. 2019-10-23. Retrieved 2021-04-03.
  16. ^ a b c Zubicoa, Francisca Domínguez (2024-08-28). ""La IA va a hacer famoso al 'blockchain"". Computerworld.es (in Spanish). Retrieved 2024-10-20.
  17. ^ "Algorand Foundation announces global winners for its $50M blockchain research and education programme". www.algorand.foundation. Retrieved 2022-09-28.
  18. ^ "Our Team". www.algorand.foundation. Retrieved 2023-05-29.
  19. ^ Abiodun, Alao (2024-08-30). "Taraba, Algorand empower youths with blockchain skills". The Nation Newspaper. Retrieved 2024-10-20.
  20. ^ a b Bhardwaj, Shashank (2024-02-20). "AlgoBharat And Telangana's T-Hub Introduce A Startup Lab Program For Web3 Startups". Forbes India. Retrieved 2024-10-20.
  21. ^ "Governance". www.algorand.foundation. Retrieved 2022-10-02.
  22. ^ "Community governance period4 voting measures". www.algorand.foundation. Retrieved 2022-10-02.
  23. ^ Morini, Massimo (2022-07-15). "Algorand Community Governance: Period 2 Review". Algorand Foundation. Retrieved 2022-10-02.
  24. ^ Morini, Massimo (2022-07-15). "Algorand Community Governance: Period 3 Review". Algorand Foundation. Retrieved 2022-10-02.
  25. ^ "Community governance period3 voting measure 1 DeFi Participants". www.algorand.foundation. Retrieved 2022-10-02.
  26. ^ a b c 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. hdl:2434/773710.
  27. ^ Arslanian, Henri (2022). "The Emergence of New Blockchains and Crypto-Assets". The Book of Crypto. Cham: Springer International Publishing. pp. 99–119. doi:10.1007/978-3-030-97951-5_4. ISBN 978-3-030-97950-8.
  28. ^ Bartoletti, Massimo (2020). "A formal model of Algorand smart contracts" (PDF). Financial Cryptography and Data Security 2021. arXiv:2009.12140.
  29. ^ 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.
  30. ^ 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.
  31. ^ Zhao, Helen (2018-02-23). "Bitcoin and blockchain consume an exorbitant amount of energy. These engineers are trying to change that". CNBC. Retrieved 2024-10-20.
  32. ^ Alzoubi, Yehia Ibrahim; Mishra, Alok (2023). "Green blockchain – A move towards sustainability". Journal of Cleaner Production. 430: 139541. Bibcode:2023JCPro.43039541A. doi:10.1016/j.jclepro.2023.139541. hdl:11250/3102853.
  33. ^ Sigalos, MacKenzie (2021-10-02). "Ethereum had a rough September. Here's why and how it's being fixed". CNBC. Retrieved 2024-10-20.
  34. ^ Blum, Erica; Leung, Derek; Loss, Julian; Katz, Jonathan; Rabin, Tal (2023-11-15). "Analyzing the Real-World Security of the Algorand Blockchain". Proceedings of the 2023 ACM SIGSAC Conference on Computer and Communications Security. ACM. pp. 830–844. doi:10.1145/3576915.3623167. hdl:1721.1/153140. ISBN 979-8-4007-0050-7.
  35. ^ Gilad, Yossi; Hemo, Rotem; Micali, Silvio; Vlachos, Georgios; Zeldovich, Nickolai (2017). "Algorand: Scaling Byzantine Agreements for Cryptocurrencies". Cryptology ePrint Archive. Retrieved 2024-10-21.
  36. ^ a b c 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.
  37. ^ a b c 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.
  38. ^ "specs/dev/abft.md at master · algorandfoundation/specs". GitHub. 2019-05-28. Retrieved 2024-10-20.
  39. ^ "Algorand consensus". Algorand Developer Portal.
  40. ^ a b c d e f g Chen, Jing; Gorbunov, Sergey; Micali, Silvio; Vlachos, Georgios (2018). "Algorand Agreement: Super Fast and Partition Resilient Byzantine Agreement". Cryptology ePrint Archive. Retrieved 2024-10-21.
  41. ^ 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.
  42. ^ 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.
  43. ^ 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. Vol. 12232. pp. 362–367. arXiv:1907.05523. doi:10.1007/978-3-030-54994-7_27. ISBN 978-3-030-54993-0. S2CID 196471153.
  44. ^ Lewis-Pye, Andrew; Roughgarden, Tim (2020-06-18). "Resource Pools and the CAP Theorem". arXiv:2006.10698 [cs.DC].
  45. ^ "specs/dev/TEAL.md at master · algorandfoundation/specs". GitHub. 2019-05-28. Retrieved 2024-10-21.
  46. ^ a b Wachtel, Jessica (2024-03-27). "AlgoKit". The New Stack. Retrieved 2024-10-20.
  47. ^ Lepore, Cristian; Ceria, Michela; Visconti, Andrea; Rao, Udai Pratap; Shah, Kaushal Arvindbhai; Zanolini, Luca (2020-10-14). "A Survey on Blockchain Consensus with a Performance Comparison of PoW, PoS and Pure PoS". Mathematics. 8 (10). MDPI AG: 1782. doi:10.3390/math8101782. hdl:2434/773710. ISSN 2227-7390.
  48. ^ "Algorand Debuts LiquidAuth for More Secure Crypto Communications". PYMNTS.com. 2024-06-26. Retrieved 2024-10-20.
  49. ^ "World Chess announces plans for 'hybrid IPO'". Financial Times. Retrieved 2024-10-20.
  50. ^ "Una blockchain avanzata per il settore olivicolo-oleario di ItaliaOlivicola". TeatroNaturale.It (in Italian). Retrieved 2024-10-20.
  51. ^ Monaco, Daniele (2021-03-25). "Anche Siae sperimenta gli Nft". Wired Italia (in Italian). Retrieved 2024-10-20.
  52. ^ "Robert Irwin announces Australia Zoo's first ever collectible NFT series". 7NEWS. 2022-06-12. Retrieved 2024-10-20.
  53. ^ Venz, Sophie (2022-08-16). "Australia Zoo uses carbon-negative blockchain technology to release NFT collection". SmartCompany. Retrieved 2024-10-20.
  54. ^ Hall, Ian (2023-01-04). "Public blockchain confirmed for Italian bank guarantees project". Fintech news for government and public sector professionals. Retrieved 2024-10-20.
  55. ^ "AlgoBharat & SEWA Partner to Launch Digital Health Passport for Informal Sector Women". CNBC-TV18. 2024-03-06. Retrieved 2024-10-20.
  56. ^ "First tokenised money market fund launched on Algorand". ThePaypers. 2024-06-27. Retrieved 2024-10-20.