First of all it's really boring. Actually ALGO has like 5 very lengthy white papers. I have read and abstracted their original white paper which was 75 pages, front and back!
1 Introduction
Algorand is a truly democratic and efficient way to implement a public ledger. Unlike prior implementations based on proof of work, it requires a negligible amount of computation, and generates a transaction history that will not “fork” with overwhelmingly high probability.
Algorand is based on (a novel and super-fast) message-passing Byzantine agreement.
Currently, ledgers can be inefficient to manage. For example, Bitcoin’s proof-of-work approach requires a vast amount of computation, is wasteful and scales poorly. In addition, it concentrates power in very few hands.
We call our approach Algorand, because we use algorithmic randomness to select, based on the ledger constructed so far, a set of verifiers who are in charge of constructing the next block of valid transactions.
Algorand’s approach is quite democratic, in the sense that it does not create different classes of users (as “miners” and “ordinary users” in Bitcoin). In Algorand “all power resides with the set of all users”.
One notable property of Algorand is that its transaction history may fork only with very small probability (e.g., one in a trillion). Algorand can also address some legal and political concerns.
2 Bitcoin’s Assumption and Technical Problems
Bitcoin assumes that no malicious entity (nor a coalition of coordinated malicious entities) controls the majority of the computational power devoted to block generation. Such an entity, in fact, would be able to modify the blockchain, and thus re-write the payment history, as it pleases.
Computational Waste: Bitcoin’s proof-of-work approach to block generation requires an extraordinary amount of computation.
Concentration of Power: Only using pools of specially built computers, one might expect to make a profit by generating new blocks. Accordingly, today there are, two disjoint classes of users: ordinary users, who only make payments, and specialized mining pools, that only search for new blocks.
Ambiguity: In Bitcoin, the blockchain is not necessarily unique. Indeed, its latest portion often forks. Only after several blocks have been added to the chain, can one be reasonably sure that the first blocks will be the same for all users. Thus, one cannot rely right away on the payments contained in the last block of the chain.
3 Algorand, in a Nutshell
Permissionless and Permissioned Environments. Algorand works efficiently and securely even in a totally permissionless environment, where arbitrarily many users are allowed to join the system at any time, without any vetting or permission of any kind.
Very Adversarial Environments. Algorand withstands a very powerful Adversary, who can:
(1) instantaneously corrupt any user he wants,
(2) totally control and perfectly coordinate all corrupted users; and
(3) schedule the delivery of all messages, provided that each message m sent by an honest user reaches 95% of the honest users within a time λm, which solely depends on the size of m.
Main Properties:
Despite the presence of our powerful adversary, in Algorand:
• The amount of computation required is minimal. Essentially, no matter how many users are present in the system, each of fifteen hundred users must perform at most a few seconds of computation.
• A New Block is Generated in less than 10 minutes, and will de facto never leave the blockchain.
• All power resides with the users themselves. Algorand is a truy distributed system. In particular, there are no exogenous entities (as the “miners” in Bitcoin), who can control which transactions are recognized.
Algorand’s Techniques:
A New and Fast Byzantine Agreement Protocol. Algorand generates a new block via a new cryptographic, message-passing, binary Byzantine agreement (BA) protocol, BA⋆. its binary-input version consists of a 3-step loop, in which a player i sends a single message mi to all other players. Executed in a complete and synchronous network, with more than 2/3 of the players being honest, with probability > 1/3, after each loop the protocol ends in agreement. Algorand leverages this binary BA protocol to reach agreement, in our different communication model, on each new block. The agreed upon block is then certified, via a prescribed number of digital signature of the proper verifiers, and propagated through the network.
Cryptographic Sortition. Although very fast, protocol BA⋆ would benefit from further speed when played by millions of users. Accordingly, Algorand chooses the players of BA⋆ to be a much smaller subset of the set of all users. To avoid a different kind of concentration-of-power problem, each new block Br will be constructed and agreed upon, via a new execution of BA⋆, by a separate set of selected verifiers, SVr. In principle, selecting such a set might be as hard as selecting Br directly. We traverse this potential problem by an approach that we term, embracing the insightful suggestion of Maurice Herlihy, cryptographic sortition. Sortition is the practice of selecting officials at random from a large set of eligible individuals.
The Quantity (Seed). We use the last block in the blockchain in order to automatically determine the next verifier set and leader in charge of constructing the new block.
4. Secret Crytographic Sortition and Secret Credentials. When a user privately realizes that he is the leader for the next block, first he secretly assembles his own proposed new block, and then disseminates it (so that can be certified) together with his own credential. This way, though the Adversary will immediately realize who the leader of the next block is, and although he can corrupt him right away, it will be too late for the Adversary to influence the choice of a new block. Indeed, he cannot “call back” the leader’s message no more than a powerful government can put back into the bottle a message virally spread by WikiLeaks.
- Player Replaceability. After he proposes a new block, the leader might as well “die” (or be corrupted by the Adversary), because his job is done.
An Additional Property/Technique: Lazy Honesty A honest user follows his prescribed instructions, which include being online and run the protocol. Since, Algorand has only modest computation and communication requirement, being online and running the protocol “in the background” is not a major sacrifice. Of course, a few “absences” among honest players, as those due to sudden loss of connectivity or the need of rebooting, are automatically tolerated (because we can always consider such few players to be temporarily malicious). Let us point out, however, that Algorand can be simply adapted so as to work in a new model, in which honest users to be offline most of the time.
“Lazy Honesty” Roughly speaking, a user i is lazy-but-honest if (1) he follows all his prescribed instructions, when he is asked to participate to the protocol, and (2) he is asked to participate to the protocol only rarely, and with a suitable advance notice.
Our approach could be considered related to proof of stake, in the sense that users’ “power” in block building is proportional to the money they own in the system.
[link] [comments]
You can get bonuses upto $100 FREE BONUS when you:
💰 Install these recommended apps:
💲 SocialGood - 100% Crypto Back on Everyday Shopping
💲 xPortal - The DeFi For The Next Billion
💲 CryptoTab Browser - Lightweight, fast, and ready to mine!
💰 Register on these recommended exchanges:
🟡 Binance🟡 Bitfinex🟡 Bitmart🟡 Bittrex🟡 Bitget
🟡 CoinEx🟡 Crypto.com🟡 Gate.io🟡 Huobi🟡 Kucoin.
Comments