Algorand Features & Capabilities in Layer-1

SMART CONTRACTS & AVM

Algorand Virtual Machine (AVM) Fueling Simple, Even More Powerful Smart Contracts

The leading Smart Contract platform is enabled by the AVM environment to provide numerous possibilities for next-gen applications at scale, unlocking powerful use-cases

Algorand Virtual Machine (AVM) supports smart contracts with Turing-complete languages, larger program sizes, more state, has many new additional opcodes, and offers developers the ability to use functions, loops, and recursion. 

  • AVM runs on every node in the Algorand blockchain and contains a stack engine that executes smart contracts and smart signatures, enabling developers to easily take advantage of powerful functionality by writing smart contracts in either Python or Reach, a simple javascript-like language.
  • Smart Contracts contain logic that once deployed can be remotely called from any node on the Algorand blockchain. The contracts are called by issuing an “application call” transaction. The AVM evaluates the contract as part of resolving this transaction.
  • Smart Signatures contain logic that is used to sign transactions, primarily for signature delegation. The logic of the smart signature is submitted with the transaction.
  • Scalable, Fast & Secure execution that is not currently possible on legacy platforms. ASC1s operate at over 10,000TPS and are final in under 3.3 seconds on a platform to blockchain
  • Reduced risk with instant settlement through trustless execution
  • Low cost to execute with transactions that have the same fee as any other transaction on the Algorand blockchain at .001 Algos
  • Increased speed to market with comprehensive development resources and examples of different complex custom dApp for Smart Contracts - dApp to dApps (i.e. dApps for Voting, Stablecoins, Auctions, Crowdfunding)
  • Transaction Execution Approval Language (TEAL) can be thought of as syntactic sugar for AVM bytecode and full specification of the TEAL language is available in the developer documentation. In addition, a simple overview guide explains many of the features of the language. 

Most transactions today are based on traditional contractual agreements composed of paperwork, that often need trusted third parties to validate the fulfillment of terms; an outdated, slow method that is no longer cost-effective. Developers using blockchain, use smart contracts to automatically execute transactions using basic lines of code stored on the blockchain when agreement conditions are met. However, first-generation blockchains are typically slow, costly, and are unscalable for dApps and applications that need to solve real-world use-cases. 

Algorand is removing these impediments for viable mainstream adoption as the leading smart contract platform where sophisticated dApps are built on top of a fast, secure, scalable, and sustainable platform.

Algorand’s smart contracts act as a trusted, seamless solution with proven performance that is not only faster, scalable, and cost-effective but also functionally advanced to enable sophisticated and complex applications. Algorand’s Smart Contracts are trustless programs that execute on-chain, where users can be confident that the program was executed without error and the results were not tampered with. They are integrated into Algorand’s Layer-1, inheriting the same powerful speed, scale, finality, and security as the Algorand platform itself, and are error-free.  Smart Contracts are written in a language called Transaction Execution Approval Language (TEAL) as well as in Python using the PyTeal library, a python language binding.

Algorand’s Smart Contracts are further strengthened by Algorand’s Virtual Machine (AVM) that interprets TEAL programs comprised of a set of operation codes (opcodes) used to implement the logic of smart contracts and smart signatures. AVM is fueling the simple, and more powerful smart contracts by providing a complete and advanced feature set that is enabling the seamless creation and execution of transactions within a single powerful Smart Contract. AVM is improving smart contract development and ensuring developers have the functionality needed to create powerful dApps while making blockchain application development more accessible to the wider developer community.

In today’s economy, there is a range of existing transactions that rely on intermediaries to provide trust and execution, leading to unnecessary delays and costs to consumers. Examples include bond issuance, escrow account creation, loan payments & fee executions, limit orders, subscriptions, collateralized obligations, disbursements, programmatic fees, delegated high- security account management, interface with off-chain data providers, HELOC (Home Equity Line of Credit), decentralized exchanges, crowdfunding, voting and more.

Contract-to-Contract Calls for Expanded Smart Contract Functionality

With the recent release of Contract-to-Contract calls, a contract can simply call another one directly.   This allows complex dApps to be built that can efficiently and trustlessly interact with other smart contract based dApps to extend functionality and usability.  Additional information can be found here

ALGORAND STANDARD ASSETS

ASA in Layer-1

Algorand Standard Assets (ASA) provide a standardized, Layer-1 mechanism to represent any type of asset on the Algorand blockchain. These can include fungible, non fungible, restricted fungible and restricted non fungible assets.

In today’s economy, there remain many issues when it comes to the digitization of assets. These challenges include:

  • Access to global, digital markets
  • 24x7 transferability
  • Instantaneous settlement
  • Ease and enforceability of asset controls
  • Efficiency of administration, such as compliance and reporting

ASA’s Enable:
Role Based Asset Control (RBAC): Optional and flexible asset controls for issuers and managers for business, compliance, and regulatory requirements. This includes:

  • Quarantine asset accounts for investigative purposes
  • Force transfer an asset where legal or other regulations require it
  • Whitelist model for privileged asset transacting, which allows only specific addresses that have been approved to transact within a specific asset (all others will be restricted)
  • Flexible asset reserve models for custom business requirements
  • Off chain asset documentation included in on chain asset definition

User Protections: Asset spam protection that prevents unknown assets that may have tax, legal, or reputational risk from being sent to users without their explicit approval (users must opt-in to accept new assets).

Standarized blockchain asset with customizable options

