August has been an eventful month for Algorand from both technical and business perspectives. Beta version of Algorand with the new features was launched and the larger community saw a rise in the pricing curve. In this blog, I will concentrate on the new features of stateful smart contracts, rekeying and fast catchup, introduced by Algorand to enable developers to build faster, secure, complex applications which are scalable, fast and remove the friction from the existing economic exchange system.
The most unique feature of this upgrade is Rekeying. With Rekeying, the security issue of private keys is dealt away with without any additional operational requirements. This allows Algorand account holders to maintain the same public key but at the same time change the authorized private key as desired. Rekeying is simple to be executed and flexible enough to be changed as frequently as required. Furthermore, rekeying can be used to convert an account to a multi-signature or a smart contract account
This feature has multiple use cases ranging from increasing account security to reassigning ownership of accounts as a part of the complex settlement and many others. Let’s go through an example to understand one of the use cases. Mario has an account on Algorand that he uses as a personal wallet which comprises a public address (with which it can be identified) and a private spending key (known only to Mario). To receive payments in ALGOs for his services, Mario shares his public address with the network and third parties. He uses the same address to make investments in token-based projects on Algorand.
Mario being a security-savvy user wants to keep his private keys secure as he is wary that his account may get compromised if he inadvertently shares his private key with someone (which he won’t but mistakes happen). The catch with this is, if he changes his private key, his public key also changes and he will have to go through the hassle of circulating the updated public key in his network. Mario wants to change his private key but wants to avoid making changes to his public key.
With Rekeying, Mario can simply issue a special transaction that registers a new private spending key as the authorization method for his existing public address. And just like that, he will enable high security on his account and at the same time conveniently maintain his public address identifier across his network. Furthermore, if he wanted, he could rekey his account to a multi-signature or to a smart contract account.
The example above clearly shows that Rekeying is a powerful protocol feature that enables an Algorand account holder to maintain a static public address while dynamically rotating the authoritative private spending key.
If a developer wants to run his node, he is required to sync up his node right up to the genesis block which can take hours if not days to send new transactions. This is not ideal for developers who just want to get on with it and start using the new protocol features with menial delays.
Fast Catchup is a new feature that rapidly updates a node using catchpoint snapshots, shortening the entire node sync to minutes rather than hours or days. A single command at startup is enough to start the fast catchup process, making it simple and secure enough to add transactions to the chain with verifiable trust. There is more than one way in which users can use fast catchup at their behest. By lowering the requirements for the development environment and participation in the consensus mechanism to a few minutes, fast catchup makes Algorand even more scalable.
Stateful Smart Contracts
The cost of executing smart contracts has quadrupled over the last month. Speed has drastically gone down as has been observed on the Ethereum network. It is due to the increase in the number of transactions from DeFi applications. The low speed and high cost is never a good sign for a high performing network. To combat a similar situation in the future without compromising speed (>1000TPS), security, scalability, finality, and transaction costs on the network (.001 Algo), Algorand has introduced Layer-1 Stateful Smart Contracts to break down barriers to adoption.
Algorand Smart Contracts can be written in either a stateless or stateful manner. The primary purpose of Stateless smart contracts' is to approve or reject spending transactions. Stateful contracts do not approve spending transactions but provide logic that allows the state of the contract to be manipulated. They are often used in conjunction with other features of Algorand such as Atomic Transfers and Algorand Standard Assets to create powerful applications. The prominent use cases with high transaction load where layer-1 stateful smart contracts will be useful are DeFi scenarios of lending, borrowing, investments, insurance, gaming, customized assets, and others.
Personal Insights and what lies ahead
The announcement of the new features of Stateful Smart Contracts, Rekeying, and Fast Catchup on the Algorand protocol is exciting. Algorand is breaking down barriers for developers to build applications and send transactions on the Algorand blockchain. Developers will avail of a protocol with high speed, low cost, security, and scalability features in an easy to set up and use environment.
And that's not all, with features such as cross-chain communication, token bridges, higher transaction speed, etc. in the pipeline; Algorand is on the right track to attract more developers and enterprises alike to build on the Algorand blockchain.