A blockchain is permissionless if anyone is able to join. Algorand is a permissionless blockchain that requires minimal computational power to join. All users who possess Algos, and are online, are automatically eligible to participate in block consensus.
A blockchain is permissioned if joining and participating require proper authorization.
In proof-of-work users must solve complex cryptographic puzzles in order to propose new blocks. The first user to solve his puzzle has the right to add a block to the blockchain and earn a monetary reward. This process is very expensive and results in de facto centralization. For example, Bitcoin's blockchain is controlled by just three mining pools.
There have been numerous efforts by blockchain projects to achieve distributed consensus, but Algorand is a firm believer in our unique PPoS (pure proof-of-stake) approach. Here is an overview of the most common proof-of-stake approaches and their differences:
Bonded proof-of-stake: A security deposit-based economic consensus protocol in which nodes, or bonded validators, have to place a security deposit in order to serve the consensus by producing blocks. Once the deposit is in place, it cannot be removed until a specified amount of time has passed. In many cases, the deposit can be subject to penalties called “slashing” should the network detect malicious behavior of that node.
Delegated proof-of-stake: A system in which a fixed number of elected entities (called block producers or witnesses) are selected to create blocks in a round-robin order. Block producers are voted into power by the users of the network, who each get a number of votes proportional to the number of tokens they own on the network (their stake). Alternatively, voters can choose to delegate their stake to another voter, who will vote in the block producer election on their behalf.
Pure proof-of-stake™: A design implementation that defines how people can participate in a decentralized network while preventing forged identities at the same time. It is a mechanism that when combined with a Byzantine agreement protocol creates a way for a large group of people to achieve consensus—or, a single, verifiable source of truth. Pure proof-of-stake means that for anyone wanting to participate in the Algorand network, they can signal that intent by flagging an account with algos as a participant (like flipping on a light switch). The likelihood of users being selected will be determined by the amount of algos they have in their account relative to all other accounts who have also signalled their intent to participate. “Pure” means they are free to come and go as they please as their algos are not locked up or “bonded” for any period of time as in other proof-of-stake systems. Any user can turn off the light switch at any time with no penalty or fear of losing their stake.
Forking occurs when a blockchain splits in two or more separate branches. Eventually only one branch will survive. In the interim a fork causes significant uncertainty. If a payment made to you appears in only one of the branches you do not know if you have been paid or not, because your payment may end up in a non-surviving branch.
Hard fork: A permanent split of the blockchain into two incompatible versions. Such a fork occurs when a change is made to the underlying protocol, such as increasing the block size. A hard fork can be thought of as a software upgrade that is not compatible with previous versions of the software. All network participants are required to upgrade to the latest version of the software in order to continue verifying and validating new blocks of transactions. Blocks that are confirmed by nodes that are not yet upgraded to the latest version of the protocol will be invalid. In the event of a hard fork in proof-of-work protocols (e.g., Bitcoin), if there is still mining support for the minority chain, then two blockchains can continue to exist simultaneously. Hard forks can either be planned or contentious. A contentious hard fork occurs when there is severe disagreement between various stakeholders in the project. Contentious hard forks normally take place because one portion of the community believes that major changes in a cryptocurrency code will produce a superior blockchain.
Temporary fork: A non-permanent split of the blockchain. Such a fork in proof-of-work protocols (e.g., Bitcoin) when two users solve the crypto puzzle necessary to add a new block within a few seconds of one another.Temporary forks are resolved when one of the existing branches becomes sufficiently longer than the others.The longest chain is viewed as being the ‘true’ blockchain. Any other chain will be abandoned.
Soft fork: A permanent split of the blockchain into two compatible versions. Such a fork may occur, for instance, when a subset of the users decides to decrease block size.
For us, decentralization means not to have to trust a centralized entity as the single source of truth in the network. The responsibility to run and maintain the network falls to ordinary users.
The borderless economy allows anything of value to be traded between two or more parties, wherever they may be, without the friction of current financial networks.
An account is offline if it does not participate in the consensus protocol, and is online otherwise.Either account can always transact. Any offline account can choose to become online (and vice versa) by posting a special transaction on the blockchain.
A static adversary is an adversary that controls a fixed group of users, chosen before the protocol execution begins.
A dynamic adversary is a more powerful adversary, who may dynamically corrupt users at any moment during the protocol execution. For instance, the adversary may corrupt a user after it sends a message (e.g., digital signature on a block) over the network.
A network adversary is an adversary that can control the communication network used by the users to execute a protocol. For instance, such an adversary may drop or delay messages by the users.
The Algorand protocol is resilient to static, dynamic, and network adversaries.
An atomic swap enables two parties to exchange different cryptocurrencies/tokens without the risk of one party defaulting on the trade. Traditional atomic swaps are implemented via multiple steps (using both time- and hash-locks) and require substantial time to be completed. Algorand is pioneering atomic² swaps. Such swaps enable two users of the Algorand’s chain/sub-chains to simply exchange money and/or different assets by means of a single transaction (without any locks).
A smart contract is a self-executing contract with the terms of the agreement between parties directly written into lines of code. The code and the agreements exist across a distributed, decentralized blockchain network. Smart contracts permit trusted transactions and agreements to be carried out among disparate, anonymous parties without the need for a trusted third party. Many existing smart contract platforms are both inefficient and insecure.
Algorand is developing smart² contracts™. Such contracts are more scalable and secure form of a smart contract.
BLS is a digital signature scheme introduced by Boneh-Lynn-Shacham in 2001. A digital signature scheme is essentially a mathematical setup to prove that a message has been authenticated by the sending party. BLS relies on pairing-friendly curves, supports non-interactive aggregation properties, and reduces bandwidth and storage requirements for blockchains—essential for scalability.
A Byzantine Agreement is a communication protocol that allows the users of a distributed system to reach consensus in the presence of malicious actors.
Algorand’s Byzantine Agreement is uniquely efficient thanks to its novel use of Verifiable Random Functions (VRFs).
Cryptographic sortition is an innovation of Algorand. It allows a set of users to secretly select themselves to participate in Algorand’s consensus protocol, without them being known to anyone else—including potential adversaries.
For information on Algorand’s token dynamics and auctions, please visit algorand.foundation.
The Algorand network has two types of nodes to simultaneously optimize decentralization and high transaction throughput.
Relay nodes allow for highly efficient communication paths.
Participation nodes propose and vote on blocks.
Vault™ is a blockchain compression technology developed by the Algorand team that minimizes storage and bootstrapping costs. For more information, check out this blog post.
VRF stands for Verifiable Random Function, a cryptographic primitive, introduced by Silvio Micali, Michael Rabin, and Salil Vadhan, that maps inputs to verifiable pseudorandom outputs. Algorand uses VRFs to perform secret cryptographic sortition to select committees to run the consensus protocol.
An innovation pioneered by Algorand, other blockchain projects now use this concept.
For more information, check out this blog post.
A Zero Knowledge Proof is a protocol, introduced by Silvio Micali, Shafi Goldwasser, and Charles Rackoff, that enables one party to prove to another party the validity of a statement without revealing any information about why the statement is valid. For instance, a party can prove that it knows a solution to a hard mathematical problem, without revealing the solution itself.
A protocol is user-replaceable if each of its steps can be successfully executed by a randomly selected subset of users. Traditional protocols are not user replaceable, because they require the same set of users to execute all steps. User-replaceable protocols are truly decentralized, and therefore make Algorand extremely secure against adversaries. User replaceability is a property of a protocol that can be successfully executed by randomly selecting the committee members of each round instead of requiring a single committee to execute all rounds. Player-replaceable protocols are truly decentralized, and therefore make Algorand extremely secure against adversaries.
If you are new to blockchain, be sure to check out our Blockchain 101 section here. Below are a few helpful terms.
Block: A record of transactions on a blockchain—similar to a page in a ledger or a page in a newspaper.
User: A blockchain participant (sometimes referred to as a player or an account).
Consensus: Multiple parties coming to agreement on the state of a network.
Transaction finality: The period of time when a transaction on a blockchain network is written into a block, and can be considered final and irreversible—usually measured in an amount of blocks (e.g., Bitcoin = ~10 blocks, Algorand = 1 block).