UNIQUE FUNCTIONALITY

  • ASAs are incredibly fast and secure, as they are built directly into Algorand’s Layer-1
  • ASAs are low cost to execute, due to Algorand’s miniscule transaction fees
  • Easy and simple asset issuance for developers and enterprises
  • Universal interoperability of all assets issued on Algorand

MOST EXCITING USE CASES

  • Asset tokenization
  • 3rd party asset issuance on Algorand
  • Democratize access to investments
  • Disintermediate cross border transactions

Example Asset Types

Fungible Tokens
  • In Game Points
  • Stable Coins
  • Loyalty Points
  • System Credits
  • Cryptocurrencies
Non Fungible Tokens
  • In Game Items
  • Supply Chain
  • Real Estate
  • Identity
  • Certifications
  • Collectables
Restricted Fungible Tokens
  • Securities
  • Gov't Issued Fiat
  • Certifications
Restricted Non Fungible Tokens
  • Real Estate
  • Ownership Registries
  • Regulatory Certifications

ATOMIC TRANSFERS

In Layer-1

Secure transfers and immediate settlement for multiparty transactions in Layer-1

In a traditional economy, there exists a trusted or legal framework. On the blockchain, Atomic Transfers provide a trustless solution in Layer-1. Atomic Transfers offer a secure way to simultaneously transfer a number of assets among a number of parties. Specifically, many transactions are grouped together and either all transactions are executed or none of them are executed.

UNIQUE FUNCTIONALITY

  • Truly atomic, there is no need for escrow or reliance on hash time-locked contracts. This is a new way of technical execution of complex transfers that is smooth and fast
  • With Algorand’s minuscule transaction fees, Atomic Transfers are incredibly low cost to execute
  • Supports all Algorand assets (Algos and any Algorand Standard Asset) and allows for multi-party transfers.

MOST EXCITING USE CASES

  • Simplified and expedited debt settlement
  • Efficient matched funding
  • Decentralized exchanges, when combined with Algorand Standard Assets (ASA) and Algorand Smart Contracts (ASC1)
  • Instantaneous settlement of complex multi party / multi asset transactions
  • Any instance of a multilateral trade

REKEYING

In Layer-1

Public Address and Private Spending Key combos are used to protect accounts. Public Addresses are publicly known and used for identification of an account, where Private Spending Keys are for security purposes and used for authentication and encryption of the Public Address required to be able to send transactions from that account. Today, the Public Address and Private Spending Key combo can not be broken - they always come in distinct pairs.

The system of using keys in cryptography has existed since the beginning of blockchain. But it has become inefficient and not always secure. When a compromised Private Spending Key needs to be changed, an entirely new account with Public Address and Private Spending Key need to be opened - and assets moved from the old Public Address to the new. While this is effective, it is operationally onerous.  A user who regularly changes their Public Address and Private Spending key also creates downstream implications, with each time a user wants to initiate a transaction from a new public address, they must provide the new public address to others for identification purposes. This leads to interruptions of automated recurring transactions with peers or institutions and additional back office work for those institutions, peers, and vendors to keep track of the changing public address. 

Algorand Rekeying in Layer-1 solves these operational inefficiencies by allowing users to change their Private Spending key without the need to change their Public Address. Rekeying enables more flexibility, continuity, and less overhead with any changes of the Private Spending key. This is achieved by having:

  • Flexibility in their ability to change the Private Spending Key anytime without needing to change the Public Address
  • Continuity that provides the ability to continue using one's Public Address and keeping the assets in the same Public Address
  • Operational Efficiency to maintain existing Public Address as identifiers for other people and custody providers that continuously transact with that Public Address, lowering operational burdens

Empowering Governance and User Control

UNIQUE FUNCTIONALITY: 
Algorand’s Rekeying is unique because no other blockchain offers a way to change Private Spending Keys so easily, providing:

  • A fast and seamless way to preserve public address permanence
  • An innovative way to secure existing accounts with a new Private Spending Key with lower operational overhead to ensure transactions are done safely
  • An ability to change the security posture of an account by introducing a hardware wallet, multi-sig, or smart contract-based spending key to an address where they did not exist previously
  • Flexibility to maintain a single Public Address as desired and change the Private Spending Key at any time
  • Users to create (updateable) spending policies for their Public Address to enact automated, recurring transactions as a “set it and forget it” set-up 
  • Operational consistency and governance & control of an account by users and custody providers

MOST EXCITING USE CASES

  • Novation with the ability to reassign ownership of a contract; this is often done in a larger settlement context. With blockchain, accounts can now have ownership re-assigned in a trustless manner and in the context of atomic transfers/settlement
  • Custody Providers (That can be Banks, Exchanges, Savings associations, Registered broker-dealers, and Futures commission merchants) can benefit from Rekeying by:
  • Keeping their user’s spending keys cold at all times while only needing to manage one Public Address key
  • Eliminating the chain of old Public Address keys from having to move funds after using the spending keys.  Eliminate complex off-chain solutions created to maintain a single Public Address key but give more control over the Private Spending key
  • Enabling standardized key rotation schedules depending on security posture (i.e. a company can institute a monthly key rotation if desired)
  • Onboarding large user bases for projects that are moving to Algorand from other blockchains or more traditional technology, it can be challenging to get users set up in the new blockchain ensuring as little friction as possible is passed to them during the transition. Rekeying allows organizations to create and set-up accounts for their users ahead of time and trustlessly reassign them when needed  
  • Any high-security scenario in which the spending key must be kept cold, but a transaction is needed from the account