History
Algorand was born in 2017 from the mind of Italian Silvio Micali, MIT professor and Turing Award winner.
In the same year Silvio, in collaboration with Steve Kokinos, founds Algo Capital and, already in the following 2018, more than $60 mln in funds are raised involving several investment companies.
In 2019, the Algorand team releases Algorand Vault, a blockchain compression technology that allows on the one hand a reduction in the cost of blockchain storage and on the other hand distribution via the network while maintaining a high level of security.
In 2020 Algorand is listed on Coinbase.
How it works
Algorand is a layer-1 protocol that is proposed as THE technology that can overcome the very famous blockchain trilemma, which states that a blockchain can offer at most two of the following properties:
- Security
- Scalability
- Decentralization
The three properties just mentioned are not independent variables from each other, but closely related, and Algorand’s value proposition is to have given birth to a Blockchain that claims to be able to provide all these three attributes simultaneously.
How is this made possible?
Through the use of several technologies underlying cryptography (Pseudo-Random Number Generation, Zero Knowledge Proofs, Verifiable Random Functions, Digital Signatures) and the fundamental introduction of a new consensus protocol, which goes by the name of PPoS, an acronym for “Pure Proof of Stake.”
The PPoS protocol is based on a “Decentralized Byzantine Agreement,” we refer to the following article in case you are not familiar with it, and is able to tolerate malicious users by achieving consensus without a central authority, as long as a qualified majority (2/3) of all the Algo’s result in non-disabled hands.
How does the protocol work?
This new consensus protocol does not rely on solving cryptographic puzzles, as in the case of Bitcoin, which require large computational resources.
In Algorand, any user who owns the Algo coin, which is Algorand’s cryptocurrency, can participate in the consensus protocol.
So there are no minimum thresholds, proxies or large investments required; we are looking at a fully inclusive situation: every single holder of the coin Algo can participate in block validation.
To participate, the spending key (with which transactions are approved) is not used, but a participation key must be generated and registered (we detail the process later).
With this participation key, it is then possible to participate in proposals and voting on new blocks to be added to the Algorand blockchain. But how does the process take place?
Consensus algorithm
If we wanted to use a metaphor, it is a kind of weighted lottery: it is as if each Algo in an account had its own ticket to participate.
It follows that the greater the amount of Algo in possession, the greater the chances that an account will be selected to participate.
This selection process is done secretly and randomly, without communication between users: each holder (Algo possessor) is selected randomly and secretly with a probabilistic weight proportional to the number of Algo held.
Thus no one knows who has been selected; one can only know whether one has been selected or not. Security is also enhanced by the fact that by the time those selected become public, they have already sent in their votes, and so it is now too late to bribe them. If we also add to this that the entirety of the process has a duration of less than 5 seconds, so every 5 seconds a new block is added to the Algorand blockchain, in terms of security we are looking at a particularly secure protocol.
Below is a more technical, but still simplified, detail of the process steps:
- New block proposal: accounts are selected to propose new blocks to the network. Each node, for each account it manages that is online and participating, performs VRF (“Verifiable Random Function,” see glossary for technical detail) to see if it has been selected to propose a new block. Once it is selected, each node propagates into the blockchain the proposed new block and the output of the VRF certifying that it has been selected. Each node in the blockchain receives this information.
- Soft vote: each node runs the VRF for each account it manages to see if it has been selected for the soft vote committee. Each chosen account filters the proposed blocks until it chooses one to vote for (thus avoiding chain bifurcations) and sends the voted block with the VRF proof to the network. Each node validates the VRF proof of the others. When a quorum is reached for the soft vote, the next step is taken.
- Certify vote: a new committee is selected to check the proposed block in the soft vote and is checked for overspending, double-spending or other problems. If the proposed block is found to be valid, the committee votes again to certify the block in a manner similar to the soft vote. Once a quorum is reached, the next step is taken.
- Registry update: Each node receives a certificate attesting to the validity of the newly created block and adds it to its blockchain registry.
- New round: a new round begins, starting again from the first step and so on ad infinitum.
We refer to the Pros and Cons section to check the impact of using the PPoS protocol on the 3 variables of the trilemma: Security, Scalability, and Decentralization.
Algorand network
The Algorand network consists of three main networks:
- MainNet: is the main chain, i.e., the network where the Algo and main assets are exchanged.
- TestNet: is the place where all applications that will be developed later in the MainNet are tested, to check their correctness a priori.
- BetaNet: is updated every week or so; it is used to update certain future features, such as at the consensus protocol level.
The Algorand network supports 2 types of nodes to be at the same time decentralized, yet fast:
- Relay nodes: serve as central network hubs and maintain connections with many other nodes. They have a network of connections with large bandwidth that allows efficient communication paths, reducing the number of hops in communication. They are able to do this by accumulating protocol messages from the partecipation nodes and the other relay nodes connected to them, doing deduplication, signature checks and other validation steps, and then re-propagating the valid messages. In addition, Relay nodes are often located at Internet exchange points to decrease propagation time.
- Participant nodes: are connected to far fewer nodes, many of which are relay nodes. They represent a stake address and have partecipation keys for proposing and voting blocks with the consensus algorithm.
Any user can register as one of two nodes.
Many organizations have decided to install Relay nodes and represent a wide range of geographic, technical, and political backgrounds.
These organizations include universities, non-profits oranizations, members of the crypto ecosystem, internet and financial providers.
For information on how to install a node, see here.
Algorand layers
Algorand’s architecture is presented as “dual layer,” meaning it provides a layer-1 and a layer-2 natively integrated on the Algorand chain.
Layer-1 provides for the execution of “basic” operations, such as transactions, which are the most important ones for carrying out on-chain activity and are also the least computationally and network load intensive.
Layer-2, on the contrary, is used to perform the most onerous transactions, which are first processed off-chain and for which only later is their final on-chain result reported including a certification of the validity of the latter.
Another feature offered by Algorand is the ability to create so-called “Co-Chains” by taking advantage of Algorand’s structure and architecture. Co-Chains are secondary chains with their own characteristics, which everyone can establish and customize in the design and development phase (e.g., private Co-Chains for companies/institutions).
Unlike other private chains on other networks, Algorand Co-Chains are highly interoperable with the entire Algorand world, thus both with other cochains, consistent with the rules of the Co-Chain in question, and with the main Algorand chain itself.
Algorand accounts
There are two types of Accounts in Algorand:
- “Offline” Accounts: these are the ones that hold Algo’s in the wallet , collect rewards, do not participate in the consensus protocol, but can make any transaction.
- “Online” Accounts: to participate in the PPoS consent protocol, it is not enough to hold one’s Algo’s in the wallet, but one must register Algo’s “online.” Upon registration, an account generates a participation key, i.e., the participation key mentioned above: this is needed because then one does not need to use one’s private chaive with which one usually frimes transactions and in this way one reduces the exposure of one’s account.
To generate the participation key you need to have a node; to have a node everyone can install it on their pc via the following link. Accessibility is ensured by the fact that it is’ possible to use a node that does not download the entire log, which is heavy in terms of storage space, but allows participation in the consensus protocol (non-relay node).
Rewards
In the case of Algorand, there are no rewards for those who participate in block validation.
- Participation reward: in fact, each Algorand account, whether “Online” or “Offline,” solely for being part of the ecosystem, is rewarded at the creation of each new block proportionally according to the number of Algo it holds.
The APY of the reward varies depending on the period (if we wanted to make an approximation we are talking about a reward in Algo equal to 5.6% per year):
- Governance reward: in addition to the ecosystem participation rewards, as of 01/10/2021 Algorand introduced Governance, which is a decentralized governance model in which the participating community, through voting, takes charge of decisions regarding the future of the entire Algorand ecosystem. All Algo owners can participate in Governance; we refer to the following lesson for more details.
Governance also involves a reward system that will depend on three factors:- Amount of Algo’s committed when signing up for a session;
- Total amounts of Algo’s committed;
- Total rewards.
The indicative amount of rewards is thus highly variable, but indicatively a Governor, i.e., one who participates in Governance, can get annualized rewards, derived solely from participation in Governance, between 6 percent and 24 percent of Algo’s committed for Governance.
If we add these rewards to the 5.6% of traditional participation rewards, we get an overall APY ranging between 12% and 30%.
Algo supply
The maximum number of existing Algo coins minted in the genesis block turns out to be 10 billion.
This fixed and unchanging amount over time was distributed according to the following scheme:
In detail we thus have:
- 3 billion to relay nodes (must have very powerful hardware features);
- 2.5 billion allocated to venture capitals, i.e., early investors, those who first backed and invested in Algorand;
- 1.75 billion as incentives for participation;
- 0.25 billion as support and incentives for the Algorand ecosystem;
- 2 billion is from the company Algorand inc;
- 0.5 billion is from the Algorand foundation.
Despite the different allocation not all Algo’s are already in circulation, some are “Blocked” awaiting release downstream of certain conditions, to give an example rewards for participation in the network or governance.
As can be seen from the chart below to date only a quantity of Algo’s are currently in circulation, while it has been determined that by 2030 all existing Algo’s will be released:
Smart Contracts
Algorand’s Smart Contracts (ASC1s) are lines of code saved in the immutable blockchain and executed automatically when certain terms are independently verified and validated. They eliminate the need for third-party validation.
Algorand has Smart Contracts:
- Stateful: they form the backbone for building dapp on Algorand’s blockchain. They provide access to the state of on-chain values and can be combined with other layer-1 features of Algorand to implement dynamic apps.
- Stateless: have no state. Used primarily to replace authority signing for transactions.
Algorand smart contracts, unlike traditional smart contracts, are layer-1, so they are all at the same level of the consensus protocol.
Smart contracts on Algorand are currently written in a programming language called TEAL, an acronym for “Transaction Execution Approval Language,” which has the distinction of being non-turing complete.
While the use of this language increases security, it is more limited in terms of the operations that can be made to perform on smart contracts and, above all, more complicated and burdensome in terms of programming.
In order to increase the level of adoption, Algorand is planning through an update to introduce several alternative programming languages, including complete turing to perform all possible operations, available to be used in addition to TEAL.
The following are some examples:
Other layer-1 features
- Asset tokenization: Algorand’s Standard Assets (ASAs) is a new way of representing assets on the Algorand blockchain. This includes fungible, non-fungible, restricted fungible and restricted non-fungible assets.
- Atomic Transfers: simultaneously transfer a number of assets across multiple parties instantly in a secure way without the need to rely on time-locked contracts.
- Rekeying: provides the flexibility for users and custody providers to change Private Spending Keys each time without changing the Public Address, giving the Public Address more permenence.